gradle的使用应用层的知识归纳

第二篇:使用 Maven 管理 Android AAR

2017-05-06  本文已影响1291人  起了

【本文由本人原创,转载请注明出处】

第一篇:Android Studio 打包及引用 AAR(可能是史上最详细的 )
第三篇:AAR 混淆

Apache Maven 是 Apache 开发的一个工具,提供了用于贡献 library 的文件服务器。
通过 Maven 的方式,我们可以更简单的发布,更便捷的做版本管理;用户可以更简单的导入。

网上针对 jCenterMaven Central 的文章已经很多,故本文就不多说了,而是针对本地 Maven 来讲解

配置打包gradle


  1. 在文件夹 mykit 下新建一个名为 maven-release-aar.gradle 的文件
    这时文件清单如下图
  2. mykit 下的 build.gradle 中增加如下行
    apply from: 'maven-release-aar.gradle
  3. 配置 maven-release-aar.gradle
    maven-release-aar.gradle 就是用来设置打包的脚本,在文件中添加如下代码:
//1.maven-插件
apply plugin: 'maven'

//2.maven-信息
ext {// ext is a gradle closure allowing the declaration of global properties
    PUBLISH_GROUP_ID = 'com.room'
    PUBLISH_ARTIFACT_ID = 'myKit'
    PUBLISH_VERSION = android.defaultConfig.versionName
}

//3.maven-输出路径
uploadArchives {
    repositories.mavenDeployer {
        //这里就是最后输出地址,在自己电脑上新建个文件夹,把文件夹路径粘贴在此
        //注意”file://“ + 路径,有三个斜杠,别漏了
        repository(url: "file:///Users/xxx/Desktop/mykit")

        pom.project {
            groupId project.PUBLISH_GROUP_ID
            artifactId project.PUBLISH_ARTIFACT_ID
            version project.PUBLISH_VERSION
        }
    }
}

//以下代码会生成 jar 包源文件,如果是不开源码,请不要输入这段
//aar 包内包含注释
task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}

artifacts {
    archives androidSourcesJar
}

生成 AAR


在 Android studio 右侧有个 gradle 侧边栏,点击会有如下画面,选择 myKit,双击 uploadArchives

如果没看到 uploadArchives,则右键 mykit,选择 Refresh external project 菜单刷新一下即可看到

这时打开 maven-release-aar.gradle 文件中配置的路径就能看到生成的 AAR 了

引用 AAR


其他 project 需要引用 AAR,只需要在 app 的 build.gradle 中简单的增加以下几行代码即可

repositories {
    jcenter()

    //本地绝对路径
    maven { url "file:///Users/xxx/Desktop/mykit" }
}

dependencies {
    //略

    //引用 myKit,这里可以指定版本
    compile 'com.room:myKit:1.0'
}

升级 AAR


当我们更新了 AAR 中的代码或资源,发布一个升级包就行了。

  1. 修改 myKit 下的 build.gradle 中的版本号

  2. 再次双击 Android studio 右侧的 gradle 侧边栏中的 uploadArchives

  3. 打开文件夹 /Users/xxx/Desktop/mykit ,可以看到多了一个 1.1 版本

上一篇下一篇

猜你喜欢

热点阅读