一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用。
一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用。
由于是借鉴了ARouter,拥有ARouer所有特征,并在此基础上加入了Fragment的路由。
1.先在项目根目录的 build.gradle 的 repositories 添加:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.再在项目根目录的 build.gradle 的 dependencies 添加xrouter-plugin插件:
buildscript {
···
dependencies {
···
classpath 'com.github.xuexiangjys.XRouter:xrouter-plugin:1.1.0'
}
}
3.在主项目的 build.gradle 中增加依赖并引用xrouter-plugin插件
apply plugin: 'com.xuexiang.xrouter' //引用xrouter-plugin插件实现自动注册
dependencies {
···
implementation 'com.github.xuexiangjys.XRouter:xrouter-runtime:1.1.0'
annotationProcessor 'com.github.xuexiangjys.XRouter:xrouter-compiler:1.1.0'
}
4.进行moduleName注册
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [ moduleName : project.getName() ]
}
}
}
5.在主项目的Application中初始化XRouter
private void initXRouter() {
if (isDebug()) { // 这两行必须写在init之前,否则这些配置在init过程中将无效
XRouter.openLog(); // 打印日志
XRouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)
}
XRouter.init(this);
}
private boolean isDebug() {
return BuildConfig.DEBUG;
}
1.进行moduleName注册
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [ moduleName : project.getName() ]
}
}
}
2.在项目的 build.gradle 中增加XRouter依赖。
dependencies {
···
implementation 'com.github.xuexiangjys.XRouter:xrouter-runtime:1.1.0'
annotationProcessor 'com.github.xuexiangjys.XRouter:xrouter-compiler:1.1.0'
}
1.引用kotlin-kapt插件
apply plugin: 'kotlin-kapt'
2.进行moduleName注册
kapt {
arguments {
arg("moduleName", project.getName())
}
}
3.在项目的 build.gradle 中增加XRouter依赖。
dependencies {
···
implementation 'com.github.xuexiangjys.XRouter:xrouter-runtime:1.1.0'
kapt 'com.github.xuexiangjys.XRouter:xrouter-compiler:1.1.0'
}
-keep public class com.xuexiang.xrouter.routes.**{*;}
-keep class * implements com.xuexiang.xrouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.xuexiang.xrouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.xuexiang.xrouter.facade.template.IProvider
https://github.com/alibaba/ARouter