全部產品
Search
文件中心

Mobile Platform as a Service:mPaaS 適配 targetSdkVersion 31

更新時間:Jul 13, 2024

從 mPaaS 10.2.3.4 起,mPaaS 增加了對 targetSdkVersion 31 的支援。如果您的應用需要將 targetSdkVersion 升級到 31,請 使用 mPaaS 外掛程式 將 SDK 更新到 10.2.3.4 或以上版本,並按照下文進行適配和迴歸相關功能。

適配 targetSdkVersion 31

前置條件

修改 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>

訊息推送

  • 如接入了訊息推送,請參考訊息推送 接入 Androidcom.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.UpdateProvidercom.alipay.pushsdk.thirdparty.huawei.HuaweiPushReceiver 添加 exported 屬性。

  • 如接入了廠商通道 OPPO 推送,請參考 OPPO 版本更新說明 升級到適配後的版本,並參考 OPPO 推送CompatibleDataMessageCallbackServiceDataMessageCallbackService 添加 exported 屬性。

UC 核心

如使用了 UC 核心閃退抓取功能,請參考 抓取 UC 核心閃退ClientMonitorWakeupReceiver 添加 exported 屬性。

迴歸測試

全量迴歸測試的裝置中必須包含 Android 12 或以上版本的裝置。迴歸測試中您需要重點關注以下組件功能(如果使用):

組件

驗證專案

移動網關

  • 使用國密 SSL 是否正常

訊息推送

  • 廠商通道推送訊息是否正常

  • 訊息通知點擊跳轉是否正常

小程式

  • 藍芽 API 是否正常

即時發布升級

  • 升級包下載和取消是否正常

社交分享

  • 分享到各平台是否正常

智能雙錄

  • 初始化是否正常

  • 各原子能力是否正常