備忘録

調べ物の備忘録など何か書き残し。

AndroidStudio apkファイル名プロパティ探し

AndroidStudioで [Build -> Build APK]を実行した際、apkファイル名がデフォルトのものになってしまう。
これを自由なファイル名に変更する。


appのbuild.gradleに以下のプロパティを追記する。

android{
    applicationVariants.all {variant ->
        variant.outputs.each{ output ->
            def fileName = "output.apk"
            output.outputFile = new File(output.outputFile.parent, fileName)
            println output.outputFile
        }
    }
}

どういう意味か。

たぶん以下の内容だと思う。
Gradle Plugin User Guide - Android Studio Project Site

  • >Manipulating tasks
    • >All three variant classes share the following properties

表中 "outputFile"。

ApplicationVariantに含まれるパラメタのうち、outputFileが出力apkファイルの情報を表すFileクラスと思われる。
Fileクラスは多分これ
Project - Gradle DSL Version 2.2-20140924021627+0000
 >File file(Object path, PathValidation validation)


ちょっと調べたけどよくわからなかった点。
1.上ではApplicationVariantsの中のApplicationVariant1つだけを見ている。ApplicationVariantsは他に何を含むのか。

2.Gradle pluginの記述ではApplicationVariantの中にoutputFileがあるはず。
  だが実際にはApplicationVariant.outputsの下にoutputFileがある。この差異はどこから来るものか。

参考
AndroidStudio で APK のファイル名を変更する Gradle の設定 - Qiita