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文件。这也就是实现了对应的组件化开发。囧....  
相关文章
相关标签/搜索