Android 使用 Maven Publish 插件打包发布到私有Maven仓库
Android Gradle 3.6.0之前
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| apply plugin: 'maven' uploadArchives { repositories { mavenDeployer { pom.artifactId = '项目信息' pom.version = '版本信息' repository(url: '私服仓库地址') { authentication(userName: '账号', password: '密码') } snapshotRepository(url: '私服快照地址') { authentication(userName: '账号', password: '密码') } } } }
|
Android Gradle 3.6.0 之后
Android Gradle 插件 3.6.0之后,Google推荐使用Maven Publish插件,但官方给出的示例过于简单,并没有私有库相关发布方法
发布
1.添加Maven Publish Plugin
在将要发布模块的build.gradle文件中添加 maven-publish 插件
1 2 3 4 5
| plugins { id 'com.android.library' id 'kotlin-android' id 'maven-publish' }
|
2.定义publishing Task发布ARR
大部分场景下Android会选择发布ARR提供可复用代码
以下代码示例为 AAR 库的发布,示例中包含了debug和release两种维度的发布,当然有时候我们仅仅发布release
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| afterEvaluate { publishing { publications { debug(MavenPublication) { from components.debug groupId = 'com.example.upgrade' artifactId = 'upgrade-debug' version = '1.0' } release(MavenPublication) { from components.release groupId = 'com.example.upgrade' artifactId = 'upgrade' version = '1.0' } } repositories { maven { url = MAVEN_URL credentials { username = MAVEN_PRIVATE_USERNAME password = MAVEN_PRIVATE_PASSWORD } } } } }
|
Gradle Maven Publish Plugin详细说明
使用
1.设置私有仓库地址
在项目根目录中settings.gradle文件中设置私有Maven地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url MAVEN_PRIVATE credentials { username MAVEN_PRIVATE_USERNAME password MAVEN_PRIVATE_PASSWORD } } } } rootProject.name = "MavenTest" include ':app'
|
2.引用已上传的ARR库
在app或使用的模块目录build.gradle文件中添加库
1 2 3
| dependencies { implementation 'com.example.upgrade:upgrade:1.0' }
|
参考
Gradle MavenPulish Plugin
Google示例