項(xiàng)目A 作為主程序,項(xiàng)目B作為lib引用
1、在項(xiàng)目B app dodule的 build.gradle 文件下 將
原為:// apply plugin: 'com.android.application'
改為:apply plugin: 'com.android.library'
defaultConfig {
// applicationId "com.example.sdk_lib" 注釋這一行
minSdkVersion 19 // 版本改為和主項(xiàng)目一樣
targetSdkVersion 28 // 版本改為和主項(xiàng)目一
}
2、 在主項(xiàng)目A中的 settings.gradle 文件下添加如下
include ':app', ':ACommonLibrary', ':ACommonLibraryB'
// 引入你本地的lib項(xiàng)目地址,作為導(dǎo)入包
project (':ACommonLibrary').projectDir = new File('../ACommonLibrary/app')
project (':ACommonLibraryB').projectDir = new File('../ACommonLibrary/utils')

image.png

ACommonLibrary.png
3、在主項(xiàng)目A中的 build.gradle 文件下
dependencies {
implementation project (':ACommonLibrary') // 加入這行,導(dǎo)入包
implementation project (':ACommonLibraryB')
}
添加成功后兩個(gè)project會(huì)在同級(jí)目錄顯示

image.png
還需要注意一點(diǎn)的是在lib項(xiàng)目中使用 api 替代 implementation
簡(jiǎn)單點(diǎn)意思就是lib 項(xiàng)目B中的引用可以在項(xiàng)目A中被引用
implementation 的引用只會(huì)在當(dāng)前module中編譯

api和implementation區(qū)別.png