发布一个AAR文件Maven的中央与摇篮不工作摇篮、中央、文件、工作

2023-09-04 09:47:13 作者:一次就好我陪你看天荒地老

发布的AAR文件的Maven中央与摇篮仍无法正常工作:

好吧,让我们reapeat所有我跟着来管理发布的AAR文件的Maven中央与摇篮的步骤(我主要是跟着这个的指南),只是要确定...

1)我使用机器人工作室,我有这个简单的Andr​​oid lib中,我想是可以在行家:的 https://github.com/danielemaddaluno/Android-Update-Checker

2)在UpdateCheckerLib文件夹我的lib code以上提及。而将在此文件夹的build.gradle 应用插件:com.android.library我得到的输出在build /输出/ AAR /目录的.aar模块的目录

3)我的第一个步骤是找到一个认可的存储库。我决定使用 Sonatype的OSS库。在这里,我注册了一个项目,打开一个新的问题(创建 - >创建问题 - >社区支持 - 开源项目库主机 - >新建项目)与组ID com.github.danielemaddaluno

4)所以我说在我的项目文件的根目录下: maven_push.gradle

 应用插件:行家
应用插件:签约

高清sonatypeRepositoryUrl
如果(isReleaseBuild()){
    的println发布版本
    sonatypeRepositoryUrl = hasProperty('RELEASE_REPOSITORY_URL')? RELEASE_REPOSITORY_URL
            :https://oss.sonatype.org/service/local/staging/deploy/maven2/
} 其他 {
    的println调试版本
    sonatypeRepositoryUrl = hasProperty('SNAPSHOT_REPOSITORY_URL')? SNAPSHOT_REPOSITORY_URL
            :https://oss.sonatype.org/content/repositories/snapshots/
}

高清getRepositoryUsername(){
    返回hasProperty('nexusUsername')? nexusUsername:
}

高清getRepositoryPassword(){
    返回hasProperty('nexusPassword')? nexusPassword:
}

afterEvaluate {项目 - >
    uploadArchives {
        库{
            mavenDeployer {
                beforeDeployment {MavenDeployment部署 - > signing.signPom(部署)}

                pom.artifactId = POM_ARTIFACT_ID

                库(网址:sonatypeRepositoryUrl){
                    认证(用户名:getRepositoryUsername(),密码:getRepositoryPassword())
                }

                pom.project {
                    名POM_NAME
                    包装POM_PACKAGING
                    说明POM_DESCRIPTION
                    网址POM_URL

                    SCM {
                        网址POM_SCM_URL
                        连接POM_SCM_CONNECTION
                        developerConnection POM_SCM_DEV_CONNECTION
                    }

                    许可{
                        许可 {
                            名POM_LICENCE_NAME
                            网址POM_LICENCE_URL
                            分布POM_LICENCE_DIST
                        }
                    }

                    开发商{
                        开发商{
                            ID POM_DEVELOPER_ID
                            名POM_DEVELOPER_NAME
                        }
                    }
                }
            }
        }
    }

    签约{
        所需{isReleaseBuild()&安培;&安培; gradle.taskGraph.hasTask(uploadArchives)}
        签署configurations.archives
    }

    任务androidJavadocs(类型:Javadoc中){
        来源= android.sourceSets.main.java.sourceFiles
    }

    任务androidJavadocsJar(类型:罐){
        分类='的javadoc'
        //基名= artifact_id
        从androidJavadocs.destinationDir
    }

    任务androidSourcesJar(类型:罐){
        分类='源'
        //基名= artifact_id
        从android.sourceSets.main.java.sourceFiles
    }

    文物{
        //档案packageReleaseJar
        档案androidSourcesJar
        档案androidJavadocsJar
    }
}
 

6)我加在位于根以下行文件gradle.properties:

  VERSION_NAME = 1.0.1-快照
VERSION_ code = 2
GROUP = com.github.danielemaddaluno

POM_DESCRIPTION = Android的更新检查
POM_URL = HTTPS://github.com/danielemaddaluno/Android-Update-Checker
POM_SCM_URL = HTTPS://github.com/danielemaddaluno/Android-Update-Checker
POM_SCM_CONNECTION = SCM:git@github.com:danielemaddaluno / Android的更新,Checker.git
POM_SCM_DEV_CONNECTION = SCM:git@github.com:danielemaddaluno / Android的更新,Checker.git
POM_LICENCE_NAME = Apache软件许可证2.0版
POM_LICENCE_URL = HTTP://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST =回购
POM_DEVELOPER_ID = danielemaddaluno
POM_DEVELOPER_NAME =丹尼尔Maddaluno
 

7)里面的根我修改了build.gradle从这样的:

  buildscript {
    库{
        jcenter()
    }
    依赖{
        类路径com.android.tools.build:gradle:1.0.0
    }
}

allprojects {
    库{
        jcenter()
    }
}
 
Android 打包上传AAR文件到本地Maven仓库并且引用

要这样:

  buildscript {
    库{
        mavenCentral()
    }
    依赖{
        类路径com.android.tools.build:gradle:1.0.0
    }
}

高清isReleaseBuild(){
    返回version.contains(快照)==假
}

allprojects {
    版本= VERSION_NAME
    组=集团

    库{
        mavenCentral()
    }
}

应用插件:Android的报告
 

8)我读了为每个模块或应用程序,我想上传到中央,我应该:

提供gradle.propeties 修改build.gradle添加以下行结尾: 的规定:../ maven_push.gradle

所以在UpdateCheckerLib文件夹我:

添加一个gradle.properties:

  POM_NAME = Android的更新检查
POM_ARTIFACT_ID = androidupdatechecker
POM_PACKAGING = AAR
 

修改了build.gradle在文件中的以下行的底部加入:../ maven_push.gradle

从申请

9)为了签下我的神器我所做的:

  GPG --gen键
GPG --list-键 - >让我PubKeyId ...
GPG --keyserver HKP://pool.sks-keyservers.net --send-键PubKeyId
 

10)我添加了一个文件,〜/ .gradle / gradle.properties 路径以这样的含量(以获得密钥我用 GPG --list-秘密密钥):

  signing.keyId = XXXXXXX
signing.password = YourPublicKeyPassword
signing.secretKeyRingFile =〜/ .gnupg / secring.gpg

nexusUsername = YourSonatypeJiraUsername
nexusPassword = YourSonatypeJiraPassword
 

11)命令和apt-get的在终端安装摇篮,因为Andoid工作室teminal不承认摇篮......

12)最后摇篮uploadArchives

13)我得到这个错误:

 失败:建立失败,一个例外。

* 哪里:
构建文件'/home/madx/Documents/Workspace/Android-Update-Checker/UpdateCheckerLib/build.gradle'行:1

* 什么地方出了错:
发生问题评估项目:UpdateCheckerLib。
>无法创建类型的插件LibraryPlugin。
 

也许这只是因为一个摇篮/摇篮插件的问题,但我想分享所有的程序,以防万一这可能是别人有帮助的!

在此先感谢!

发布的AAR文件jCenter与摇篮仍无法正常工作:

有一个伟大的感谢去JBaruch和他的前面回答!所以我想发布到jCenter而不是Maven的中央,作为事实上的事项jcenter()是mavenCentral的超集()。 好吧,让我们从我的GitHub库 Android的更新,检查的重新开始。 我试图按照他的一些技巧,但我还是卡住了... 我会写我的步骤,也为jcenter出版(希望这可能是有用的人)。也许我失去了一些东西......

1)注册Bintray与用户名:danielemaddaluno

2)启用自动签名上传的内容: 从Bintray 资料网址 - > GPG签名 - >复制粘贴公共/私钥。你可以找到分别这两个文件中 public_key_sender.asc / private_key_sender.asc 如果执行以下code(即 -a - 护甲的选项 GPG 用于生成ASCII铠装密钥对):

  GPG --gen键
    GPG -a --export daniele.maddaluno@gmail.com> public_key_sender.asc
    GPG -a --export秘密密钥daniele.maddaluno@gmail.com> private_key_sender.asc
 

2.1)在同一网页可以配置自动签名的:存储库 - > Maven的 - >检查GPG注册自动上传文件 - >更新

3)在同一网页你可以找到你的 Bintray API密钥(复制了以后使用)

4)在同一网页你可以配置你的 Sonatype的OSS用户(在这个问题的previous节中,我已经创建了一个用户和问题)

5)我的根将这两行的 build.gradle

 类路径com.github.dcendents:Android的行家 - 插件:1.2
类路径com.jfrog.bintray.gradle:摇篮 -  bintray  - 插件:1.1
 

所以,我自己的 build.gradle 根的样子:

  buildscript {
    库{
        jcenter()
    }
    依赖{
        类路径com.android.tools.build:gradle:1.0.0
        类路径com.github.dcendents:Android的行家 - 插件:1.2
        类路径com.jfrog.bintray.gradle:摇篮 -  bintray  - 插件:1.1
    }
}

allprojects {
    库{
        jcenter()
    }
}
 

6)我修改 build.gradle 位于在我的项目文件夹,它看起来像:

 应用插件:com.android.library
应用插件:com.github.dcendents.android-行家
应用插件:com.jfrog.bintray

//这是部署工件时使用的库的版本
版本=1.0.0

安卓{
    compileSdkVersion 21
    buildToolsVersion21.1.2

    defaultConfig {
        //的applicationIDcom.madx.updatechecker.lib
        的minSdkVersion 8
        targetSdkVersion 21
        版本code 1
        VERSIONNAME1.0.0
    }
    buildTypes {
        推出 {
            minifyEnabled假
            proguardFiles getDefaultProguardFile('ProGuard的-android.txt'),'proguard-rules.pro
        }
    }
}

依赖{
    编译文件树(导演:库,包括:['的* .jar'])
    编译org.jsoup:jsoup:1.8.1
}


高清SITEURL ='https://github.com/danielemaddaluno/Android-Update-Checker'//首页图书馆的网址
高清gitUrl ='https://github.com/danielemaddaluno/Android-Update-Checker.git'// Git仓库URL
组=com.github.danielemaddaluno.androidupdatechecker// Maven的组ID为神器


安装 {
    repositories.mavenInstaller {
        //这将生成的pom.xml有合适的参数
        POM {
            项目 {
                包装AAR

                //添加您的描述在这里
                命名该项目的目的是提供一个可重复使用的仪器来检查异步是否存在您的商店的应用程序的任何新发布的更新。
                网址SITEURL

                //设置许可证
                许可{
                    许可 {
                        名称Apache软件许可证2.0版
                        URLhttp://www.apache.org/licenses/LICENSE-2.0.txt
                    }
                }
                开发商{
                    开发商{
                        IDdanielemaddaluno
                        命名丹尼尔Maddaluno
                        电子邮件'daniele.maddaluno@gmail.com
                    }
                }
                SCM {
                    连接gitUrl
                    developerConnection gitUrl
                    网址SITEURL

                }
            }
        }
    }
}

任务sourcesJar(类型:罐){
    从android.sourceSets.main.java.srcDirs
    分类='源'
}

任务的javadoc(类型:Javadoc中){
    来源= android.sourceSets.main.java.srcDirs
    类路径+ = project.files(android.getBootClasspath()。加入(File.pathSeparator))
}

任务javadocJar(类型:罐,dependsOn:的javadoc){
    分类='的javadoc'
    从javadoc.destinationDir
}
文物{
    档案javadocJar
    档案sourcesJar
}



属性属性=新的属性()
properties.load(project.rootProject.file('local.properties')。newDataInputStream())

bintray {
    用户= properties.getProperty(bintray.user)
    键= properties.getProperty(bintray.apikey)

    配置= ['档案']
    PKG {
        回购=行家
        NAME =androidupdatechecker
        websiteUrl = SITEURL
        vcsUrl = gitUrl
        许可证=阿帕奇 -  2.0]
        发布=真
    }
}
 

7)我添加到根 local.properties 文件中的以下行:

  bintray.user =<您bintray用户名>
bintray.apikey =<您bintray API密钥>
 

8)添加到我的PATH默认的摇篮2.2.1实际使用的机器人工作室,例如:

  PATH = $ PATH:/etc/android-studio/gradle/gradle-2.2.1/bin
 

9)打开机器人工作室终端,执行:

 摇篮bintrayUpload
 

10)从Bintray - >我最近的包 - > androidupdatechecker(这是这里唯一的previous 9点)的执行后 - >添加到Jcenter - >勾选 - >集团ID为com.github.danielemaddaluno.androidupdatechecker。

11)最后我trye​​d遵循:Bintray - >我最近的包 - > androidupdatechecker - > Maven的中央 - >同步,但我得到了在页面右侧的同步状态栏这个错误:

 最后同步时间:从未
最后同步状态:验证失败
上次同步错误:
缺少签名:
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0-javadoc.jar.asc'
对于UpdateCheckerLib-1.0.0-javadoc.jar'不存在。
缺少签名:
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0.aar.asc'
关于'UpdateCheckerLib-1.0.0.aar'不存在。
缺少签名:
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0-sources.jar.asc'
对于UpdateCheckerLib-1.0.0-sources.jar'不存在。
缺少签名:
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0.pom.asc'
关于'UpdateCheckerLib-1.0.0.pom'不存在。
无效的POM:/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0.pom:
项目说明失踪删除现有的部分分级存储库。
 

解决方案

您可以发布您的AAR为JCenter代替。

这是在Android的工作室的默认值。 您可以从那里同步到中央更简单的方法。 这是so更容易发布有。 您可以使用 oss.jfrog.org快照。

Publish an aar file to Maven Central with Gradle still not working:

Ok, let's reapeat all the steps I followed to manage to "Publish an aar file to Maven Central with Gradle" (I mainly followed this guide), just to be sure...

1) I use "Android Studio" and I have this simple android lib that I would like to be available on maven: https://github.com/danielemaddaluno/Android-Update-Checker

2) In the UpdateCheckerLib folder I have the lib code abovementioned. And applying in the build.gradle of this folder apply plugin: 'com.android.library' i got as output an .aar in the build/outputs/aar/ directory of the module's directory

3) My first step was to find an approved repository. I decided to use the Sonatype OSS Repository. Here I registered a project opening a new Issue (Create --> Create Issue --> Community Support - Open Source Project Repository Hosting --> New Project) with groupid com.github.danielemaddaluno

4) So I added in the root of my project a file: maven_push.gradle:

apply plugin: 'maven'
apply plugin: 'signing'

def sonatypeRepositoryUrl
if (isReleaseBuild()) {
    println 'RELEASE BUILD'
    sonatypeRepositoryUrl = hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL
            : "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
} else {
    println 'DEBUG BUILD'
    sonatypeRepositoryUrl = hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
            : "https://oss.sonatype.org/content/repositories/snapshots/"
}

def getRepositoryUsername() {
    return hasProperty('nexusUsername') ? nexusUsername : ""
}

def getRepositoryPassword() {
    return hasProperty('nexusPassword') ? nexusPassword : ""
}

afterEvaluate { project ->
    uploadArchives {
        repositories {
            mavenDeployer {
                beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

                pom.artifactId = POM_ARTIFACT_ID

                repository(url: sonatypeRepositoryUrl) {
                    authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
                }

                pom.project {
                    name POM_NAME
                    packaging POM_PACKAGING
                    description POM_DESCRIPTION
                    url POM_URL

                    scm {
                        url POM_SCM_URL
                        connection POM_SCM_CONNECTION
                        developerConnection POM_SCM_DEV_CONNECTION
                    }

                    licenses {
                        license {
                            name POM_LICENCE_NAME
                            url POM_LICENCE_URL
                            distribution POM_LICENCE_DIST
                        }
                    }

                    developers {
                        developer {
                            id POM_DEVELOPER_ID
                            name POM_DEVELOPER_NAME
                        }
                    }
                }
            }
        }
    }

    signing {
        required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
        sign configurations.archives
    }

    task androidJavadocs(type: Javadoc) {
        source = android.sourceSets.main.java.sourceFiles
    }

    task androidJavadocsJar(type: Jar) {
        classifier = 'javadoc'
        //basename = artifact_id
        from androidJavadocs.destinationDir
    }

    task androidSourcesJar(type: Jar) {
        classifier = 'sources'
        //basename = artifact_id
        from android.sourceSets.main.java.sourceFiles
    }

    artifacts {
        //archives packageReleaseJar
        archives androidSourcesJar
        archives androidJavadocsJar
    }
}

6) I added in the file gradle.properties located in the root the following lines:

VERSION_NAME=1.0.1-SNAPSHOT
VERSION_CODE=2
GROUP=com.github.danielemaddaluno

POM_DESCRIPTION=Android Update Checker
POM_URL=https://github.com/danielemaddaluno/Android-Update-Checker
POM_SCM_URL=https://github.com/danielemaddaluno/Android-Update-Checker
POM_SCM_CONNECTION=scm:git@github.com:danielemaddaluno/Android-Update-Checker.git
POM_SCM_DEV_CONNECTION=scm:git@github.com:danielemaddaluno/Android-Update-Checker.git
POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=danielemaddaluno
POM_DEVELOPER_NAME=Daniele Maddaluno

7) Inside the root I modified the build.gradle from this:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

To this:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

def isReleaseBuild() {
    return version.contains("SNAPSHOT") == false
}

allprojects {
    version = VERSION_NAME
    group = GROUP

    repositories {
        mavenCentral()
    }
}

apply plugin: 'android-reporting'

8) I read that for each module or application I want to upload to central, I should:

provide a gradle.propeties modify build.gradle to add the following line at the end: apply from: '../maven_push.gradle'

So in the UpdateCheckerLib folder I:

Added a gradle.properties:

POM_NAME=Android Update Checker
POM_ARTIFACT_ID=androidupdatechecker
POM_PACKAGING=aar

Modified the build.gradle adding at the bottom of the file the following line: apply from: '../maven_push.gradle'

9) In order to sign my artifacts I did:

gpg --gen-key
gpg --list-keys  --> get my PubKeyId...
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys PubKeyId

10) I added a file to ~/.gradle/gradle.properties path with a content like this (to get the secret key I used gpg --list-secret-keys):

signing.keyId=xxxxxxx
signing.password=YourPublicKeyPassword
signing.secretKeyRingFile=~/.gnupg/secring.gpg

nexusUsername=YourSonatypeJiraUsername
nexusPassword=YourSonatypeJiraPassword

11) sudo apt-get install gradle in the terminal because "Andoid Studio" teminal didn't recognize gradle...

12) Finally gradle uploadArchives

13) I got this error:

FAILURE: Build failed with an exception.

* Where: 
Build file '/home/madx/Documents/Workspace/Android-Update-Checker/UpdateCheckerLib/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':UpdateCheckerLib'.
> Could not create plugin of type 'LibraryPlugin'.

Probably it is simply due a gradle/gradle plugin problem, but I wanted to share all the procedure, just in case it could be helpful for someone else!

Thanks in advance!

Publish an aar file to jCenter with Gradle still not working:

A great thanks goes to JBaruch and his anwer! So I'm trying to publish to jCenter instead of Maven Central, as the matter of fact that jcenter() is a superset of mavenCentral(). Ok let's start again from my github library Android-Update-Checker. I tried to follow some of his tips but I'm still stuck... I'm going to write my steps also for the jcenter publishing (hoping that could be useful to someone). Maybe I'm missing something...

1) Registered to Bintray with username: danielemaddaluno

2) Enabling the automatically signing of the uploaded content: from Bintray profile url --> GPG Signing --> copy paste your public/private keys. You can find respectively these two in files public_key_sender.asc/private_key_sender.asc if you execute the following code (the -a or --armor option in gpgis used to generate ASCII-armored key pair):

    gpg --gen-key
    gpg -a --export daniele.maddaluno@gmail.com > public_key_sender.asc
    gpg -a --export-secret-key daniele.maddaluno@gmail.com > private_key_sender.asc

2.1) In the same web page you can configure the auto-signing from: Repositories --> Maven --> Check the "GPG Sign uploaded files automatically" --> Update

3) In the same web page you can find your Bintray API Key (copy it for a later use)

4) In the same web page you can configure your Sonatype OSS User (in the previous section of the question I already created a user and a issue)

5) I added these two lines to the build.gradle in the root

classpath 'com.github.dcendents:android-maven-plugin:1.2'
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.1"

So that my own build.gradle in the root looks like:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
        classpath 'com.github.dcendents:android-maven-plugin:1.2'
        classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.1"
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

6) I modified my build.gradle located inside my project folder, and it looks like:

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: "com.jfrog.bintray"

// This is the library version used when deploying the artifact
version = "1.0.0"

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        //applicationId "com.madx.updatechecker.lib"
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 1
        versionName "1.0.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.jsoup:jsoup:1.8.1'
}


def siteUrl = 'https://github.com/danielemaddaluno/Android-Update-Checker'      // Homepage URL of the library
def gitUrl = 'https://github.com/danielemaddaluno/Android-Update-Checker.git'   // Git repository URL
group = "com.github.danielemaddaluno.androidupdatechecker"                      // Maven Group ID for the artifact


install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'

                // Add your description here
                name 'The project aims to provide a reusable instrument to check asynchronously if exists any newer released update of your app on the Store.'
                url siteUrl

                // Set your license
                licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id 'danielemaddaluno'
                        name 'Daniele Maddaluno'
                        email 'daniele.maddaluno@gmail.com'
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl

                }
            }
        }
    }
}

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

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}
artifacts {
    archives javadocJar
    archives sourcesJar
}



Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

bintray {
    user = properties.getProperty("bintray.user")
    key = properties.getProperty("bintray.apikey")

    configurations = ['archives']
    pkg {
        repo = "maven"
        name = "androidupdatechecker"
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

7) I added to the root local.properties file the following lines:

bintray.user=<your bintray username>
bintray.apikey=<your bintray API key>

8) Added to my PATH the default gradle 2.2.1 actually used by "Android Studio", for example:

PATH=$PATH:/etc/android-studio/gradle/gradle-2.2.1/bin

9) Open "Android Studio" terminal and execute:

gradle bintrayUpload

10) From Bintray --> My Recent Packages --> androidupdatechecker (this is here only after the execution of the previous point 9 ) --> Add to Jcenter --> Check the box --> Group Id = "com.github.danielemaddaluno.androidupdatechecker".

11) Finally I tryed to follow: Bintray --> My Recent Packages --> androidupdatechecker --> Maven Central --> Sync but I got this error in the "Sync Status" bar on the right of the page:

Last Synced: Never
Last Sync Status: Validation Failed
Last Sync Errors: 
Missing Signature: 
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0-javadoc.jar.asc' 
does not exist for 'UpdateCheckerLib-1.0.0-javadoc.jar'. 
Missing Signature: 
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0.aar.asc' 
does not exist for 'UpdateCheckerLib-1.0.0.aar'. 
Missing Signature: 
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0-sources.jar.asc' 
does not exist for 'UpdateCheckerLib-1.0.0-sources.jar'. 
Missing Signature: 
'/com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0.pom.asc' 
does not exist for 'UpdateCheckerLib-1.0.0.pom'. 
Invalid POM: /com/github/danielemaddaluno/androidupdatechecker/UpdateCheckerLib/1.0.0/UpdateCheckerLib-1.0.0.pom: 
Project description missing Dropping existing partial staging repository.

解决方案

You can publish your aar to JCenter instead.

It's the default in Android Studio. You can sync to Central from there in much easier way. It's so much easier to publish there. You can use oss.jfrog.org for snapshots.