1, 远程依赖, 在项目的build.gradle最顶层加上

apply plugin: 'com.alibaba.arouter'
2, 远程依赖在在项目的build.gradlede dependencie 节点下加上

classpath "com.alibaba:arouter-register:1.0.2"
3, 远程依赖,在moudle的build.gradle文件的dependencie节点上加上

api 'com.alibaba:arouter-api:1.5.0'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
4, 新建 MyApplication 继承 Application ,在OnCreate方法里面初始化ARouter如下

import android.app.Application;
import com.alibaba.android.arouter.launcher.ARouter;
/**
* Create By MrsL on 2020/5/20-15:01
* Email: 916774847@qq.com
* 简书 : https://www.jianshu.com/u/24e0661373f4
* Discribe:
*/
public class MyApplicationextends Application {
//ARouter调试开关
private boolean isDebugARouter =true;
@Override
public void onCreate() {
super.onCreate();
if (isDebugARouter) {
//下面两行必须写在init之前否则无效
ARouter.openLog();
//开启调试模式(如果在InstantRun模式下运营,必须开启调试模式
//线上版本需要关闭,否则有安全风险)
ARouter.openDebug();
}
ARouter.init(MyApplication.this);
}
}
5, 写配置文件,将你所以跳转的Activity或要加载的Fragment写入一下配置文件(注意:/必须有两层)

public class ARouterConfig{
public static final String APP_LOGIN="/login/LoginActivity";
public static final String APP_REGISTER="/login/RegisterActivity";
}
6, 在需要跳转的Activity或者Fragment类上面加上@Route(path = ARouterConfig.App_LOGIN)

@Route(path = ARouterConfig.APP_LOGIN)
7,在OnCreate方法中注册ARouter

ARouter.getInstance().inject(this);
8,同样的方法在跳转目标Acitivity里面加上

9, 跳转,从LoginActivity跳转到RegisterActivity

ARouter.getInstance().build(ARouterConfig.APP_REGISTER).navigation();
注意: 这里有一个坑爹的地方:
如果你的项目有多个moudle 需要在你要用到ARouter的每一个moudle里面加上这一句:

annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
网友评论