如何在Gradle

时间:2017-02-03 15:08:20

标签: android android-studio android-gradle android-build-type

我可以在flavor中设置versioncode和versionname,但我喜欢在我的构建类型中设置它们。 这有可能吗?

defaultConfig {
    versionCode 1
    versionName "1"
}
buildTypes {
    specialversion {
        versionCode 2      // <--- Doesn't work.
        versionName "2"    // <--- Doesn't work.
    }
}

2 个答案:

答案 0 :(得分:1)

Here是一个完整的字段列表,可以在buildType中进行修改。正如您可能看到的,没有您需要的字段。您最多可以使用versionNameSuffix

这应该放在productFlavors

defaultConfig {
    productFlavors {
        specialversion {
            versionCode 2      // <--- Doesn't work.
            versionName "2"    // <--- Doesn't work.
        }
    }
}

答案 1 :(得分:0)

我通过以下方式解决了这个问题。可能不推荐,但在我的情况下它是一个很好的解决方案。

我在我的buildvariants中使用manifestPlaceholders替换了AndroidManifest.xml中的值

   buildTypes {
demo {
...
            manifestPlaceholders = [iconpath: "@drawable/icon", versionCode:"161", versionName:"2.37"]
        }
   }

我的AndroidManifest.xml有以下内容:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="xxx"
    android:versionCode="${versionCode}"
    android:versionName="${versionName}"
    android:installLocation="auto">