使用 Android Studio + Nexus 搭建 Maven 私服(二)

最近由于公司項目需要,多個項目依賴于一個公共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'

nexus_maven.png

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

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

upload_success.png

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)一依賴管理

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容