美文网首页
组件化ARouter

组件化ARouter

作者: Android刘东 | 来源:发表于2020-04-21 11:17 被阅读0次

    ARouter组件化流程

    1.所有组件在build.gradle添加

    android中default添加如下代码

    ConfigjavaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] }

    }

    implementation 'com.alibaba:arouter-api:x.x.x'

    annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'

    最新版本号详情https://github.com/alibaba/ARouter/blob/master/README_CN.md

    2.主工程Application初始化

    if (isDebug(this)) {

    ARouter.openLog(); // 打印日志

    ARouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)

    }

    ARouter.init(this);

    //判断当前应用是否是debug状态

    public static boolean isDebug(Context context) { try { ApplicationInfo info = context.getApplicationInfo(); return (info.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; } catch (Exception e) { return false; }}

    3.Activity添加注解

    @Route(path = "/test/MainActivity")

    public class MainActivity extends AppCompatActivity {

    //跳转方法

    ARouter.getInstance().build("/mylibrary/MActivity").navigation();

    }

    4.成功运行后

    会在build/generated/ap_generated_sources/debug/out/com.alibaba.android.arouter.routes/

    生成三个文件 都implements IRouteRoot

    5.原理

    通过Activity引入注解,通过apt技术编译时生成文件,Application初始化调用,获取到类的对象,通过IO流生成java文件put Key Value,Router 中Map存放,Activity调用Router方法传递Key(String),启动另外模块的activity

    相关文章

      网友评论

          本文标题:组件化ARouter

          本文链接:https://www.haomeiwen.com/subject/rrtuihtx.html