87

私は Android Studio を使用してversionNameSuffixおり、Androidのbuild.gradleファイルにサフィックスを追加する必要があります。3 つの異なるビルド タイプがあり、「ベータ」リリースに日時を追加するだけで済みます。私の実際のファイルは次のとおりです。

defaultConfig {
    versionCode 14
    versionName "0.7.5"
    minSdkVersion 9
    targetSdkVersion 18
}
buildTypes {
    beta {
        packageNameSuffix ".beta"
        versionNameSuffix "-beta"
        signingConfig signingConfigs.debug
    }
    ....
}

0.7.5-beta-build20131004テストと自動デプロイのために、最終的な versionName などを取得する必要があります0.7.5-beta-build1380855996。何か案は?

4

7 に答える 7

38

build.gradle カスタム関数と変数で定義できます。

def versionMajor = 3

def buildTime() {
    def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'") // you can change it
    df.setTimeZone(TimeZone.getTimeZone("UTC"))
    return df.format(new Date())
}

次に、それを使用できます。

android {
    defaultConfig {
       versionName "${versionMajor}-beta-build-${buildTime()}"
    }
}

または、それを追加したい場合は versionNameSuffix

beta {
    versionNameSuffix "-beta-build-${buildTime()}"      
}
于 2013-10-06T14:09:46.297 に答える
8

また、 import as Gradle の最初の行を追加することを忘れないでください。

import java.text.SimpleDateFormat;
...
于 2015-05-13T09:18:33.507 に答える
1

私は Android Studio に詳しくありませんが、Gradle は通常どおりに動作すると仮定します。ビルド プロジェクトの構成に次のようなものを追加すると、うまくいくはずです。

allProjects {
    gradle.taskGraph.whenReady { taskGraph ->
        versionNameSuffix += '-build' + // Java/Groovy code to produce the timestamp formatted the way you want
    }
}
于 2013-10-04T13:31:22.813 に答える