8

build.gradle を構成したので、リリース ビルドを作成するたびに version.properties のバージョン コードが増加します。また、apk ファイル名にバージョン コードを使用します。ただし、Androidスタジオはバージョンの変更を無視しているように見えるため、IDEからデバッグビルドを実行し、コンソールを使用してリリースビルドをアセンブルし(バージョン番号が増加します)、IDEからデバッグを再度実行すると、バージョンが増加したapkが正しくビルドされますfilename BUT は古い apk をデバイスにアップロードします。

たとえば、バージョン コードを 377 にします。

  1. IDE からデバッグ ビルドを実行 -> ビルドとアップロード GradleTestApp-v1.5( 377 )-debug- unaligned.apk
  2. do gradle assambleRelease -> GradleTestApp-v1.5( 377 )-release-unsigned.apk をビルドし、versionCode を 378 に増やします
  3. IDE からデバッグ ビルドを再度実行 -> GradleTestApp-v1.5( 378 )-debug-unaligned.apk をビルドしますが (正しい動作)、古い GradleTestApp-v1.5( 377 )-debug- unaligned.apk をデバイスにアップロードします

私は何が欠けていますか?

ここに私のgradleスクリプトがあります:

ext{
    versionPropFile = 'version.properties'
    Properties versionProps =  getVersionProps()
}
project.archivesBaseName=project.archivesBaseName+"-v"+versionProps['name'] + "(" + versionProps['code']+")"


def Properties getVersionProps(){
    def Properties versionProps = new Properties()
    versionProps.load(new FileInputStream(file(versionPropFile)))
    return versionProps
}

task('increaseVersionCode') << {
    def Properties versionProps = new Properties()
    versionProps.load(new FileInputStream(file(versionPropFile)))
    int versionCode = versionProps['code'].toInteger()
    versionProps['code'] = (versionCode+1)+""
    versionProps.store(new FileOutputStream(file(versionPropFile)), "App version properties")
    println 'increasing version code to ' + versionProps['code']
}
android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"
        ...
}

assembleRelease.dependsOn('increaseVersionCode')
4

0 に答える 0