Android Manifest'te versionCode ve versionName


223

Android pazarında sürüm kodu = 2 ve sürüm adı = 1.1 olan uygulamam vardı

Ancak, bugün güncellerken, manifest'teki sürüm kodunu = 3 değiştirdim, ancak yanlışlıkla sürüm adımı 1.0.1 olarak değiştirdim ve apk'yi piyasaya yükledim.

Şimdi, uygulamamın kullanıcıları telefonlarında güncelleme bildirimi alacak mı, almayacaklar mı? Yoksa işlemi tekrar yapmalı mıyım?


1
size yardımcı olacak bu bağlantıyı deneyin .. " developer.android.com/tools/publishing/… "
MPG

Sürüm kodunu artırdıkça bunlar da olmalıdır. Teoride güncelleyici işaretleyici olarak kullanılan.
superUser

@ user838522 Lütfen en çok oyu alan cevabı seçilen cevap olarak işaretler misiniz?
xarlymg89

@ CarlosAlbertoMartínezGadea: user838522, en son 2013 yılında görüldü
serv-inc

Yanıtlar:


611

Referans Bağlantısı

android: versionCode

Dahili sürüm numarası. Bu sayı yalnızca bir sürümün diğerinden daha yeni olup olmadığını belirlemek için kullanılır; daha yüksek sayılar daha yeni sürümleri gösterir. Bu kullanıcılara gösterilen sürüm numarası değildir; bu sayı versionName özniteliği tarafından ayarlanır. Değer, "100" gibi bir tamsayı olarak ayarlanmalıdır. Her ardışık sürüm daha yüksek bir sayıya sahip olduğu sürece bunu istediğiniz şekilde tanımlayabilirsiniz. [...]

android: versionName

Kullanıcılara gösterilen sürüm adı. Bu öznitelik ham dize olarak veya bir dize kaynağına başvuru olarak ayarlanabilir. Dizenin kullanıcılara gösterilmesinden başka bir amacı yoktur. VersionCode özniteliği, dahili olarak kullanılan önemli sürüm numarasını tutar.

VersionName'in kullanıcıya gösterilen bir şey olduğu oldukça açık bir şekilde okunurken, sürümKodu önemlidir. Sadece artırmaya devam edin ve her şey iyi olmalı.


1
Bu ikisi arasında hiçbir matematiksel ilişki olmadığı anlamına gelir. Bu mu?
Vinil Chandran

Bu , aynı sürüm gibi görünen sessiz güncelleştirmeleri açıklar .
E. Sundin

11
Yalnızca not eklemek için: Google Play'in versionCode için izin verdiği en büyük değer 2100000000
Atul

1
Güncelleştirilmiş sürüm ile oyun deposundaki uygulamanın önceki sürümü arasındaki sürüm kodu farkını 1 olarak tutmak zorunlu mu?
Sivaram Boina

@sivaram Hayır. Hiç de değil.
Bilinmiyor

30

Adımlarınızı tersine çevirmenize gerek yok. VersionCode'unuzu artırdıkça, uygulamanız zaten yükseltilmiş demektir. VersionName, yalnızca kullanıcı tarafından okunabilir olması için sunulan bir dizedir. Google Play, VersionName'e bağlı olarak herhangi bir işlem yapmaz.



6

Size konuyla ilgili bulabileceğim tek belge hakkındaki yorumumu vereceğim.

"örneğin yükseltme veya eski sürüme geçiş ilişkisini denetlemek için." <- Bir uygulamayı eski sürüme geçirebilirsiniz.

"Uygulamanızın birbirini izleyen her sürümünün daha büyük bir değer kullandığından emin olmalısınız. Sistem bu davranışı zorunlu kılmaz" <- Sayı gerçekten artmalı, ancak yine de bir uygulamayı eski sürüme geçirebilirsiniz.

android: versionCode - Uygulama kodunun diğer sürümlere göre sürümünü temsil eden bir tam sayı değeri. Değer bir tamsayıdır, böylece diğer uygulamaların programlı olarak değerlendirebilmesi, örneğin bir yükseltme veya eski sürüme geçiş ilişkisini denetlemek için. Değeri istediğiniz herhangi bir tamsayıya ayarlayabilirsiniz, ancak uygulamanızın birbirini izleyen her sürümünün daha büyük bir değer kullandığından emin olmalısınız. Sistem bu davranışı zorunlu kılmaz, ancak ardışık sürümlerle değeri artırmak normatiftir. Tipik olarak, uygulamanızın ilk sürümünü versionCode 1 olarak ayarlanmış olarak bırakırsınız, ardından sürümün büyük veya küçük bir sürüm oluşturmasına bakılmaksızın monoton olarak her sürümdeki değeri artırırsınız. Bu android anlamına gelir: versionCode değeri, kullanıcı tarafından görülebilen uygulama sürümü sürümüyle güçlü bir benzerlik göstermez (bkz. android: versionName, aşağıdaki). Uygulamalar ve yayınlama hizmetleri bu sürüm değerini kullanıcılara göstermemelidir.


2
Öyleyse bu konuda bırakabilir miyim? Çünkü android sisteminin sürüm numarası yerine Sürüm Kodu'na dayalı uygulama güncellemelerini kontrol ettiğini düşünüyorum. Yanlışsam düzelt.
user838522

5

android: versionCode - Uygulama kodunun diğer sürümlere göre sürümünü temsil eden bir tam sayı değeri.

Değer bir tamsayıdır, böylece diğer uygulamaların programlı olarak değerlendirebilmesi, örneğin bir yükseltme veya eski sürüme geçiş ilişkisini denetlemek için. Değeri istediğiniz herhangi bir tamsayıya ayarlayabilirsiniz, ancak uygulamanızın birbirini izleyen her sürümünün daha büyük bir değer kullandığından emin olmalısınız. Sistem bu davranışı zorunlu kılmaz, ancak ardışık sürümlerle değeri artırmak normatiftir.

android: versionName - Uygulama kodunun yayın sürümünü temsil eden ve kullanıcılara gösterilmesi gereken dize değeri.

Değer, uygulama sürümünü .. dizesi olarak veya başka herhangi bir mutlak veya göreli sürüm tanımlayıcısı olarak tanımlayabilmeniz için bir dizedir.

Android: versionCode'da olduğu gibi, sistem bu değeri uygulamaların kullanıcılara görüntülemesini sağlamak dışında herhangi bir dahili amaç için kullanmaz. Yayıncılık hizmetleri de android: versionName değerini kullanıcılara gösterebilir.

Tipik olarak, uygulamanızın ilk sürümünü versionCode 1 olarak ayarlanmış olarak bırakırsınız, ardından sürümün büyük veya küçük bir sürüm oluşturmasına bakılmaksızın monoton olarak her sürümdeki değeri artırırsınız. Bu, android: versionCode değerinin, kullanıcı tarafından görülebilen uygulama sürümü sürümüyle güçlü bir benzerliği olmadığı anlamına gelir (aşağıdaki android: versionName'e bakın). Uygulamalar ve yayınlama hizmetleri bu sürüm değerini kullanıcılara göstermemelidir.


5

Aslında versionCode tabanlıdır ve versionName tabanlıdır. Ancak, AndroidManifest.xml'de versionCode'u değiştirmenin Android Studio - Gradle derleme sistemi ile yeterli olmadığını fark ettim. Bunu build.gradle'da değiştirmem gerekiyordu.


5

Sürüm Kodu Kodunuzun sürümünü temsil eder, android OS bu kod eski veya yeni olsun, bu değişkeni kullanarak güncelleme için kontrol edin.

Sürüm Adı Biçimdeki sürüm adını temsil eder.

(Ana). (Küçük). (Nokta)

Yalnızca okunabilir dize için kullanılan dize, işlevsel olarak sürüm kodu OS tarafından kullanılmıştır.


5

Sürüm Kodu - Diğer sürüm kodlarıyla karşılaştırmak için kullanılan pozitif bir tamsayıdır. Kullanıcıya gösterilmez, sadece bir şekilde kayıt tutmak içindir. İstediğiniz herhangi bir tamsayıya ayarlayabilirsiniz, ancak ardışık sürümler için doğrusal olarak artırmanız önerilir.

Sürüm Adı - Bu kullanıcı tarafından görülen sürüm dizesidir. Dahili karşılaştırmalar veya herhangi bir şey için kullanılmaz, sadece kullanıcıların görmesi için.

Örneğin : Bir uygulamayı yayınladığınızı, ilk sürümKodu 1 ve sürümAdı 1 olabileceğini varsayalım. Uygulamada bazı küçük değişiklikler yaptıktan ve bir güncelleme yayınlamak istediğinizde, versionName değerini "1.1" olarak ayarlarsınız (değişikliklerden beri büyük değil) mantıksal olarak versionCode'unuz 2 olmalıdır (değişikliklerin boyutuna bakılmaksızın).

Başka bir durumda uygulamanızın tamamen yenilenmiş bir sürümünü yayınladığınızı varsayalım, versionCode ve versionName öğelerini "2" olarak ayarlayabilirsiniz.

Umarım yardımcı olur.

Burada daha fazla bilgi edinebilirsiniz


0

MAJOR.MINOR.PATCH sürüm numarası verildiğinde:


  • Uyumsuz API değişiklikleri yaptığınızda önemli sürüm,
  • İşlevleri geriye dönük uyumlu bir şekilde eklediğinizde MINOR sürümü ve
  • PATCH sürümü geriye dönük uyumlu hata düzeltmeleri yaptığınızda.

Sürüm Kodu ve Sürüm Adı

Bildiğiniz gibi, android'de bir uygulama için iki sürüm alanı tanımlamanız gerekir: sürüm kodu (android: versionCode) ve sürüm adı (android: versionName). Sürüm kodu, uygulama kodunun sürümünü temsil eden artımlı bir tamsayı değeridir. Sürüm adı, kullanıcılara görüntülenen "kolay" sürüm adını temsil eden bir dize değeridir.


0

Cevap den Tanoh bazı konulara açıklık kullanabilirsiniz. VersionCode bir yapı numarasının eşdeğeridir. Yani genellikle bir uygulama yayınlanmadan önce birçok yinelemeden geçecektir. Bu yinelemelerden bazıları, Google Play mağazasına alfa, beta ve gerçek sürümler şeklinde ulaşabilir. Her ardışık yinelemenin artırılmış bir sürümKodu olmalıdır. Ancak, versionName öğesini yalnızca herkese açık sürümler arasında artırıyorsunuzdur. Her iki sayı da önemlidir. Kullanıcılarınızın telefonlarında kullandıkları sürümün en son sürüm olup olmadığını (versionName) ve bitrise gibi Play Store ve CI sistemlerini yapı numarasına güvenmesi ve / veya güncellemesi (versionCode)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.