1 资源冲突
多个子模块中,res/assets 目录下的资源, 最终都在一起
AS 会自动帮我们合并,默认是主模块,然后是后来的模块覆盖之前的子模块
所以,资源名称一定要区分开,不然会有控件找不到的问题
android {
compileSdkVersion
26
// resourcePrefix "file_" //资源前缀约束,会提示错误,但似乎并没有报错
}
resourcePrefix "file_" 设置资源约束,资源名必须以file_开头
2 关于ButterKnife-R2
使用R2的方案,需要配置
project
buildscript {
dependencies {
classpath
'org.greenrobot:greendao-gradle-plugin:3.2.1'
classpath
'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}
}
user 模块
apply
plugin
:
'com.jakewharton.butterknife'
android {
greendao {
schemaVersion
1
}
}
dependencies {
//butterknife
compile
"com.jakewharton:butterknife:
$rootProject.ext.butterKnifeVer
"
annotationProcessor
"com.jakewharton:butterknife-compiler:
$rootProject.ext.butterKnifeVer
"
//greendao
implementation
"org.greenrobot:greendao:
$rootProject.ext.greendaoVer
"
}
说明:
A bind. onclick butterKnife 注解部分,用R2; 其它部分,使用R
B 直接插件生成,然后修改注释部分为R2, 即可
3 关于数据库;greendao
说明:建议有数据库需求的模块,自建。db文件,和数据结构
一个APP 对应多个db 数据库。
4 关于跳转:
可以通过隐式 intent来实现跳转
在base 中维护跳转 action 的map 表
(模块保持独立,不要互相依赖)