從 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 或以上版本的設備。回歸測試中您需要重點關注以下組件功能(如果使用):
組件 | 驗證項目 |
移動網關 |
|
消息推送 |
|
小程序 |
|
實時發布升級 |
|
社交分享 |
|
智能雙錄 |
|