全部產品
Search
文件中心

Mobile Platform as a Service:升級組件化/mPaaS Inside 接入方式到 AAR 接入方式

更新時間:Apr 19, 2025

AAR 接入方式 是指基本採用原生接入的方案。在採用 AAR 接入方式時,由於對 mPaaS 基準管理的需要,請使用最新穩定版的 Android Gradle Plugin 和 Gradle Wrapper。建議使用 Android Gradle Plugin 3.5.3 和 Gradle Wrapper 5.6 以上版本,目前穩定版是 Android Gradle Plugin 3.6.x 和 Gradle Wrapper 6.3。

準備工作

  1. 升級 easyconfig 外掛程式到 2.8.4 版本。

  2. 升級 Gradle 到 5.0 以上。

升級組件化接入方式到 AAR 接入方式

外掛程式變化

  • 更改 Gradle Wrapper 和 Android Gradle Plugin 到您需要的版本。Gradle 應為 5.0 或以上版本。

  • 在所有專案的根目錄的 build.gradle 檔案中,移除 classpath 'com.alipay.android:android-gradle-plugin'

  • 在 bundle 中移除所有的 com.android.application 外掛程式,所有的 bundle 使用原生專案裡的 com.android.library

  • 移除 bundle 中所有的 com.alipay.bundle 外掛程式。

  • 移除 bundle 中的 bundle {} DSL 定義,移除 public.xml 定義(如果有特別需要,可以保留)。

  • 移除 portal 中所有的 com.alipay.portal 外掛程式。

  • 移除 portal 中的 portal {} DSL 定義,移除 public.xml 定義(如果有特別需要,可以保留)。

  • 更改 apply plugin: 'com.alipay.apollo.baseline.update'apply plugin: 'com.alipay.apollo.baseline.config'

依賴變化

  • 移除 dependencies 節點中所有的 providedbundle 聲明,使用 BOM 方式引入 AAR 依賴。

        implementation 'com.mpaas.android:push'
        implementation 'com.mpaas.android:nebula'
        implementation 'com.mpaas.android:push-hms5'
        implementation platform("com.mpaas.android:mpaas-baseline:$(latest)")
    
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test.ext:junit:1.1.1'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    $(latest) 這個變數是 mPaaS 發布的最新基準。如果是標準基準,則不需要更改 mpaas-baseline 的值;否則需要改成對應的定製基準的 artifact

  • 移除載入架構與定製。更多關於載入架構和定製的資訊,請參見 載入架構與定製

萬用群組件使用變化

如果使用了 metainfo.xml 方式定義萬用群組件,請參見文檔 使用 mPaaS 架構萬用群組件

檔案變化

不再需要 slinks 檔案和 res_slinks 檔案。

小程式使用變化

使用原生 AAR 方式接入,需在 AndroidManifest.xml 中加入以下配置:

<application>
    ···
    <meta-data android:name="nebula.android.meta.enable" android:value="true"/>
  ···
</application>

可能存在的問題

因為高版本預設禁用了 v1 簽名,可能導致在 v1 簽名不存在的情況下無線保鏢報錯,請參見 如何解決運行時出現的 608 錯誤或 libsgmain 的 native 錯誤 進行排查。

自查

請參見 檢查構建指令碼配置 文檔進行自查。

升級 mPaaS Inside 接入方式到 AAR 接入方式

外掛程式變化

  • 更改 Gradle Wrapper 和 Android Gradle Plugin 到您需要的版本。Gradle 應為 5.0 或以上版本。

  • 在所有專案的根目錄的 build.gradle 檔案中,移除 classpath 'com.alipay.android:android-gradle-plugin'

  • 移除 portal 中所有的 com.alipay.portal 外掛程式

  • 移除 portal 中的 portal {} DSL 定義,移除 public.xml 定義(如果有特別需要,可以保留)。

  • ​更改 apply plugin: 'com.alipay.apollo.baseline.update'apply plugin: 'com.alipay.apollo.baseline.config'

依賴變化

移除 dependencies 節點中所有的 providedbundle 聲明,使用 BOM 方式引入 AAR 依賴。

    implementation 'com.mpaas.android:push'
    implementation 'com.mpaas.android:nebula'
    implementation 'com.mpaas.android:push-hms5'
    implementation platform("com.mpaas.android:mpaas-baseline:$(latest)")

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

$(latest) 這個變數是 mPaaS 發布的最新基準。如果是標準基準,則不需要更改 mpaas-baseline 的值;否則需要改成對應的定製基準的 artifact

萬用群組件使用變化

如果使用了 metainfo.xml 方式定義萬用群組件,請參見文檔 使用 mPaaS 架構萬用群組件

gradle.properties 變化

不再需要設定 quinoxless=true,已有的 quinoxless=true 配置可以保留也可以刪除。

可能存在的問題

因為高版本預設禁用了 v1 簽名,可能導致在 v1 簽名不存在的情況下無線保鏢報錯,請參見 如何解決運行時出現的 608 錯誤或 libsgmain 的 native 錯誤 進行排查。

自查

請參見 檢查構建指令碼配置 文檔進行自查。

使用 AAR 接入

  1. 將 mPaaS SDK 添加到專案中

  2. 在各個 Module 中添加需要使用的組件