首页 > 解决方案 > Android,Gradle:如何根据构建变体在 Nexus 存储库上部署库?

问题描述

我正在开发一个 Android 库。

我有一个 Nexus 存储库,所以我可以在服务器上上传“.aar”文件。

为了自动部署,我在 gradle 文件中编写了一些代码,例如:


android {
    defaultConfig {
        versionCode 10006
        versionName "1.00.06"
    }

    buildTypes {
        debug {
            defaultConfig.versionName = defaultConfig.versionName + "-SNAPSHOT"
        }
        release {
            ...
        }
    }

}

uploadArchives {
    repositories {
        mavenDeployer {
            pom.project {
                artifactId 'mylib'
                group = 'com.my.lib'
                project.group = 'com.my.lib'
                version = android.defaultConfig.versionName
            }

            repository(url: 'MY_URL.com') {
                authentication(userName: USER_NAME, password: _PASSWORD)
            }
            snapshotRepository(url: 'My_URL2.com') {
                authentication(userName: USER_NAME, password: NEXUS_PASSWORD)
            }
        }
    }
}

但是当我将构建变体更改为“发布”时,它使用版本名称+“-SNAPSHOT”进行部署。

我想在“发布”的情况下删除后缀。

我怎样才能做到这一点?

标签: androidgradledeploymentandroid-gradle-plugin

解决方案


您的问题可以通过更新此博客中所示的上传代码来解决:https ://jeroenmols.com/blog/2015/08/06/artifactory/

或者您需要先清理构建项目,然后上传工件


推荐阅读