相关文章:
探索Android路由框架-ARouter之基本使用(一)(3.5w阅读量,详细,有用法,系列文章)
Android ARouter:最简单&粗暴(使用与原理)讲解(1.4w阅读量 详细,有条理)
利用ARouter实现组件间通信,解决子模块调用主模块问题(简单)
探索Android路由框架-ARouter之深挖源码(二)(跟第一篇同一作者,源码分析,可以多次学习)
ARouter基本使用与原理浅析(如题,对原理做一个简单分析)
官方地址:
ARouter官方文档(很不错的官方文档,讲的很详细)
1、使用:
1.1、添加依赖:
用到ARouter的模块都加上如下依赖:
android {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [ AROUTER_MODULE_NAME : project.getName() ]
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
//ARouter
implementation "com.alibaba:arouter-api:1.5.0"
annotationProcessor "com.alibaba:arouter-compiler:1.2.2"
}
1.1.1、 ARouter::Compiler >>> No module name, for more information, look at gradle log.
运行的时候报这个错误。
解决方法:在每个module(包括app)的build.gradle文件中加入以下内容
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [ AROUTER_MODULE_NAME : project.getName() ]
}
}
}
1.1.2、ARouter会和butterknife起冲突,最好不要一起使用。
1.1.3、问题
下载了GitHub的demo后,编译运行报出了以下错误:
Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'intellijPublishUsername' for task ':arouter-idea-plugin:publishPlugin' of type org.jetbrains.intellij.tasks.PublishTask.