发布AAR至Maven仓库

一、打包配置

1、编辑脚本

在需要打包的module下创建

publish.gradle

apply plugin: 'maven-publish'

task generateSourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier 'sources'
}

afterEvaluate {
    publishing {
        publications {
            Production(MavenPublication) {
                // Applies the component for the release build variant.
                from components.release

                groupId = GROUP_ID
                artifactId = ARTIFACT_ID
                version = VERSION
                // 上传source,这样使用放可以看到方法注释
                artifact generateSourcesJar
            }
        }
        repositories {
            // 定义一个 maven 仓库
            maven {
                url = VERSION.endsWith('SNAPSHOT') ? SNAPSHOT_URL : RELEASE_URL
                // 仓库用户名密码
                credentials {
                    username = USER_NAME
                    password = PASSWORD
                }
                // 允许通过不安全的HTTP连接与仓库通信
                allowInsecureProtocol(true)
            }
        }
    }
}

gradle.properties(配置打包脚本中依赖的资源)

RELEASE_URL=http://120.66.66.66:6666/repository/maven-releases/
SNAPSHOT_URL=http://120.66.66.66:6666/repository/maven-snapshots/

GROUP_ID=com.test.library
ARTIFACT_ID=library

# 在nexus配置的用户名
USER_NAME=userName
# 在nexus配置的用户密码
PASSWORD=password
# 版本号
VERSION=1.0.1-SNAPSHOT

2、其他配置

  • 在需要打包的module下的build.gradle中配置
apply from : "publish.gradle"

3、执行打包

在Android studio的Terminal中执行命令

./gradlew publish

二、使用配置

  • 项目根目录下的build.gradle添加依赖仓库
maven {
    // maven仓库地址
    url 'http://120.66.66.66:6666/repository/maven-public/'
    // 允许使用http访问的maven仓库,如果是https则不用配置
    allowInsecureProtocol = true
 }
  • module下的build.gradle中添加依赖
// com.test.library 是groupId
// library 是artifactId
// 1.0.1-SNAPSHOT 是版本号
implementation 'com.test.library:library:1.0.1-SNAPSHOT'

三、报错集合

does not allow updating artifact

  • 报错信息
Artifact updating: Repository ='releases:Releases' does not allow updating artifact='/com/github/120011676/vine/maven-metadata.xml.sha256'
  • 解决方案
    Gradle 6.x及以上发布仓库去除sha256、sha512 CheckSum文件

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

  • 报错信息
 Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
     You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing `org.gradle.java.home` in `gradle.properties`.
  • 解决方案
    在项目根目录的gradle.properties中配置
# 指定Gradle依赖的JAVA版本
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/12433,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?