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

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

  一、Nexus安裝配置流程windows

  實現該組件化開發須要Nexus工具,下載地址能夠以下:瀏覽器

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

  下載對應的版本的Nexus,這裏我下載的以下圖maven

 

  下載以後直接解壓而後到指定的目錄下啓動該Nexus倉庫便可,個人相對目錄以下:(僅供參考)ide

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,而後以下圖:gradle

 

   這裏須要填寫Repository IDRepository Name,而後就是Deployment Policy這裏儘可能選擇Allow Redeploy,不然同版本不容許從新(覆蓋)發佈,最後點擊保存便可。

  二、Android Stuido項目建立AAR文件而且提交到倉庫

  實現流程以下:

  第一步建立Android Module

    New -> Android Module -> Android Library

  第二步配置Module的build.gradle

    一、在該文件最頂部添加以下:    

apply plugin: 'maven'

    二、文件中添加以下:

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。

    

    三、主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文件。這也就是實現了對應的組件化開發。囧....  
相關文章
相關標籤/搜索