Android uygulaması sürümü için adım adım kontrol listesi
Kısa cevap: Sürümleri (versionCode/versionName) yapılandırın, imzalı bir release derlemesi (tercihen AAB) oluşturun, debug artefaktlarını kaldırın, Play Console'da Mağaza Listelemesini doldurun ve derlemeyi yükleyin; güncellemeler için versionCode'u artırın ve kademeli yayınlamayı kullanın.
Sürüm yönetimi
versionCode — tam sayıdır, zorunludur ve her sürümde artırılmalıdır. versionName — insan tarafından okunabilir bir dizedir (MAJOR.MINOR.PATCH semantik sürümleme). Örnek module:app/build.gradle dosyasında:
android {
defaultConfig {
versionCode 12
versionName "1.2.0"
}
}
Artırma işlemini gradle.properties veya CI üzerinden otomatikleştirin (örneğin, pipeline içinde bir sayaç) ve geri alma ile izlenebilirlik için sürümleri Git etiketiyle işaretleyin (git tag v1.2.0).
Geri alma sonrası sorun analizini kolaylaştırmak için changelog'u release notlarında ve Git etiketinde tutun.
Release derlemesine hazırlık
- Debug loglarını ve bayraklarını devre dışı bırakın: BuildConfig.DEBUG kullanın ve anahtarları buildConfigField ile ayırın.
- Obfuscation'ı (R8/ProGuard) etkinleştirin ve proguard-rules.pro dosyasını kontrol edin.
- Keystore oluşturun ve koruyun:
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
- build.gradle dosyasında signingConfigs örneği:
signingConfigs {
release {
storeFile file("my-release-key.jks")
storePassword "REPLACE_ME"
keyAlias "my-key-alias"
keyPassword "REPLACE_ME"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
Parolaları güvenli CI değişkenlerinde, keystore'u ise güvenli bir depoda (vault) saklayın.
Play App Signing etkinleştirilmeden keystore'un kaybedilmesi, zaten yayınlanmış bir uygulama için güncelleme yayınlamayı imkansız hale getirir.
Release derlemesi ve doğrulama
- Android Studio'da: Build > Generate Signed Bundle / APK — Android App Bundle (AAB) seçeneğini seçin.
- CLI'da: ./gradlew bundleRelease (AAB) veya ./gradlew assembleRelease (APK).
- Yüklemeden önceki kontroller: debug sembollerinin olmaması, manifest'teki izinlerin doğru olması, boyut optimizasyonu (apkanalyzer), gerçek cihazda test. Play için AAB önerilir; boyutu küçültür ve Dynamic Delivery sağlar.
Google Play'de yayınlama (ilk sürüm)
- Play Console'da hesap oluşturun ve mağaza verilerini doldurun (simge, ekran görüntüleri, açıklama, ülkeler, fiyat).
- Release > Production bölümünde AAB'yi yükleyin, release notlarını ekleyin ve Data Safety, Content Rating ile zorunlu alanları doldurun.
- İnceleme için gönderin — ilk sürümün inceleme süresi genellikle 1–7 gündür.
Internal Testing ile erken geri bildirim almak için derlemeleri en fazla 100 test kullanıcıya hızlıca dağıtabilirsiniz.
Güncellemelerin yayınlanması ve rollout
- Yüklemeden önce mutlaka versionCode'u artırın.
- Play Console'da yeni bir sürüm oluşturun, AAB'yi yükleyin ve "Yenilikler" bölümünü doldurun.
- Riskleri en aza indirmek için staged rollout (%5–%50) kullanın: önce küçük bir yüzde, ardından genişletin.
- Dağıtımı otomatikleştirin: Kararlı sürümler için CI'da Play App Signing + Fastlane (fastlane android release).
Sık yapılan hatalar
- versionCode artırılmadı — güncelleme reddedilir.
- Release için debug anahtarının kullanılması veya keystore'un kaybedilmesi.
- Release derlemesinde bırakılan API anahtarları/loglar.
- Yayınlandıktan sonra package name'in değiştirilmesi — uygulama yeni kabul edilir.
- Data Safety/izin politikalarının eksik doldurulması — reddedilme riski vardır.
SSS
-
S: AAB gerekli mi yoksa APK mı yüklenebilir?
C: Play için AAB önerilir; APK sideload ve enterprise dağıtımı için kullanılabilir. -
S: İnceleme nasıl hızlandırılır?
C: Eksiksiz ekran görüntüleri, doğru meta veriler ve yasaklı içerik bulunmaması manuel inceleme olasılığını azaltır. -
S: Sürüm sonrası çökme durumunda ne yapılmalı?
C: Firebase Crashlytics aracılığıyla logları hızlıca toplayın, metriklerle hatanın yaygınlığını değerlendirin ve staged rollout ile geri alın veya düzeltme yayınlayın. -
S: Keystore CI'da nasıl güvenli şekilde saklanır?
C: Dosyayı şifrelenmiş CI deposuna yükleyin, parolalar için secret'ları kullanın ve erişimi sınırlayın.
Bu kontrol listesi, Android uygulamasının güvenli ve öngörülebilir bir şekilde sürüme çıkarılması için pratik bir eylem sırası sunar. Otomasyona bağlı kalın, anahtarları koruyun ve riskleri en aza indirmek için staged rollout kullanın.