versionCode vs versionName di Android Manifest


223

Saya memiliki aplikasi saya di pasar android dengan kode versi = 2 dan nama versi = 1.1

Namun, saat memperbaruinya hari ini, saya mengubah kode versi = 3 dalam manifes tetapi secara tidak sengaja mengubah nama versi saya menjadi 1.0.1 dan mengunggah apk ke pasar.

Sekarang, akankah pengguna aplikasi saya mendapat pemberitahuan pembaruan di ponsel mereka atau tidak? Atau haruskah saya mengulang prosesnya lagi?


1
coba tautan ini, ini akan membantu Anda .. " developer.android.com/tools/publishing/… "
MPG

Mereka seharusnya, ketika Anda meningkatkan kode versi. Yang secara teori adalah yang digunakan sebagai penanda updater.
superUser

@ user838522 dapatkah Anda menandai jawaban yang paling banyak dipilih sebagai jawaban yang dipilih?
xarlymg89

@ CarlosAlbertoMartínezGadea: user838522 terakhir terlihat pada 2013
serv-inc

Jawaban:


610

Tautan Referensi

android: versionCode

Nomor versi internal. Angka ini hanya digunakan untuk menentukan apakah satu versi lebih baru daripada yang lain, dengan angka yang lebih tinggi menunjukkan versi yang lebih baru. Ini bukan nomor versi yang ditunjukkan kepada pengguna; nomor itu diatur oleh atribut versionName. Nilai harus ditetapkan sebagai bilangan bulat, seperti "100". Anda dapat mendefinisikannya sesuka Anda, selama setiap versi berturut-turut memiliki angka yang lebih tinggi. [...]

android: versionName

Nama versi ditampilkan kepada pengguna. Atribut ini dapat ditetapkan sebagai string mentah atau sebagai referensi ke sumber daya string. String tidak memiliki tujuan lain selain untuk ditampilkan kepada pengguna. Atribut versionCode menyimpan nomor versi signifikan yang digunakan secara internal.

Membaca bahwa itu sangat jelas bahwa versionName hanya sesuatu yang ditunjukkan kepada pengguna, versionCode adalah yang terpenting. Terus tingkatkan dan semuanya harus baik.


1
Itu berarti tidak ada hubungan matematis antara keduanya. Apakah itu?
Vinil Chandran

Itu menjelaskan pembaruan diam yang tampaknya versi yang sama.
E. Sundin

11
Hanya untuk menambahkan catatan: Nilai terbesar yang dimungkinkan Google Play untuk versionCode adalah 2100000000
Atul

1
Apakah wajib untuk mempertahankan perbedaan kode versi antara vesrion yang diperbarui dan versi aplikasi sebelumnya di play store menjadi 1?
Sivaram Boina

@sivaram No. Tidak sama sekali.
Tidak diketahui

30

Jangan perlu membalikkan langkah Anda. Ketika Anda meningkatkan VersionCode Anda, itu berarti aplikasi Anda telah ditingkatkan. VersionName hanyalah string yang disajikan kepada pengguna untuk keterbacaan pengguna. Google play tidak melakukan tindakan apa pun tergantung pada VersionName.



6

Saya akan memberi Anda interpretasi saya tentang satu-satunya dokumentasi yang dapat saya temukan pada subjek.

"misalnya untuk memeriksa hubungan peningkatan atau penurunan peringkat." <- Anda dapat menurunkan versi aplikasi.

"Anda harus memastikan bahwa setiap rilis aplikasi Anda berturut-turut menggunakan nilai yang lebih besar. Sistem tidak menerapkan perilaku ini" <- Jumlahnya benar-benar harus meningkat, tetapi Anda masih dapat menurunkan versi aplikasi.

android: versionCode - Nilai integer yang mewakili versi kode aplikasi, relatif terhadap versi lain. Nilai adalah bilangan bulat sehingga aplikasi lain dapat secara terprogram mengevaluasinya, misalnya untuk memeriksa hubungan pemutakhiran atau penurunan. Anda dapat mengatur nilai ke bilangan bulat apa pun yang Anda inginkan, namun Anda harus memastikan bahwa setiap rilis berturut-turut dari aplikasi Anda menggunakan nilai yang lebih besar. Sistem tidak menegakkan perilaku ini, tetapi meningkatkan nilai dengan rilis yang berurutan adalah normatif. Biasanya, Anda akan merilis versi pertama aplikasi Anda dengan versionCode diatur ke 1, kemudian secara monoton meningkatkan nilai dengan setiap rilis, terlepas apakah rilis tersebut merupakan rilis besar atau kecil. Ini berarti android: nilai versionCode tidak harus memiliki kemiripan yang kuat dengan versi rilis aplikasi yang terlihat oleh pengguna (lihat android: versionName, di bawah). Aplikasi dan layanan penerbitan tidak boleh menampilkan nilai versi ini kepada pengguna.


2
Jadi bisakah saya membiarkannya begitu saja? Karena saya pikir sistem android memeriksa pembaruan aplikasi berdasarkan Kode Versi alih-alih nomor versi. Koreksi saya jika saya salah.
user838522

5

android: versionCode - Nilai integer yang mewakili versi kode aplikasi, relatif terhadap versi lain.

Nilai adalah bilangan bulat sehingga aplikasi lain dapat secara terprogram mengevaluasinya, misalnya untuk memeriksa hubungan pemutakhiran atau penurunan. Anda dapat menetapkan nilai ke bilangan bulat apa pun yang Anda inginkan, namun Anda harus memastikan bahwa setiap rilis aplikasi Anda berturut-turut menggunakan nilai yang lebih besar. Sistem tidak menegakkan perilaku ini, tetapi meningkatkan nilai dengan rilis yang berurutan adalah normatif.

android: versionName - Nilai string yang mewakili versi rilis dari kode aplikasi, seperti yang seharusnya ditunjukkan kepada pengguna.

Nilainya adalah string sehingga Anda dapat menggambarkan versi aplikasi sebagai .. string, atau sebagai jenis pengenal versi absolut atau relatif lainnya.

Seperti halnya android: versionCode, sistem tidak menggunakan nilai ini untuk tujuan internal apa pun, selain untuk mengaktifkan aplikasi untuk menampilkannya kepada pengguna. Layanan penerbitan juga dapat mengekstrak nilai android: versionName untuk tampilan kepada pengguna.

Biasanya, Anda akan merilis versi pertama aplikasi Anda dengan versionCode diatur ke 1, kemudian secara monoton meningkatkan nilai dengan setiap rilis, terlepas apakah rilis tersebut merupakan rilis besar atau kecil. Ini berarti bahwa nilai android: versionCode tidak harus memiliki kemiripan yang kuat dengan versi rilis aplikasi yang terlihat oleh pengguna (lihat android: versionName, di bawah). Aplikasi dan layanan penerbitan tidak boleh menampilkan nilai versi ini kepada pengguna.


5

Ini memang didasarkan pada versionCode dan bukan pada versionName. Namun, saya perhatikan bahwa mengubah versionCode di AndroidManifest.xml tidak cukup dengan Android Studio - Gradle build system. Saya perlu mengubahnya di build.gradle.


5

Kode Versi Merupakan Versi kode Anda, OS android memeriksa pembaruan dengan menggunakan variabel ini apakah kode ini lama atau baru.

Nama Versi Merupakan nama versi dalam format-

(Mayor). (Kecil). (Titik)

String, digunakan hanya untuk string yang dapat dibaca, kode versi yang fungsional telah digunakan oleh OS.


5

Kode Versi - Ini adalah bilangan bulat positif yang digunakan untuk perbandingan dengan kode versi lainnya. Itu tidak diperlihatkan kepada pengguna, itu hanya untuk penyimpanan catatan. Anda dapat mengaturnya ke bilangan bulat apa pun yang Anda suka, tetapi disarankan agar Anda menambahkannya secara linear untuk versi yang berurutan.

Nama Versi - Ini adalah string versi yang dilihat oleh pengguna. Itu tidak digunakan untuk perbandingan internal atau apa pun, itu hanya untuk dilihat oleh pengguna.

Sebagai contoh : Katakanlah Anda merilis aplikasi, versionCode awalnya bisa 1 dan versionName juga bisa 1. Setelah Anda membuat beberapa perubahan kecil pada aplikasi dan ingin menerbitkan pembaruan, Anda akan mengatur versionName menjadi "1.1" (karena perubahan tidak utama) sementara secara logis kode versi Anda harus 2 (terlepas dari ukuran perubahan).

Katakanlah dalam kondisi lain Anda merilis versi aplikasi Anda yang sepenuhnya dirubah, Anda dapat mengatur versionCode dan versionName menjadi "2".

Semoga itu bisa membantu.

Anda dapat membaca lebih lanjut di sini


0

Diberi nomor versi MAJOR.MINOR.PATCH, menambah:


  • Versi UTAMA ketika Anda membuat perubahan API yang tidak kompatibel,
  • Versi MINOR saat Anda menambahkan fungsionalitas dengan cara yang kompatibel ke belakang, dan
  • Versi PATCH saat Anda membuat perbaikan bug yang kompatibel dengan mundur.

Kode Versi & Nama Versi

Seperti yang Anda ketahui, di android Anda harus menentukan dua bidang versi untuk suatu aplikasi: kode versi (android: versionCode) dan nama versi (android: versionName). Kode versi adalah nilai integer tambahan yang mewakili versi kode aplikasi. Nama versi adalah nilai string yang mewakili nama versi "ramah" yang ditampilkan kepada pengguna.


0

The jawaban dari Tanoh bisa menggunakan beberapa klarifikasi. VersionCode setara dengan nomor build. Jadi biasanya sebuah aplikasi akan melalui banyak iterasi sebelum rilis. Beberapa dari iterasi ini mungkin berhasil masuk ke Google Play store dalam bentuk rilis alpha, beta, dan aktual. Setiap iterasi berturut-turut harus memiliki kode versi yang ditambahkan. Namun, biasanya Anda hanya meningkatkan versionName saat antara rilis publik. Kedua angka itu signifikan. Pengguna Anda perlu tahu apakah versi yang mereka miliki di ponsel mereka adalah yang terbaru atau tidak (versionName) dan sistem Play Store dan CI seperti mengandalkan bitrise dan / atau memperbarui nomor build (versionCode)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.