【本文由本人原创,转载请注明出处】
第一篇:Android Studio 打包及引用 AAR(可能是史上最详细的 )
第三篇:AAR 混淆
Apache Maven 是 Apache 开发的一个工具,提供了用于贡献 library 的文件服务器。
通过 Maven 的方式,我们可以更简单的发布,更便捷的做版本管理;用户可以更简单的导入。
网上针对
jCenter
和Maven Central
的文章已经很多,故本文就不多说了,而是针对本地 Maven 来讲解
配置打包gradle
- 在文件夹
mykit
下新建一个名为maven-release-aar.gradle
的文件
这时文件清单如下图
- 在
mykit
下的build.gradle
中增加如下行
apply from: 'maven-release-aar.gradle
- 配置
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 中的代码或资源,发布一个升级包就行了。
-
修改
myKit
下的build.gradle
中的版本号
再次双击 Android studio 右侧的 gradle 侧边栏中的
uploadArchives
-
打开文件夹
/Users/xxx/Desktop/mykit
,可以看到多了一个 1.1 版本