最近由于公司項目需要,多個項目依賴于一個公共Library,所以便學習了一下Android Studio下的項目依賴該如何做。本著好記性不如爛筆頭的想法,果敢的記錄一下自己的Android 日常。
Gradle篇
1.發(fā)布Library到私服
打開對應模塊的build.gradle文件,由于項目本身可能就有很多內(nèi)容需要配置,所以這里上傳Library到Maven倉庫的代碼寫在單獨的文件里面,減少build.gradle的代碼量,這里在相應模塊下新建一個nexus_maven.gradle:
apply plugin: 'maven'
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://localhost:8081/nexus/content/repositories/android-lib/") {
authentication(userName: "admin", password: "admin123")
}
pom.project {
name 'numberMorphView4Android'
version '1.0.0'
artifactId 'numbermorphview4android'
groupId 'com.android'
packaging 'aar'
description 'numberMorphView for Android'
}
}
}
}
其中主要配置的內(nèi)容有:url,authentication以及pom.project里面的信息;
然后在該模塊下的build.gradle文件最后添加下面這句apply from: './nexus_maven.gradle':

基本的配置就是這些了。接下來準備上傳,

選擇
uploadArchives,如果項目沒有什么問題的話,則會提示BUILD SUCCESSFUL。刷新網(wǎng)頁,可以看到Library已經(jīng)成功上傳:

2.使用私服上的Library
首先,要在項目的build.gradle里面聲明私服的地址:
allprojects {
repositories {
jcenter()
maven {
url 'http://localhost:8081/nexus/content/repositories/android-lib/'
}
}
}
然后在對應模塊的build.gradle文件中,添加項目依賴:
compile 'com.android:numbermorphview4android:1.0.0@aar'
這里的組成和提交的pom.project的信息有關:
<dependency>
<groupId>com.android</groupId>
<artifactId>numbermorphview4android</artifactId>
<version>1.0.0</version>
<type>aar</type>
</dependency>
關于Gradle緩存
在執(zhí)行過一次Gradle的同步之后,Gradle會把對應的Library的文件下載在本地,之后會直接使用。所以當我們刪除舊的Library,用同樣的pom.project信息重新上傳一個新的Library時,執(zhí)行Gradle同步,并不會更新最新的Library下來。這個時候可以到倉庫存儲路徑下把對應的Library文件刪除。
一般來說,
Mac系統(tǒng)默認下載到:/Users/(用戶名)/.gradle/caches/modules-2/files-2.1
Windows系統(tǒng)默認下載到:C:\Users\(用戶名)\.gradle\caches\modules-2\files-2.1
最后,列一下參考學習的文章:
Android Studio發(fā)布項目到Maven倉庫
AndroidStudio使用進階二:搭建自己的maven私服,并使用Gradle統(tǒng)一依賴管理