【本文由本人原創(chuàng),轉(zhuǎn)載請注明出處】
第一篇:Android Studio 打包及引用 AAR(可能是史上最詳細(xì)的 )
第三篇:AAR 混淆
Apache Maven 是 Apache 開發(fā)的一個工具坯癣,提供了用于貢獻(xiàn) library 的文件服務(wù)器。
通過 Maven 的方式惯疙,我們可以更簡單的發(fā)布翠勉,更便捷的做版本管理妖啥;用戶可以更簡單的導(dǎo)入。
網(wǎng)上針對
jCenter
和Maven Central
的文章已經(jīng)很多对碌,故本文就不多說了荆虱,而是針對本地 Maven 來講解
配置打包gradle
- 在文件夾
mykit
下新建一個名為maven-release-aar.gradle
的文件
這時文件清單如下圖
- 在
mykit
下的build.gradle
中增加如下行
apply from: 'maven-release-aar.gradle
- 配置
maven-release-aar.gradle
maven-release-aar.gradle
就是用來設(shè)置打包的腳本,在文件中添加如下代碼:
//1.maven-插件
apply plugin: 'maven'
//2.maven-信息
ext {// ext is a gradle closure allowing the declaration of global properties
PUBLISH_GROUP_ID = 'com.room'
PUBLISH_ARTIFACT_ID = 'myKit'
PUBLISH_VERSION = android.defaultConfig.versionName
}
//3.maven-輸出路徑
uploadArchives {
repositories.mavenDeployer {
//這里就是最后輸出地址朽们,在自己電腦上新建個文件夾怀读,把文件夾路徑粘貼在此
//注意”file://“ + 路徑,有三個斜杠骑脱,別漏了
repository(url: "file:///Users/xxx/Desktop/mykit")
pom.project {
groupId project.PUBLISH_GROUP_ID
artifactId project.PUBLISH_ARTIFACT_ID
version project.PUBLISH_VERSION
}
}
}
//以下代碼會生成 jar 包源文件菜枷,如果是不開源碼,請不要輸入這段
//aar 包內(nèi)包含注釋
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.sourceFiles
}
artifacts {
archives androidSourcesJar
}
生成 AAR
在 Android studio 右側(cè)有個 gradle 側(cè)邊欄叁丧,點(diǎn)擊會有如下畫面啤誊,選擇 myKit
,雙擊 uploadArchives
如果沒看到
uploadArchives
拥娄,則右鍵mykit
蚊锹,選擇Refresh external project
菜單刷新一下即可看到
這時打開 maven-release-aar.gradle
文件中配置的路徑就能看到生成的 AAR 了
引用 AAR
其他 project 需要引用 AAR,只需要在 app 的 build.gradle
中簡單的增加以下幾行代碼即可
repositories {
jcenter()
//本地絕對路徑
maven { url "file:///Users/xxx/Desktop/mykit" }
}
dependencies {
//略
//引用 myKit稚瘾,這里可以指定版本
compile 'com.room:myKit:1.0'
}
升級 AAR
當(dāng)我們更新了 AAR 中的代碼或資源牡昆,發(fā)布一個升級包就行了。
-
修改
myKit
下的build.gradle
中的版本號
再次雙擊 Android studio 右側(cè)的 gradle 側(cè)邊欄中的
uploadArchives
-
打開文件夾
/Users/xxx/Desktop/mykit
摊欠,可以看到多了一個 1.1 版本