移动开发平台 mPaaS 使用 mPaaS 框架通用组件(非必需)

By | 2021年4月23日

关于本文

本文档是在 组件化接入方式 转为 原生 AAR 接入方式 的情况下,解决原有的 mPaaS 框架通用组件的适配问题。若未使用 mPaaS 框架通用组件,可以跳过阅读本文档。

为了兼容组件化(路由)的方案,在 10.1.60 及以上基线支持使用 apt 的方式来使用以下 4 个组件:

说明:这 4 个组件的使用方式与在组件化接入中的使用方式相同,可点击上方组件名查看详情。

使用组件

  1. 在 library 和 Application 工程中引入相关的依赖。

        
    1. implementation 'com.mpaas.mobile:metainfo-annotations:1.3.4'
    2. kapt 'com.mpaas.mobile:metainfo-compiler:1.3.4' // kotlin 的 apt 接入方式
    3. annotationProcessor 'com.mpaas.mobile:metainfo-compiler:1.3.4' // java 的 apt 接入方式
  2. 定义上述四个组件时分别加上特定的 Annotation。Annotation 有如下四种:

    • @Application
    • @Service
    • @BroadcastReceiver
    • @Pipeline

    Annotation 中的参数与 metainfo.xml 定义的相同。例如,使用 @Application 时,只需要采用如下的方式:

        
    1. @Application(appId = "123123")
    2. public class MicroApplication extends ActivityApplication {
    3. }

不使用 library module

若不使用 library module,只需要在 APP Module 工程中的任意一个类加上 @MetaInfoApplication 即可。如果您搭配使用了 easyconfig 插件(通常会搭配使用),那么还需要开启一个开关。示例如下:

  
  1. @MetaInfoApplication(compatibleWithPlugin=true)

使用 library module

若在 library module 工程中定义了上述 4 个组件,则需要执行以下操作:

  1. 在任意类中声明一个 @MetaInfoLibrary,其中的参数传入 library module 的 packageName。例如:

        
    1. @MetaInfoLibrary(applicationId=BuildConfig.APPLICATION_ID)
  2. app module 工程中的任意一个类加上 @MetaInfoApplication,依赖传入 library module 中生成的 MetaInfoConfig.java。例如:

        
    1. @MetaInfoApplication(dependencies={com.mylibrary.MetaInfoConfig.class})

    如果您搭配使用了 easyconfig 插件(通常会搭配使用),那么还需要开启一个开关。整合了开启开关的示例如下:

        
    1. @MetaInfoApplication(dependencies={com.mylibrary.MetaInfoConfig.class}, compatibleWithPlugin = true)

混淆相关

把相关的类加入混淆的白名单,特别是 com.alipay.mobile.core.impl.MetaInfoConfig。可以使用以下命令:

  
  1. -keep public class com.alipay.mobile.core.impl.MetaInfoConfig

请关注公众号获取更多资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注