一、选用第三方库作为快速生成Android AAR包
使用第三方库可以极大程度上简化生成AAR包的过程。Gradle插件可以自动化执行大部分打包任务。其中一个有名的第三方库jcenter-bintray-gradle-plugin可以帮助开发者快速上传与发布项目。该插件提供了第三方分销管道,使得我们的项目能够更容易地被其他开发者使用。
该插件需要在Android Studio的build.gradle中进行配置。然后,必须添加到项目的build.gradle文件中:
plugins {
id "com.jfrog.bintray" version "1.8.4"
id "com.github.dcendents.android-maven" version "1.2"
}
要将您的库发布到JCenter,您需要首先创建一个帐户和一个库,然后定义库的名称和描述。最后,上传库文件。因此,您需要在build.gradle文件中添加以下内容:
apply plugin: 'maven'
apply plugin: 'com.jfrog.bintray'
...
bintray {
user = 'USER_NAME'
key = 'API_KEY'
configurations = ['archives']
pkg {
repo = 'REPO_NAME'
name = 'LIB_NAME'
websiteUrl = 'SITE_URL'
vcsUrl = 'GIT_URL'
licenses = ['Apache-2.0']
publish = true
}
}
...
这里需要注意:USER_NAME和API_KEY是您在Bintray上的凭据,REPO_NAME是包发布的仓库的名称,LIB_NAME是要发布的库的名称,SITE_URL和GIT_URL是您的库的网站和Git URL。同时,必须上传使用的文件:
bintray {
...
pkg {
...
version {
name = "VERSION_NAME"
desc = "Description of the version"
released = new Date()
tags = ['tag1', 'tag2']
}
}
}
...
gradle.bintrayUpload {
packagesToPublish = ['LIB_NAME']
}
其中,VERSION_NAME是要建立的版本的名称,版本的描述和发布日期可以在这里指定,标签可以用于在库超市中搜索。
二、使用Gradle快速构建Android AAR包
使用Gradle也可以快速构建Android AAR包。Gradle工具也可以自动化构建大部分传统的任务,能力非常强大,同时它对Android系统的优化也很好,因此Android Studio默认使用Gradle进行项目构建。
使用Gradle构建AAR包需要在module中的build.gradle文件中进行配置。在文件中添加如下配置即可打包:
apply plugin: 'com.android.library'
android {
...
}
dependencies {
...
implementation fileTree(include: ['*.jar'], dir: 'libs')
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: uri('../release_repo'))
}
}
}
其中,libraries集合是指该模块所依赖的其他所有类库。这个操作可以方便地将所有的类库打包在一起,形成一个可以很容易地使用的AAR文件。
三、使用Maven快速构建Android AAR包
Maven也是一种构建软件的工具,使用Maven可以快速构建Android AAR包。Maven与Gradle类似,也可以自动化执行很多传统的任务。Maven能够处理依赖关系并且有效地压缩文件,生成良好的ZIP格式包。
使用Maven进行构建,需要在project中的pom.xml文件中进行配置。因为Maven的构建过程需要用到pom.xml文件中定义的各种信息,所以我们在这个文件中指定各种信息:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>GROUP_ID</groupId>
<artifactId>ARTIFACT_ID</artifactId>
<version>VERSION_SNAPSHOT</version>
<packaging>aar</packaging>
<name>NAME</name>
</project>
在这里,GROUP_ID是该组件的标识符,ARTIFACT_ID是一个标识符,表示开发者开发的组件的名称,VERSION_SNAPSHOT是该组件的版本号,一般配置为snapshot,表示当前版本,NAME是一个表示名,可以自定义。
Maven使用并存储本地存储库的位置,因此要将存储库路径指定为Maven的本地存储库的位置。Maven可以在Gradle或其他构建工具中使用,也可以作为一个独立的构建工具使用。在项目中运行以下命令即可生成AAR文件:
mvn package
这个命令将生成带有相关依赖关系和其他信息的AAR文件,并将AAR文件放置在target文件夹的输出目录中。
结论
本文介绍了三种快速生成Android AAR包的工具:使用第三方库作为快速生成Android AAR包,使用Gradle快速构建Android AAR包和使用Maven快速构建Android AAR包。无论哪种方式都能快速简便地生成AAR包。