Android Kotlin/java集成arouter产生的问题及解决

前言

       一般解决不同模块中的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'

Android Kotlin/java集成arouter产生的问题及解决

很显然是配置引入的错误,正确做法:改变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系列小说

Android Kotlin/java集成arouter产生的问题及解决

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Android Kotlin/java集成arouter产生的问题及解决
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏