从 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 或以上版本的设备。回归测试中您需要重点关注以下组件功能(如果使用):
组件 | 验证项目 |
移动网关 |
|
消息推送 |
|
小程序 |
|
实时发布升级 |
|
社交分享 |
|
智能双录 |
|