ARouter debug正常release提示there is no router match! path=[arouter/service/interceptor] Group=[arouter]

ARouter 配置

APP build 中
  • 纯java


android {
    defaultConfig {
        ...
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [AROUTER_MODULE_NAME: project.getName()]
            }
        }
    }
}

dependencies {
    // 替换成最新版本, 需要注意的是api
    // 要与compiler匹配使用,均使用最新版可以保证兼容
    compile 'com.alibaba:arouter-api:x.x.x'
    annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'
    ...
}
  • kotlin and java
apply plugin: 'kotlin-kapt' // 添加到最顶部

defaultConfig{


	javaCompileOptions {
	            annotationProcessorOptions {
	                arguments = [AROUTER_MODULE_NAME: project.getName(), AROUTER_GENERATE_DOC: "enable"]
	            }
	        }
}

kapt {// 与 dependencies 平级 
    arguments {
        arg("AROUTER_MODULE_NAME", project.getName())
    }
}
dependencies{
   implementation 'com.alibaba:arouter-api:1.5.1'
    annotationProcessor 'com.alibaba:arouter-compiler:1.5.1'
    kapt 'com.alibaba:arouter-compiler:1.5.1'
}
代码初始化
Application 中配置如下代码
if (isDebug){//开发模式下
   ARouter.openLog();
   ARouter.openDebug();
}
ARouter.init(this);
  • 纯kotlin

把kotlin java 混用的去掉java的就行,去掉之后还不行 去翻ARouter文档,Issues里边有整理。

注意:配置完成后,大概率是as直接运行就可以了,但是有一点需要注意,如果你配置了混淆,那不好意思,打完release包会出现如标题所示错误,请注意将下方配置加入混淆 proguard-rules.pro 文件中

ARouter 配置混淆处理
# ARouter 混淆处理 start
-keep public class com.alibaba.android.arouter.routes.**{*;}
-keep public class com.alibaba.android.arouter.facade.**{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}

# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider

# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
# -keep class * implements com.alibaba

如果对你有用,不胜荣幸。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有时有晌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值