轉(zhuǎn)載:android library module內(nèi)含aar包,完整打包上傳maven的方法
思路一:
將引用的aar解壓,把解壓后的資源分別放入到現(xiàn)用的Android Module里。思路二:
借助Maven,將引用的aar發(fā)布的maven倉(cāng)庫(kù),AndroidModule通過(guò)maven地址引用該aar,這樣最終打包的aar內(nèi)含有該maven引用。
對(duì)比:思路二更提現(xiàn)了封裝解耦的特性,代碼清晰。
實(shí)現(xiàn):
將已打包好的aar包 發(fā)布成一個(gè)maven庫(kù)
1、在自己的項(xiàng)目中,新建一個(gè)java-library module

image.png
【注:其中 wex_sdk-0.18.0.arr 為第三方aar依賴庫(kù)】
2、將需要上傳的aar放在 libs 下
3、配置 build.gradle
apply plugin: 'java-library'
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
//上傳到maven
apply plugin: 'maven'
def coreAarFile = file('libs/weex_sdk-0.18.0.aar') //第三方aar依賴庫(kù)
artifacts {
archives coreAarFile
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://xxx") //上傳的maven庫(kù)地址
pom.version = "1.0.8" //當(dāng)前需要上傳的aar的版本
pom.artifactId = "weex" //當(dāng)前需要上傳的aar的id
pom.groupId = "com.masonliu" //當(dāng)前需要上傳的aar的groupId
}
}
}
4、使用
在項(xiàng)目中引入依賴:
//使用的時(shí)候要加@aar
dependencies {
api 'com.masonliu:xxx:1.0.0@aar'
}
5、參考資料:
主流Maven倉(cāng)庫(kù)
https://mvnrepository.com
https://bintray.com/bintray/jcenter自建maven
https://www.sonatype.com