Android Studio3.0 引用Module的本质和共享Module给其他Module

Posted 冒泡的章鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中,不参与编译(感觉没啥用)

其他的没啥说的.....

  

 

 

以上是关于Android Studio3.0 引用Module的本质和共享Module给其他Module的主要内容,如果未能解决你的问题,请参考以下文章

[转]android studio3.0之后查看 gradle console窗口

Android Studio3.0 配置ButterKnife出错的解决

Android Studio3.0 配置AndroidAnnotation注解框架

Android Studio3.0配置Butterknife8.8.1及大坑

Android Studio3.0 flavorDimensions多维度理解(版本差异化打包) : flavorDimensions dimension

Android Studio3.0 flavorDimensions多维度理解(版本差异化打包) : flavorDimensions dimension