mPaaS 适配 targetSdkVersion 29

mPaaS 旧版基线对 targetSdkVersion 最高仅支持到 26。从 10.1.68.21 开始,mPaaS 增加了对 targetSdkVersion 29 的支持。如果您的应用需要将 targetSdkVersion 升级到 29,请使用 mPaaS 插件 将 SDK 更新到 10.1.68.21 或以上版本,并按照下文进行适配和回归相关功能。

适配 targetSdkVersion 29

前置条件

请先参考 mPaaS 适配 targetSdkVersion 28 完成 targetSdkVersion 28 的相关适配。

修改 targetSdkVersion

AAR/mPaaS Inside 接入方式

在工程主 module 下的 build.gradle 文件中修改属性 targetSdkVersion 29。

Portal&Bundle 接入方式

  • 在 Portal 工程主 module 下的 build.gradle 文件中修改属性 targetSdkVersion 29。
  • 在 Bundle 工程中的 targetSdkVersion 可不修改,但不得高于 Portal 工程。

通用配置

修改工程 AndroidManifest.xml,在 application 节点下添加以下属性:

  1. <application
  2. android:requestLegacyExternalStorage="true"
  3. ... >

后台使用定位功能

如果您的应用需要在后台时使用定位功能,需添加、申请以下权限:

  • AndroidManifest.xml 中添加权限:
    1. <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
  • 调用定位 API 前确保申请了该权限:
    1. String[] permissions;
    2. if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
    3. permissions = new String[]{
    4. Manifest.permission.ACCESS_FINE_LOCATION,
    5. Manifest.permission.ACCESS_COARSE_LOCATION,
    6. Manifest.permission.ACCESS_BACKGROUND_LOCATION
    7. };
    8. } else {
    9. permissions = new String[]{
    10. Manifest.permission.ACCESS_FINE_LOCATION,
    11. Manifest.permission.ACCESS_COARSE_LOCATION
    12. };
    13. }
    14. ActivityCompat.requestPermissions(this, permissions, 101);

使用小程序蓝牙功能

如果您的应用需要在小程序中使用蓝牙相关 API,需添加、申请以下权限。

  • AndroidManifest.xml 中添加权限:
    1. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  • 调用蓝牙 API 前确保申请了该权限:
    1. String[] permissions = new String[]{
    2. Manifest.permission.ACCESS_FINE_LOCATION,
    3. };
    4. ActivityCompat.requestPermissions(this, permissions, 101);

回归测试

全量回归测试的设备中必须包含 Android 10.0 或以上版本的设备。

回归测试中您需要重点关注以下组件功能(如果使用):

组件 验证项目
统一存储 - 数据库加密存储 是否正常。
热修复
- 热修复 是否能够生效。
移动分析
- 移动分析 卡顿监控是否正常。
小程序 - 小程序文件 API 是否正常。
- 小程序蓝牙 API 是否正常。
- 小程序地图组件是否正常。
定位
- 定位 是否正常。