Skip to content →

Penamaan Versi Build APK Menggunakan Gradle

Sebagai Android Developer, kita diharuskan mengenal baik mengenai Gradle. Dalam gradle tertera segala informasi mengenai aplikasi yang sedang kita bangun. Informasi tersebut antara lain: applicationId, minSdkVersion, buildTypes, dan lain-lain sampai dependency apa saja yang kita pakai.

Penggunaan Gradle tidak hanya sampai disana, masih banyak yang bisa kita manfaatkan dari Gradle, contohnya seperti yang akan kita bahas. Secara default ketika kita Build APK, penamaan APK akan menjadi app-debug.apkatau app-release.apk. Secara fungsional tidak ada masalah, APK-nya jadi. Tapi apabila kita bekerja secara tim, yang memiliki divisi tester dan ada product/project manager. Hal penamaan ini lambat laun akan menjadi hal yang menyebalkan, dimana akan terlalu sering seseorang dari tim yang menanyakan “Ini build versi berapa?” atau “Ini build update-nya apa saja?“. Untuk itu, ketika ingin mendistribusikan APK ke seluruh tim terkait, perlu dilakukan penamaan APK agar lebih informatif. Hal ini bisa dilakukan manual, yaitu dengan cara:  build apk -> rename di file manager. Tapi bagaimana agar kita dapat melakukan penamaan APK secara otomatis ketika apk berhasil di build??

Secara default, skema penamaan adalah

app-{buildType}.apk
app-debug.apk
app-release.apk

Tambahkan baris berikut di build.gradle dalam folder app

android {
   ...
   ...
   aplicationVariants.all { variant ->
       variant.outputs.each { output ->
           def newApkName = "genie-${variant.buildType.name}-${variant.versionName}.apk";
           output.outputFile = new File(output.outputFile.parentFile, newApkName);
       }
   }
}

Hasil modifikasi tersebut akan merubah skema penamaan menjadi

genie-{buildType}-{versi}.apk
genie-debug-1.0.apk
genie-release-1.0.apk

Skema tersebut bisa lebih informatif dengan menambahkan versi pada apk, otomatis ketika berhasil build APK. Sebenarnya bisa lebih informatif lagi dengan menambahkan object-object dari variabel variant. Silakan dicoba~

Published in Android

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *