從 mPaaS 10.2.3.4 起,mPaaS 增加了對 targetSdkVersion 31 的支援。如果您的應用需要將 targetSdkVersion 升級到 31,請 使用 mPaaS 外掛程式 將 SDK 更新到 10.2.3.4 或以上版本,並按照下文進行適配和迴歸相關功能。
適配 targetSdkVersion 31
前置條件
已完成對 targetSdkVersion 28、29、30 的適配。更多資訊,請參見 mPaaS 適配 targetSdkVersion 28、mPaaS 適配 targetSdkVersion 29、mPaaS 適配 targetSdkVersion 30。
已參考 mPaaS 10.2.3 升級指南 完成對 10.2.3 基準的適配。
修改 targetSdkVersion
原生 AAR 接入方式
在工程主 module 下的 build.gradle
檔案中修改屬性 targetSdkVersion 31。
Portal&Bundle 接入方式
在 Portal 工程主 module 下的
build.gradle
檔案中修改屬性 targetSdkVersion 31。在 Bundle 工程中的 targetSdkVersion 可不修改,但不得高於 Portal 工程。
更安全的組件匯出
targetSdkVersion 31 的應用需要為包含 intent-filter
的 Activity、Service、BroadcastReceiver 顯式聲明 exported
屬性。
社交分享
如接入了 QQ 分享,請在
AndroidManifest.xml
中添加以下配置:<!-- QQ 分享 target 31 適配需要合并 --> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:exported="true" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- QQ 分享ID,格式為"tencent+QQ 分享 ID"。請保證 QQ 分享ID 與代碼中設定的 QQ 分享 ID 相同,否則會導致分享回調異常 --> <data android:scheme="xxxxx" /> </intent-filter> </activity>
如接入了微博分享,請在 AndroidManifest.xml 中添加以下配置:
<!-- 微博分享 target 31 適配需要合并 --> <activity android:name="com.sina.weibo.sdk.share.WbShareResultActivity" android:configChanges="orientation|screenSize|keyboardHidden" android:exported="true" android:launchMode="singleTop" android:theme="@android:style/Theme.Translucent.NoTitleBar" tools:replace="configChanges"> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_STORY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
訊息推送
如接入了訊息推送,請參考訊息推送 接入 Android 為
com.alipay.pushsdk.BroadcastActionReceiver
添加exported
屬性。如接入了廠商通道華為推送 HMS5,請參考 華為推送文檔 升級到適配後的版本;如暫時無法升級,請在
AndroidManifest.xml
中添加以下配置:<!-- 華為推送 target 31 適配需要合并 --> <receiver android:name="com.huawei.hms.support.api.push.PushMsgReceiver" android:directBootAware="true" android:exported="true"> <intent-filter> <action android:name="com.huawei.intent.action.PUSH_DELAY_NOTIFY" /> <action android:name="com.huawei.intent.action.PUSH" /> </intent-filter> </receiver> <receiver android:name="com.huawei.hms.support.api.push.PushReceiver" android:directBootAware="true" android:exported="true"> <intent-filter> <action android:name="com.huawei.android.push.intent.REGISTRATION" /> <action android:name="com.huawei.android.push.intent.RECEIVE" /> </intent-filter> </receiver>
如接入了廠商通道華為推送 HMS2,請參考 接入華為推送 - HMS2.x 版本 為
com.
huawei
.hms.update.provider.UpdateProvider
和com.alipay.pushsdk.thirdparty.huawei.HuaweiPushReceiver
添加exported
屬性。如接入了廠商通道 OPPO 推送,請參考 OPPO 版本更新說明 升級到適配後的版本,並參考 OPPO 推送 為
CompatibleDataMessageCallbackService
和DataMessageCallbackService
添加exported
屬性。
UC 核心
如使用了 UC 核心閃退抓取功能,請參考 抓取 UC 核心閃退 為 ClientMonitorWakeupReceiver
添加 exported
屬性。
迴歸測試
全量迴歸測試的裝置中必須包含 Android 12 或以上版本的裝置。迴歸測試中您需要重點關注以下組件功能(如果使用):
組件 | 驗證專案 |
移動網關 |
|
訊息推送 |
|
小程式 |
|
即時發布升級 |
|
社交分享 |
|
智能雙錄 |
|