Deploying Android AAR library to Artifactory via Gradle build fails with error “Error deploying artifact: Error transferring file”

☆樱花仙子☆ 提交于 2019-12-22 15:36:30

问题


When I run ./gradlew uploadArchives to deploy my library artifact to Artifactory server, I get the following error:

Uploading: com/example/android-lib/1.0.0-SNAPSHOT/android-lib-1.0.0-20150311.112243-1.aar to repository remote at http://artifactory:8081/artifactory/libs-snapshot-local
 Transferring 3787K from remote
Error writing to server
android-lib:uploadArchives FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':android-lib:uploadArchives'.
> Could not publish configuration 'archives'
> Error deploying artifact 'com.example:android-lib:aar': Error deploying artifact: Error transferring file

On the server, according to my understanding from the log, we receive error 401. Here's the log:

20150311144749|2|REQUEST|192.168.148.66|myuser|PUT|
/libs-snapshot-local/com/example/android-lib/1.0.0-SNAPSHOT/android-lib-1.0.0-20150311.112243-1.aar|HTTP/1.1|401|3878210

I have the following build.gradle:

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

repositories {
    jcenter()
}

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

version = "1.0.0-SNAPSHOT"
group = "com.example"

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 21
        versionCode 1
        versionName version
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:21.0.2'
}



uploadArchives {
    configuration = configurations.archives

    repositories {
        mavenDeployer {
            repository(url: 'http://artifactory:8081/artifactory/libs-snapshot-local') {
                authentication(userName: artifactoryUsername, artifactoryPassword)
            }

            pom.project {
                name 'android-lib'
                description 'cool lib'

                scm {
                    developerConnection '<repo url>'
                }
            }
        }
    }
}

回答1:


The authentication part seems to be broken - password is not passed correctly.
It should be:

repository(url: 'http://artifactory:8081/artifactory/libs-snapshot-local') {
    authentication(userName: artifactoryUsername, password: artifactoryPassword)
}


来源:https://stackoverflow.com/questions/28965844/deploying-android-aar-library-to-artifactory-via-gradle-build-fails-with-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!