Android Studio3.0 引用Module的本质和共享Module给其他Module
如何在Module中去引用另外一个Module?
方法一:
Google提供的自身的依赖,compile引入需要用到Module。
方法二:
每个Module最终都会被编译成一个对应的后缀为aar的文件<..\moduleName\build\outputs\aar\XXX.aar>,在需要用到的Module中直接引用此文件。这里aar文件的引入方式对比直接引用Module稍不同,如下:
第一步: 需要先在宿主Module中的build.gradle下的android{}下添加如下代码:
repositories { flatDir { dirs 'libs' } }
第二步:添加依赖
compile (name:'aarName', ext:'aar')
宿主Module中如何使用外边Module中的jar文件?<仅仅介绍Android studio3.0及之上的解决方式>
compile是Android studio 3.0之前Google提供用于引入外部类库的一种方式。Android studio3.0之后compile被替换成为implementation和api,两种方式。
implementation:如果是引入本地libs文件下的jar文件,表示该jar文件仅仅在当前Module中才能被使用,外部引用的Module中无法直接使用该jar文件。
api:如果是引入本地libs文件下的jar文件,表示该jar文件不仅仅可以在当前Module中能使用,外部引用的Module也可以使用该jar文件。
compile only: 顾名思义表示仅仅参与编译,真正打包的时候并不会被打包到APK中。
runtime only: 仅仅是打包的时候会被打包到APK中,不参与编译(感觉没啥用)
其他的没啥说的.....
你得有足够的实力,你的原则和底线才会被人尊重。