1.现象
androidStudio 升级至3.0后 之前引用库所使用的complie默认变成implementation
如以下:
3.0之前
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
3.0之后
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.3'
除以上之外,还有以下:
androidTestCompile(前)
androidTestImplementation(后)
testCompile(前)
testImplementation (后)
截图所示:
2.遇到的问题
新建项目工程
主模块添加依赖核心库:XX模块
重新编译后
主模块无法找到XX模块中所引用到的类库 (注:XX模块中里新建的类可以引用)
3.发现问题
细心发现:XX模块中所引用的库资源 全部默认使用implementation
4.解决方式
XX模块中所引用的库资源 全部修改并使用 complie 主模块引用正常
5.以上两指令说明
compile: 如有模块之间存在依赖的话,引用是正常的。
implementation: 引用的库只能在当前模块中使用,即便模块之间存在依赖关系的话,也不可以引用。
说到以上,举一个不是很恰当的例子,有点像:Java中 public 与 private
6.用途
模块间调用
具体说明详细 再搜一搜资料 以上纯属个人看法 仅供参考