android studio Gradle发布内容到云效Maven仓库

参考

一、Gradle6.x及以下版本的使用

1、上传仓库

build.gradle(:app):

// 上传maven

apply plugin: 'maven'
uploadArchives {
  repositories {
    mavenDeployer {
    // 生产库和非生产库账号密码在这里设置
    // "生产库"
   		repository(url: 'https://packages.aliyun.com/maven/repository/xxxx-release-xxxx/') {
        authentication(
          userName: 'xxx',
          password: 'xxx'
        )
    }
    // "非生产库"
    snapshotRepository(url: 'https://packages.aliyun.com/maven/repository/xxxx-snapshot-xxxx/') {
      authentication(
        userName: 'xxx',
        password: 'xxx'
      )
    }
      pom.version = '1.0.0'		//若为 '1.0.0-SNAPSHOT'上传到 “非生成库”
      pom.artifactId = 'mydemo'
      pom.groupId = 'com.test.demo'
    }
  }
}
① Sync Project后,点右边(一般在右边)菜单栏 “Gradle”。
② 双击运行 app–>Task—>upload—>uploadArchives;即可上传

android studio Gradle发布内容到云效Maven仓库_第1张图片

至此就已经将分享库上传到了云效的maven仓库,其他公共或者私人的maven流程同上,就是url要改下。

2、使用刚刚上传的仓库

build.gradle(:app):

allprojects {
  repositories {
    maven {
      url 'https://maven.aliyun.com/repository/public'	// 云效的maven仓库
    }
    maven {
      credentials {
        username 'xxx'		// 之前设置账号
        password 'xxx'		// 密码
      }
      url 'https://packages.aliyun.com/maven/repository/xxxxx-release-xxxxx/'
    }
    maven {
      credentials {
        username 'xxx'		// 之前设置账号
        password 'xxx'		// 之前设置账号
      }
      url 'https://packages.aliyun.com/maven/repository/xxxxx-snapshot-xxxxx/'
    }
  }
}

使用的话就这一句加依赖

implementation 'com.test.demo:mydemo:1.0.0'

二、Gradle7.0及以上版本的使用

build.gradle(:app):

apply plugin: 'maven-publish'

afterEvaluate {
    publishing {
        repositories {
            // 本地仓库
            //maven {
            //    name('modulelive')
            //    url uri("../repo")
            //}
            // 远程仓库
            maven {
                allowInsecureProtocol(true)
                name('mydemo')
                url = 'https://packages.aliyun.com/maven/repository/xxx-snapshot-xxx/'				//私有maven库地址(这个是“非生成库”版本,可以设置成生产库的url)
                credentials {
                    username 'xxxx'			// 账号
                    password 'xxxx'			// 密码
                }
            }
        }
        publications {
            debugType(MavenPublication) {
                from components.debug
                groupId "com.test.demo"
                artifactId "mydemo"
                version "1.0.0-SNAPSHOT"
            }
            releaseType(MavenPublication) {
                from components.release
                groupId "com.test.demo"
                artifactId "mydemo"
                version "1.0.0"
            }
        }
    }
}

android studio Gradle发布内容到云效Maven仓库_第2张图片

Android官方介绍:maven-publish
Gradle官方介绍:maven-publish

你可能感兴趣的:(android开发,android,studio,maven,gradle)