8
8

More than 5 years have passed since last update.

Android Gradle Plugin 0.14.3+でAPKファイル名を変更する

Posted at

GradleでビルドしたAPKファイルの名前を変更する方法です。
…それだけだと今更の話なのですが、
Android Studio 1.0 RC1もリリースされたようだし、Gradle Pluginも最新化して…と試してみるとGradle Plugin 0.14.3の変更でいくつかの古いプロパティが使えなくなっていました。
自分の場合はAPKファイルのリネーム部分でCould not find propety 'packageApplication'等々のエラーが起き、Syncすらできなかったため、改めて新しいAPIでAPKファイル名の変更を試しました。

普通にビルドすると

app-[productFlavor]-[buildType].apk

のような名前になると思いますが、これを

[applicationId]-[productFlavor]-[buildType]-[versionCode]-[versionName]-[gitCommitHash].apk

のようにします。

取りあえず以下のようにすればできました。ごちゃごちゃして汚いですが…
(アプリはappというサブプロジェクトになっている前提です)
Android Studio 1.0 RC1 + Gradle Plugin 0.14.4 + Gradle 2.1では警告等出ていません。

build.gradle
android {
    :
    project.ext.gitHash = "git rev-parse --short HEAD".execute().text.trim()
    applicationVariants.all { variant ->
        def output = variant.outputs.get(0)
        File apk = output.outputFile
        String newName = output.outputFile.name
                .replace(".apk", "-${variant.mergedFlavor.versionCode}-${variant.mergedFlavor.versionName}-${project.ext.gitHash}.apk")
                .replace("app-", "${variant.mergedFlavor.applicationId}-")
        output.outputFile = new File(apk.parentFile, newName)
    }
}
8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8