一、依赖工程maven配置
在依赖工程的gradle文件中加入如下配置:
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
pom.groupId = 'groupId' //项目组织唯一的标识符,如com.android.projectname
pom.artifactId = "artifactId"//项目的唯一的标识符,如mylib
pom.version = "1.0"
pom.packaging = 'aar'
repository(url: uri("xxxxx"))//输出到本地maven仓库,
//如D:\\mvn_projects\\project
}
}
}
点击android studio右上角同步工程,同步完成后点击android studio右上角图标,找到当前子工程,展开目录,双击执行发布。
二、引用配置
发布完成后修改要引用的项目配置:
- 修改项目根目录的build.gradle,在repositories中加入
maven {
url uri("xxxxx")
}//xxxxx为上面配置的本地maven仓库地址,如D:\\mvn_projects\\project
- 修改主工程build.gradle,在dependencies中加入
implementation 'groupId:artifactId:version '
//引用生成好的maven库,如com.android.projectname:mylib:1.0
点击android studio右上角同步工程,完成引用
三、如果子工程还有依赖子工程,则需要一级一级先将被依赖的子工程按以上操作处理。如果工程中有引用aar,需要将aar上传到maven仓库中,操作步骤如下:
- 在工程中新建gradle文件,如upload_aar.gradle,加入
apply plugin: 'maven-publish'
publishing {
repositories {
maven {
url uri("D:\\mvn_projects\\project")//上传地址
}
}
publications {
Aar_1(MavenPublication) {
groupId 'com.android.projectname'
artifactId 'aar_1'
version '1.0'
artifact 'xxxx/aar_1.aar' //要上传的aar路径
}
Aar_2(MavenPublication) {
groupId 'com.android.projectname'
artifactId 'aar_2'
version '1.0'
artifact 'xxxx/aar_2.aar' //要上传的aar路径
}
}
}
- 在工程的build.gradle中加入apply from: 'upload_aar.gradle',点击sync now同步工程,同步完成后点击android studio右上角的gradle图标,找到当前工程展开
双击publish执行上传任务,上传完成后修改原aar引用方式,如aar_1的引用方式修改为:
implementation ’com.android.projectname:aar_1:1.0’