使用 mPaaS 框架通用組件(非必需)
本文檔是在組件化接入方式轉(zhuǎn)為原生 AAR 接入方式的情況下,解決原有的 mPaaS 框架通用組件的適配問題。若未使用 mPaaS 框架通用組件,可以跳過閱讀本文檔。
為了兼容組件化(路由)的方案,在 10.1.60 及以上基線支持使用 apt 的方式來使用以下四個組件:
使用組件
在 library 和 Application 工程中引入相關(guān)的依賴。
implementation 'com.mpaas.mobile:metainfo-annotations:1.3.4' kapt 'com.mpaas.mobile:metainfo-compiler:1.3.4' // kotlin 的 apt 接入方式 annotationProcessor 'com.mpaas.mobile:metainfo-compiler:1.3.4' // java 的 apt 接入方式
定義上述四個組件時分別加上特定的 Annotation。Annotation 有如下四種:
- @Application
- @Service
- @BroadcastReceiver
- @Pipeline
Annotation 中的參數(shù)與
metainfo.xml
定義的相同。例如,使用@Application
時,只需要采用如下的方式:@Application(appId = "123123") public class MicroApplication extends ActivityApplication { }
不使用 library module
若不使用 library module,只需要在 APP Module
工程中的任意一個類加上 @MetaInfoApplication
即可。如果您搭配使用了 easyconfig 插件(通常會搭配使用),那么還需要開啟一個開關(guān)。示例如下:
@MetaInfoApplication(compatibleWithPlugin=true)
使用 library module
若在 library module
工程中定義了上述四個組件,則需要執(zhí)行以下操作:
在任意類中聲明一個
@MetaInfoLibrary
,其中的參數(shù)傳入 library module 的 packageName。例如:@MetaInfoLibrary(applicationId=BuildConfig.APPLICATION_ID)
在
app module
工程中的任意一個類加上@MetaInfoApplication
,依賴傳入library module
中生成的MetaInfoConfig.java
。例如:@MetaInfoApplication(dependencies={com.mylibrary.MetaInfoConfig.class})
如果您搭配使用了 easyconfig 插件(通常會搭配使用),那么還需要開啟一個開關(guān)。整合了開啟開關(guān)的示例如下:
@MetaInfoApplication(dependencies={com.mylibrary.MetaInfoConfig.class}, compatibleWithPlugin = true)
混淆相關(guān)
把相關(guān)的類加入混淆的白名單,特別是 com.alipay.mobile.core.impl.MetaInfoConfig
。可以使用以下命令:
-keep public class com.alipay.mobile.core.impl.MetaInfoConfig