28 Agu 2026 · 7 menit baca
Perbedaan versionCode dan versionName pada Aplikasi Android
Setiap aplikasi Android punya dua penanda versi, yaitu versionCode dan versionName. Keduanya sering tertukar padahal fungsinya berbeda. Salah mengaturnya bisa membuat upload ke Play Console gagal dengan pesan version code already used. Artikel ini menjelaskan perbedaan keduanya, aturan pentingnya, dan cara menghindari error saat mengunggah build baru.
Definisi versionCode dan versionName
versionCode adalah angka bulat internal yang dipakai sistem dan Google Play untuk membedakan satu build dengan build lain. Pengguna tidak melihat angka ini. Sementara versionName adalah teks yang dilihat pengguna, misalnya 1.2.0, yang menandakan versi aplikasi secara manusiawi. versionName boleh berupa teks bebas, sedangkan versionCode harus angka.
Kenapa versionCode harus naik tiap upload
Google Play memakai versionCode untuk menentukan mana build yang lebih baru. Setiap kali Anda mengunggah .aab baru, angka versionCode harus lebih besar dari build sebelumnya. Kalau tidak, Play Console menolaknya karena menganggap Anda mencoba mengunggah versi yang sama atau lebih lama. Aturan ini memastikan pengguna selalu mendapat build terbaru saat memperbarui aplikasi.
Error version code already used
Pesan version code already used muncul ketika Anda mengunggah build dengan versionCode yang sudah pernah dipakai, meski di track berbeda. Angka versionCode bersifat unik di seluruh aplikasi, jadi begitu suatu angka terpakai, Anda tidak bisa memakainya lagi. Solusinya sederhana, naikkan versionCode lalu build ulang.
Langkah cepat mengatasinya
- Buka file build.gradle modul aplikasi.
- Cari baris versionCode lalu naikkan angkanya, misalnya dari 5 menjadi 6.
- Perbarui versionName bila perlu agar sesuai perubahan.
- Build ulang .aab lalu unggah kembali ke Play Console.
Cara set di build.gradle
Di file build.gradle modul app, biasanya di dalam blok defaultConfig, Anda akan menemukan pengaturan versionCode berupa angka dan versionName berupa teks. Ubah versionCode menjadi angka yang lebih besar setiap kali merilis build baru, dan sesuaikan versionName agar mencerminkan versi yang Anda tampilkan ke pengguna.
Praktik penomoran versi yang baik
- Gunakan pola semantik untuk versionName seperti mayor.minor.patch, misalnya 1.4.2.
- Naikkan versionCode satu per satu setiap build, atau otomatiskan lewat skrip.
- Jangan pernah menurunkan versionCode karena akan ditolak Play Console.
- Selaraskan versionName dengan catatan rilis agar mudah dilacak.
- Catat pemetaan antara versionCode dan versionName untuk memudahkan debug.
Singkatnya, versionCode adalah angka teknis yang harus selalu naik, sedangkan versionName adalah label versi untuk pengguna. Kelola keduanya dengan disiplin agar setiap upload berjalan mulus tanpa error. Setelah build siap dan versinya benar, aplikasi akun perorangan baru tetap perlu closed testing dengan minimal 12 tester aktif selama 14 hari berturut-turut, dan layanan kami siap membantu tahap itu mulai Rp 150.000 dengan garansi sampai approve.
Pertanyaan yang sering ditanyakan
- Apakah versionName wajib berubah tiap upload?
- Tidak wajib, tapi disarankan agar pengguna tahu ada versi baru. Yang wajib naik setiap upload adalah versionCode.
- Berapa nilai versionCode maksimal yang boleh dipakai?
- versionCode adalah angka bulat dengan batas yang sangat besar, jauh lebih dari cukup untuk siklus rilis normal, jadi Anda tidak perlu khawatir kehabisan.
- Kenapa error version code already used muncul padahal saya pakai track berbeda?
- Karena versionCode unik di seluruh aplikasi, bukan per track. Angka yang sudah dipakai di track mana pun tidak bisa digunakan lagi.
- Bisakah versionCode diatur otomatis?
- Bisa. Banyak developer memakai skrip di build.gradle untuk menaikkan versionCode otomatis, misalnya berdasarkan nomor build CI.