Maven實現android組件化開發<狠簡單>


  靈感來自前段時間和我一個朋友吃飯,說道他們公司當前組件化開發流程。

  1、Nexus安裝配置流程

  實現該組件化開發需要Nexus工具,下載地址可以如下:

https://www.sonatype.com/download-oss-sonatype

  下載對應的版本的Nexus,這里我下載的如下圖

 

  下載之后直接解壓然后到指定的目錄下啟動該Nexus倉庫即可,我的相對目錄如下:(僅供參考)

nexus-2.14.5-02-bundle\nexus-2.14.5-02\bin\jsw\windows-x86-64

 

   在該目錄下執行如下start-nexus.bat直接啟動倉庫即可。

  

  然后在瀏覽器訪問http://localhost:8081/nexus進入到如下圖:

 

   歡迎界面如上圖,可以點擊右上角login按鈕,默認Nexus的賬號和密碼分別是admin admin123,輸入賬號密碼完成登錄如下圖:

 

  點擊add->HostedRepositories,然后如下圖:

 

   這里需要填寫Repository IDRepository Name,然后就是Deployment Policy這里盡量選擇Allow Redeploy,否則同版本不允許重新(覆蓋)發布,最后點擊保存即可。

  2、Android Stuido項目創建AAR文件並且提交到倉庫

  實現流程如下:

  第一步創建Android Module

    New -> Android Module -> Android Library

  第二步配置Module的build.gradle

    1、在該文件最頂部添加如下:    

apply plugin: 'maven'

    2、文件中添加如下:

uploadArchives {
    configuration = configurations.archives
    repositories.mavenDeployer {
        /*遠程倉庫的地址,貌似有具體ip的基本上都是建在局域網的倉庫*/
        repository(url: "http://localhost:8081/nexus/content/repositories/android/") {/*倉庫地址*/
            authentication(userName: "admin",/*用戶名*/
                    password: "admin123")/*密碼*/
        }

        pom.project {
            name 'testvideo-library'    /*項目的名稱*/
            packaging 'aar'         /*要提交文件的類型*/
            description '測試視頻組件定義'     /*描述*/
            url "http://localhost:8081/nexus/content/repositories/android/"/*倉庫地址*/
            groupId "com.test.testvideo"  /*注冊sonatype賬號時有填,這里是域名反轉+項目名*/
            artifactId "video"
            version '1.0.0'
        }
    }
}

 

 

  第三步:添加代碼到倉庫指定位置

    實現方式一:命令行方式

      在項目的根目錄下執行如下命令:gradlew uploadArchives

     實現方式二:工具

      打開項目右上角gradle面板  

        點擊如下圖所示指定module下需要添加的aar文件到倉庫

 

 

       批注:這里說明下aar文件生成路徑build/outputs/aar,這里建議每次修改提交前執行Rebuild Project。

    

    3、主Moudle引用AAR文件

      主項目根build.gradle文件添加本地倉庫地址:

repositories{
        mavenCentral()
        maven {
            url "http://localhost:8081/nexus/content/repositories/android/"
        }
    }

 

      主項目build.gradle文件頂部添加如下:

        apply plugin: 'maven'
      然后在dependencies下添加引用
      
compile 'com.test.testvideo:video:1.0.0@aar'
   說明:AAR文件是Android自己特有的包,包含src目錄文件和res目錄文件,這里會涉及合並res文件(包含清單文件和drawable文件等,所以對明明規范就有了更高一步的要求)

  如上所有步驟實現則可以直接在主Module中直接調用對應的AAR文件里的Activity文件。這也就是實現了對應的組件化開發。囧....
  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM