android - Google Play开发者API version_name

标签 android gradle google-play-developer-api

我正在尝试使用Gradle Play Publisher自动将应用发布到Google Play商店。到目前为止非常好,除了我无法以这种方式更新version_name之外,它只是忽略了它。

我尝试了./gradlew publishRelease -Dversion_name=3.0.0。似乎是由于Google Play API的限制。如果我运行./gradlew assembleRelease -Dversion_name=3.0.0生成apk,然后手动上传apk,则它会正确地上传3.0.0版本。只是想确保无法通过Google Play开发者API上传版本名称,还是Gradle Play Publisher的问题?

build.gradle


def version_name = System.getProperty("version_name")

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
        versionCode version_code
        versionName "${version_name}"
        renderscriptTargetApi 23
        renderscriptSupportModeEnabled true
        multiDexEnabled true

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

编辑:

根据R.Zagórski的建议,我尝试了:

1.
./gradlew assembleRelease -Dversion_name=3.0.0 publishRelease


2.
./gradlew assembleRelease -Pversion_name=3.0.0 publishRelease

build.gradle


def version_name = project.getProperty("version_name")
println "version name: "+version_name

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
        versionCode version_code
        versionName "${version_name}"
        renderscriptTargetApi 23
        renderscriptSupportModeEnabled true
        multiDexEnabled true

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    ...
}

但是仍然没有。只是要清楚,问题不是我没有在构建中得到version_name或错误的version_name,实际上,您在那里看到的println打印正确的版本。只是我在Google Play商店中什么都没有得到(请参见下图)。

enter image description here

最佳答案

这不是插件或API的问题。这就是gradle的工作方式。指示问题的其他答案是herehere

基本上,问题是gradle可能创建JVM fork进程来完成任务。因此,在运行publishRelease(即depends on assembleRelease )时,可能会创建单独的过程以在发布之前完成组装。并且您传递系统属性来发布任务,而不是组装任务。

解决方案可能是同时运行两个任务,并将参数传递给适当的一个:

./gradlew assembleRelease -Dversion_name=3.0.0 publishRelease

或按here所述设置项目属性而不是系统属性

关于android - Google Play开发者API version_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43920899/

相关文章:

java - Android webview输入类型文件

android - 如何在 iOS 项目中添加两个或多个 kotlin 原生模块

android - Google Play 计费 API : How to understand the user is subscribed?

android - android中的finish()和finishActivity(int requestCode)有什么区别

java - 使用 Android 在 Android MZ320 中使用 cpcl 将图像和文本打印到收据

android - 为属性 'inputFile' 指定的 app-debug-unaligned.apk 不存在

android - 用于应用内订阅收据检查的 Google Developer API(权限不足问题)

android - Google Play 开发者 API 不返回刷新 token

java - 选择微调器后的附加操作

android - 使用旧版本Gradle库的Android Studio