Sürüm oluşturma, uygulama yükseltme ve bakım işlemlerinizin kritik bir bileşenidir üzerine konuşacağız. Sürüm oluşturma şu nedenlerden dolayı önemlidir:
- Kullanıcıların, kullandıkları uygulama sürümü hakkında belirli bilgilere sahip olması ve cihazlarında yüklü olan ve bu sürümler için mevcut olan teşekkür ederiz.
- Diğer uygulamalar (yayınladığınız diğer uygulamalar dahil) bir uygulamadır. Bu nedenle, uygulamanızın sürümü için sistem sorgulaması ve bağımlılıkları belirlemeye yardımcı olur.
- Uygulamalarınızı yayınladığınız hizmetlerin de şunları yapması gerekebilir: uygulamanızın sürümünü sorgulayarak uygulamanızın sürümünü yardımcı olur. Bir yayınlama hizmetinin, uygulama sürümünü kontrol etmesi ve ve eski sürüme geçiş ile yeni sürüme geçme ilişkileri kurma.
Android sistemi, cihazınızı korumak için uygulamanızın sürüm bilgilerini kullanır geri bildirimde bulunur. İlgili içeriği oluşturmak için kullanılan kullanıcının uygulama sürümü bilgilerini uygulama sürümü bilgileri ile yeni sürümler veya üçüncü taraf uygulamalarının uyumlulukları hakkında bilgi verir. Uygulamanız, ve bunları kullanıcılara anlatın.
Android sistemi, açıklandığı gibi sistem sürümü uyumluluğunu zorunlu kılar
derleme dosyalarında minSdk
ayarıyla yapılır. Bu ayar
uygulamanın uyumlu olduğu minimum sistem API'sini belirtmesini sağlar.
API şartları hakkında daha fazla bilgi için:
API düzeyi şartlarını belirtme bölümüne bakın.
Farklı projelerde sürüm oluşturma şartları değişiklik gösterir. Ancak birçok geliştirici Anlamsal Sürüm Oluşturma sürüm oluşturma stratejisidir.
Uygulama sürümü bilgilerini ayarlama
Uygulamanızın sürüm bilgilerini tanımlamak için sürümün değerlerini ayarlayın şu ayarları yapabilirsiniz:
Eski
android { namespace 'com.example.testapp' compileSdk 33 defaultConfig { applicationId "com.example.testapp" minSdk 24 targetSdk 33 versionCode 1 versionName "1.0" ... } ... } ...
Kotlin
android { namespace = "com.example.testapp" compileSdk = 33 defaultConfig { applicationId = "com.example.testapp" minSdk = 24 targetSdk = 33 versionCode = 1 versionName = "1.0" ... } ... } ...
Sürüm ayarları
Kullanılabilir sürüm ayarlarının her ikisi için de değerler tanımlayın: versionCode
ve
versionName
.
versionCode
- Dahili sürüm numarası olarak kullanılan pozitif bir tam sayı.
Bu numara, bir sürümün daha yeni olup olmadığını belirlemeye yardımcı olur
(yüksek sayılar daha yeni sürümleri belirtir.) Bu
kullanıcılara gösterilen sürüm numarası değil; bu sayı
versionName
ayar. Android sistemiversionCode
değeri, geçişleri engelleyerek eski sürüme geçmeye karşı koruma sağlar kullanıcıların daha düşükversionCode
değerine sahip bir APK yüklemesini .Diğer uygulamaların programatik olarak değerlendirme yapabilmesi için değer, pozitif bir tam sayıdır. kontrol edebilirsiniz. Örneğin, yükseltme veya düşürme ilişkisini kontrol edebilirsiniz. Şunları yapabilirsiniz: değeri herhangi bir pozitif tam sayı olarak ayarlayın. Ancak mutlaka uygulamanızın arka arkaya her sürümü daha fazla değer ortaya çıkarıyor.
Not: Google Play'in izin verdiği en büyük değere
versionCode
21.00000.000.Sahip olduğunuz
versionCode
ile Play Store'a APK yükleyemezsiniz önceki bir sürüm için zaten kullanılıyor.Not: Bazı durumlarda Uygulamanızın en yüksek sayıdan daha düşük
versionCode
değerine sahip bir sürümünü yükleyin son sürüm. Örneğin, birden fazla APK yayınlıyorsanız APK'nız olabilir Belirli APK'lar içinversionCode
aralıkları önceden ayarlanmış. Şu konuda daha fazla bilgi için: birden fazla APK içinversionCode
değeri atanıyor, Sürüm kodları atama.Genellikle uygulamanızın ilk sürümünü
versionCode
1'e ayarlanır, ardından değeri monoton bir şekilde artırır Büyük veya küçük bir yayın olup olmamasına bakılmaksızın her yayınla ilgili küçük yayın. Bu,versionCode
değerinin uygulama sürüm sürümüne benzese de kullanıcı tarafından görülebilir. Uygulamalar ve yayınlama hizmetlerinde bu sürüm gösterilmemelidir değer katarlar. versionName
Şu kullanıcılara gösterilen sürüm numarası olarak kullanılan bir dize: yardımcı olur. Bu ayar, ham dize olarak veya bir dize kaynağı.
Değer bir dizedir, böylece uygulama sürümünü <ana>.<küçük>.<nokta> diğer türlerdeki mutlak veya göreli sürüm tanımlayıcısı. Tek değer
versionName
kullanıcılara gösterilir.
Sürüm değerlerini tanımlayın
Bu ayarlar için varsayılan değerleri tanımlamak üzere
android {}
içine yerleştirilmiş defaultConfig {}
blok
modülünüzün build.gradle
veya build.gradle.kts
dosyasının bloğunu temsil eder. Şunları yapabilirsiniz:
ardından uygulamanızın farklı sürümleri için bu varsayılan değerleri geçersiz kılmak üzere
değerlerini daha iyi anlayabilir. Aşağıdaki dosyada
versionCode
ve versionName
ayarları
defaultConfig {}
blok ve productFlavors {}
bloğu.
Daha sonra bu değerler, derleme işlemi sırasında uygulamanızın manifest dosyasında birleştirilir.
Eski
android { ... defaultConfig { ... versionCode 2 versionName "1.1" } productFlavors { demo { ... versionName "1.1-demo" } full { ... } } }
Kotlin
android { ... defaultConfig { ... versionCode = 2 versionName = "1.1" } productFlavors { create("demo") { ... versionName = "1.1-demo" } create("full") { ... } } }
Bu örneğin defaultConfig {}
bloğunda
versionCode
değeri, mevcut APK'nın
ve versionName
dizesinde
olarak görüneceğini unutmayın. Bu dosya ayrıca iki ürün aromasını tanımlıyor:
"demo" ve "dolu" olarak da adlandırılır. Demodan bu yana ürün aroması versionName
tanımını şu şekilde tanımlar:
"1.1-demo", "demo" derleme, varsayılan değer yerine bu versionName
değerini kullanır.
"Tam" ürün aroma bloğu versionName
öğesini tanımlamaz, dolayısıyla
"1,1" varsayılan değerini kullanır.
Not: Uygulamanız, uygulama sürümünü doğrudan
<manifest>
öğesi, Gradle yapısındaki sürüm değerleri
manifest dosyasındaki ayarları geçersiz kılar. Bunlara ek olarak,
Gradle derleme dosyalarındaki ayarlar, işletmeniz için farklı değerler
en iyi uygulamaları paylaşacağız. Daha fazla esneklik sağlamak ve
manifesto birleştirildiğinde olası üzerine yazma ihtimalini ortadan kaldırın. Bunları kaldırın
özelliklerini <manifest>
öğesinden kaldırın ve
sürüm ayarlarını Gradle derleme dosyalarında bulabilirsiniz.
Android çerçevesi, sistemi sorgulamanıza olanak tanıyan bir API sunar.
adresini ziyaret edin. Sürüm bilgilerini almak için
her bir arama terimi için
PackageManager.getPackageInfo(java.lang.String, int)
yöntemini çağırın.
API düzeyi gereksinimlerini belirtin
Uygulamanız için Android'in belirli bir minimum sürümü gerekiyorsa
platformunda, bu sürüm koşulunu API düzeyi ayarlar olarak belirtebilirsiniz.
uygulamanın build.gradle
veya build.gradle.kts
dosyası. Derleme sırasında
bu ayarlar uygulamanızın manifest dosyasında birleştirilir. API düzeyini belirtme
gereksinimleri, uygulamanızın yalnızca
Android platformunun uyumlu bir sürümünü çalıştırıyorsunuz.
Not: API düzeyi gereksinimlerini doğrudan
manifest dosyasına koyduğunuzda, derleme dosyalarındaki karşılık gelen ayarlar
manifest dosyasındaki ayarları geçersiz kılabilir. Bunlara ek olarak,
Gradle derleme dosyalarındaki ayarlar, işletmeniz için farklı değerler
en iyi uygulamaları paylaşacağız. Daha fazla esneklik sağlamak ve
manifesto birleştirildiğinde olası üzerine yazma ihtimalini ortadan kaldırın. Bunları kaldırın
özelliklerini <uses-sdk>
öğesinden kaldırın ve API'nizi tanımlayın
düzeyinde ayarları Gradle derleme dosyalarında bulabilirsiniz.
İki API düzeyi ayarı vardır:
minSdk
: Minimum sürüm uygulamanın çalışacağı Android platformuna ait platformun API düzeyi tanımlayıcısına göre değişir.targetSdk
— API düzeyi üzerinde çalışmak için tasarlandığını unutmayın. Bazı durumlarda bu, veya hedefte tanımlanan manifest öğelerini ya da davranışları kullanmak için Yalnızca tanımlananları kullanmakla sınırlı olmak yerine API düzeyi seçin.
build.gradle
veya
build.gradle.kts
dosyası varsa, API düzeyindeki ayarlardan birini veya daha fazlasını
android {}
bloğunun içine yerleştirilmiş defaultConfig{}
blok. Şunları yapabilirsiniz:
farklı için bu varsayılan değerleri de geçersiz kıl
uygulamanızın sürümleri için de ayarlar ekleyin.
Aşağıdaki dosya, varsayılan olarak
minSdk
ve targetSdk
ayarları
defaultConfig {}
engelleme ve geçersiz kılma minSdk
tek bir ürün türü için:
Eski
android { ... defaultConfig { ... minSdk 21 targetSdk 33 } productFlavors { main { ... } afterNougat { ... minSdk 24 } } }
Kotlin
android { ... defaultConfig { ... minSdk = 21 targetSdk = 33 } productFlavors { create("main") { ... } create("afterNougat") { ... minSdk = 24 } } }
Uygulamanızı yüklemeye hazırlanırken sistem, uygulamanızın
bu ayarları sistem sürümüyle karşılaştırır. Öğe
minSdk
değeri sistem sürümünden büyükse
sistem, uygulamanın yüklenmesini engeller.
Bu ayarları belirtmezseniz sistem, uygulamanızın varsayılan olarak
tüm platform sürümleriyle uyumludur. Bu, minSdk
öğesinin
1
.
Daha fazla bilgi için API Düzeyi nedir? bölümüne bakın. Gradle derleme ayarları için Derleme varyantlarını yapılandırma bölümüne bakın.