阿里云首页 移动开发平台 mPaaS 相关技术圈

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 节点下添加以下属性:

<application
    android:requestLegacyExternalStorage="true"
    ... >

后台使用定位功能

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

  • AndroidManifest.xml 中添加权限:

    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
  • 调用定位 API 前确保申请了该权限:

    String[] permissions;
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
      permissions = new String[]{
          Manifest.permission.ACCESS_FINE_LOCATION,
          Manifest.permission.ACCESS_COARSE_LOCATION,
          Manifest.permission.ACCESS_BACKGROUND_LOCATION
          };
    } else {
      permissions = new String[]{
          Manifest.permission.ACCESS_FINE_LOCATION,
          Manifest.permission.ACCESS_COARSE_LOCATION
          };
    }
    ActivityCompat.requestPermissions(this, permissions, 101);

使用小程序蓝牙功能

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

  • AndroidManifest.xml 中添加权限:

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  • 调用蓝牙 API 前确保申请了该权限:

    String[] permissions = new String[]{
          Manifest.permission.ACCESS_FINE_LOCATION,
          };
    ActivityCompat.requestPermissions(this, permissions, 101);

回归测试

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

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

组件

验证项目

统一存储

数据库加密存储 是否正常。

热修复

热修复 是否能够生效。

移动分析

移动分析 卡顿监控是否正常。

小程序

定位

定位 是否正常。