5.2.4 发布到 Maven 仓库
AAR 包是 Google 为 Android 开发设计的一种 library 格式,全名为 Android Archive Library。与 Java Jar Library 不同的是, AAR 包除了 Java 代码还包含资源文件,即 xml 文件、图片、文字等。
其核心发布流程步骤如下。
1.配置
在 gradle.properties 中添加以下配置项:
1. BUILD_TYPE=release
2. MAVEN_URL=仓库地址
3. MAVEN_URL_SNAPSHOT=仓库地址
4. MAVEN_USER_NAME=用户名
5. MAVEN_PWD=用户密码
6.
7. SDK_VERSION_NAME=版本名
8. SDK_VERSION_NAME_SNAPSHOT=版本名
9. SDK_GROUP_ID=group id
10. SDK_ARTIFACT_ID=artifact id
11. SDK_TYPE=aar
2.上传 AAR 包
在 library Module 目录下的 build.gradle 文件中加入如下代码,即可上传 AAR 包:
1. apply plugin: 'maven'
2. uploadArchives {
3. repositories.mavenDeployer {
4. name = 'mavenCentralReleaseDeployer'
5. if (BUILD_TYPE.equals("release")) {
6. repository(url: MAVEN_URL) {
7. authentication(userName: MAVEN_USER_NAME, password:
MAVEN_PWD)
8. }
9. pom.version = SDK_VERSION_NAME
10. } else {
11. snapshotRepository(url: MAVEN_URL_SNAPSHOT) {
12. authentication(userName: MAVEN_USER_NAME, password:
MAVEN_PWD)
13. }
14. pom.version = SDK_VERSION_NAME_SNAPSHOT
15. }
16. pom.artifactId = SDK_ARTIFACT_ID
17. pom.groupId = SDK_GROUP_ID
18. pom.packaging = SDK_TYPE
19. }
20. }
通过添加以上上传 AAR 包的 Maven 插件,进行同步后,可以在 Gradle 任务中发现多了uploadArchives 任务,双击该任务,即可实现上传 AAR 包到 Maven 库中,如图 5-4 所示。
5.2.5 搭建私有 Maven 仓库
很多公司都会搭建自己的 Maven 仓库。一方面,公司中不同团队部门可以内部公用一些SDK,以更好地利用资源;另一方面,也可以抛弃使用 jar 包这种过时的引用依赖方式。下面就介绍一下通过 Nexus 搭建私有 Maven 仓库的主要方法。
1.安装 Nexus
( 1)进入 Sonatype 官网下载 Nexus