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。
準備工作
升級 easyconfig 外掛程式到 2.8.4 版本。
升級 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節點中所有的provided和bundle聲明,使用 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 節點中所有的 provided 和 bundle 聲明,使用 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 錯誤 進行排查。
自查
請參見 檢查構建指令碼配置 文檔進行自查。