基本用法
第一步
在组模块app 与其他所有子模块 grafle文件中
添加:
------------------------
implementation 'com.alibaba:arouter-api:1.4.1' //最新版本
annotationProcessor "com.alibaba:arouter-compiler:1.2.2" //最新版本
------------------------
在所有模块中添加 :
defaultConfig {
javaCompileOptions {
annotationProcessorOptions { arguments = [moduleName: project.getName()] }
}
}
注意 :上面 moduleName 在最新版本中 需要改成 AROUTER_MODULE_NAME
第二步
主模块app gradle文件中加入
compile project(':lib_base') //加入所有子模块
------------------------------------
主模块Appliaction中对Arouter 进行初始化
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
if(BuildConfig.DEBUG){
//如果在debug模式下 // 打印日志,默认关闭
ARouter.openLog()
// 开启调试模式,默认关闭(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)
ARouter.openDebug()
// 尽可能早,推荐在Application中初始化
ARouter.init(this)
}
还有一些子模块的manifest文件资源文件的修改
第三步
给目标加上注解标记
比如跳转到子模块的activity,path一般定义成字符串
@Route(path = RouteUtils.Me_Login)
public class LoginActivity extends AppCompatActivity { }
跳转逻辑
//登录(跨模块跳转Activity)
ARouter.getInstance().build(RouteUtils.Me_Login).navigation();
网友评论