1. ホーム
  2. android

[解決済み] gradleを使ってAPKファイル名にversionNameを設定するには?

2022-04-20 02:02:29

質問

gradleで自動生成されるAPKファイル名に、特定のバージョン番号を設定したいのですが、どうすればよいでしょうか?

これでgradleが生成する myapp-release.apk のような形にしたいのですが myapp-release-1.0.apk .

オプションの名前を変更しようとしましたが、面倒なようです。これを行うための簡単な方法はありますか?

buildTypes {
    release {
       signingConfig signingConfigs.release
       applicationVariants.each { variant ->
       def file = variant.outputFile
       variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" +    defaultConfig.versionName + ".apk"))
    }
}

上記のコードを試しましたが、うまくいきません。何か提案はありますか? (gradle 1.6を使用しています)

解決方法は?

これは私の問題を解決してくれました。 applicationVariants.all の代わりに applicationVariants.each

buildTypes {
      release {
        signingConfig signingConfigs.release
        applicationVariants.all { variant ->
            def file = variant.outputFile
            variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) 
        }
    }       
}

アップデートする

というわけで、android studio gradle pluginの0.14以上のバージョンでは動作しないようです。

これでうまくいきました(参考:こちら 質問 ) :

android {
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = new File(
                    output.outputFile.parent,
                    output.outputFile.name.replace(".apk", "-${variant.versionName}.apk"))
        }
    }
}