前言
一般解决不同模块中的Activity跳转需要相互依赖,如此将产生严重的耦合,失去了划分module的意义。 可以自己根据需要设计跳转router,也可以直接使用arouter第三方依赖实现,在实现过程中会产生较多的问题,本文将给出基本步骤及解决办法。
1.kotlin配置基础步骤
以下步骤主要以Kotlin语言环境为基础。首先在项目app或其他命名的模块下的build.gradle中添加以下内容
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}dependencies {
api 'com.alibaba:arouter-api:1.5.0'
kapt 'com.alibaba:arouter-compiler:1.2.2'
}
这是其他博客中描述的通用配置,但是这样做会出现一个错误:
org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id 'kotlin-kapt']
org.gradle.api.GradleException: Kotlin plugin should be enabled before 'kotlin-kapt'
很显然是配置引入的错误,正确做法:改变apply plugin: 'kotlin-kapt'加载的顺序,而且以下内容在每个需要配置@Route模块中的build.gradle都需要配置。
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'android {
...
}kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}dependencies {
implementation project(':base')
kapt 'com.alibaba:arouter-compiler:1.2.2'
}
注:api 'com.alibaba:arouter-api:1.5.0'已在base模块中引用;
2.Java配置基础步骤
很多博客针对是否使用 arg("AROUTER_MODULE_NAME", project.getName())还是arguments = [ moduleName : project.getName() ] 会引发模块不能找到的错误 ,正解:同样每个需要引用到@Router,都需要添加以下内容。
android {defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
}}
dependencies {
implementation project(':base')
implementation 'com.alibaba:arouter-api:1.5.0'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
}3.初始化
初始化在根Application,以下为kotlin语言。
class BaseApplication :Application(){
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
ARouter.openLog()
ARouter.openDebug()
}
ARouter.init(this)
}}
4.关于编译
apt,annotationProcessor
原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说
免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。
您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Android Kotlin/java集成arouter产生的问题及解决
关注我们小说电影免费看关注我们,获取更多的全网素材资源,有趣有料!120000+人已关注
评论抢沙发