Uygulamanızı sürüme hazırlamak için uygulamanızın bir sürüm sürümünü yapılandırmanız, oluşturmanız ve test etmeniz gerekir. Yapılandırma görevleri, uygulamanızı optimize etmeye yardımcı olan temel kod temizleme ve kod değiştirme görevlerini içerir. Derleme işlemi, hata ayıklama derleme işlemine benzer ve JDK ve Android SDK araçlarıyla yapılabilir.
Test görevleri son bir kontrol işlevi görür ve uygulamanızın gerçek dünya koşullarında beklendiği gibi bir performans gösterdiğinden emin olmanıza yardımcı olur. Firebase, Firebase Test Lab üzerinden hem fiziksel hem de sanal test amaçlı büyük bir cihaz grubu sunar. Bunları uygulamanızın kalitesini artırmak için kullanabilirsiniz.
Uygulamanızı yayına hazırlamayı bitirdiğinizde, imzalı bir APK dosyanız olur. Bu dosyayı doğrudan kullanıcılara dağıtabilir veya Google Play gibi bir uygulama ticaret sitesi üzerinden dağıtabilirsiniz.
Bu dokümanda, uygulamanızı yayına hazırlamak için yapmanız gereken temel görevler özetlenmektedir. Bu sayfada açıklanan görevler, kullanıcılara nasıl yayınlandıkları veya dağıttıkları fark etmeksizin tüm Android uygulamaları için geçerlidir. Uygulamanızı Google Play üzerinden yayınlıyorsanız Güvenle yayınlama bölümünü okuyun.
Not: En iyi uygulama olarak, bu sayfada belirtilen görevleri gerçekleştirmeden önce uygulamanızın işlevsellik, performans ve kararlılıkla ilgili tüm yayın kriterlerinizi karşıladığından emin olun.

1. Şekil. Sürüme hazırlanmak gerekli bir geliştirme görevidir ve yayınlama sürecinin ilk adımıdır.
Yayına hazırlanmak için görevler
Uygulamanızı kullanıcılara sunmak için kullanıcıların Android destekli cihazlarına yükleyip çalıştırabilecekleri, yayınlanmaya hazır bir paket oluşturmanız gerekir. Yayınlanmaya hazır paket, hata ayıklama APK dosyasıyla aynı bileşenleri (derlenmiş kaynak kodu, kaynaklar, manifest dosyası vb.) içerir ve aynı derleme araçları kullanılarak derlenir. Ancak hata ayıklama APK'sının aksine yayınlanmaya hazır APK dosyası, kendi sertifikanızla imzalanır ve zipalign
aracıyla optimize edilir.

2. Şekil. Uygulamanızı yayına hazırlamak için beş ana görev vardır.
Uygulamanızı Android Studio ile oluşturuyorsanız imzalama ve optimizasyon görevleri genellikle sorunsuz olur. Örneğin, uygulamanızın tamamını tek seferde derlemek, imzalamak ve optimize etmek için Android Studio'yu Gradle derleme dosyalarıyla birlikte kullanabilirsiniz. Ayrıca, Gradle derleme dosyalarını komut satırından derleme yaparken de aynısını yapacak şekilde yapılandırabilirsiniz. Gradle derleme dosyalarını kullanma hakkında daha fazla bilgi için Derlemenizi yapılandırma bölümüne bakın.
Uygulamanızı yayına hazırlamak için genellikle Şekil 2'de gösterildiği gibi beş ana görevi gerçekleştirirsiniz. Her ana görev, uygulamanızı nasıl yayınladığınıza bağlı olarak bir veya daha fazla küçük görev içerebilir. Örneğin, uygulamanızı Google Play üzerinden yayınlıyorsanız uygulamanızı kullanıma sunmak üzere yapılandırırken manifest dosyanıza özel filtreleme kuralları eklemek isteyebilirsiniz. Benzer şekilde, Google Play yayınlama yönergelerine uymak için ekran görüntüleri hazırlamanız ve yayınlayacağınız materyalleri toplarken tanıtım metni oluşturmanız gerekebilir.
Genellikle, Şekil 2'de listelenen görevleri, uygulamanızda titizlikle hata ayıklayıp test ettikten sonra gerçekleştirirsiniz. Android SDK, Android uygulamalarınızı test etmenize ve hata ayıklamanıza yardımcı olacak çeşitli araçlar içerir. Daha fazla bilgi için Uygulamanızda hata ayıklama ve Uygulamanızı test etme bölümlerine bakın.
Malzeme ve kaynak toplama
Uygulamanızı yayına hazırlamak için birkaç destekleyici öğe toplamanız gerekir. En azından, uygulamanızı imzalamak için kullandığınız şifreleme anahtarları ve uygulama simgesi buna dahildir. Son kullanıcı lisans sözleşmesi de ekleyebilirsiniz.
Şifreleme anahtarları
Android, tüm APK'ların bir cihaza yüklenmeden veya güncellenmeden önce bir sertifikayla dijital olarak imzalanmasını gerektirir. Google Play Store için Ağustos 2021'den sonra oluşturulan tüm uygulamaların Play Uygulama İmzalama özelliğini kullanması gerekir. Ancak AAB'nizi Play Console'a yüklemek için yine de geliştirici sertifikanızla imzalamanız gerekir. Eski uygulamalar kendi kendine imza atmaya devam edebilir, ancak ister Play Uygulama İmzalama'yı ister kendi kendine imzalıyor olun, uygulamanızı yüklemeden önce imzalamanız gerekir.
Sertifika gereksinimleri hakkında bilgi edinmek için Uygulamanızı imzalama başlıklı makaleyi inceleyin.
Önemli: Uygulamanız, geçerlilik süresi 22 Ekim 2033'ten sonra sona eren bir şifreleme anahtarıyla imzalanmalıdır.
Uygulamanız bir hizmete erişiyorsa veya özel anahtarınıza dayalı bir anahtar kullanmanızı gerektiren bir üçüncü taraf kitaplığı kullanıyorsa başka sürüm anahtarları da edinmeniz gerekebilir.
Uygulama simgesi
Uygulamanızın simgesi, kullanıcıların uygulamanızı bir cihazın Ana ekranında ve Başlatıcı penceresinde tanımlamalarına yardımcı olur. Uygulamaları Yönet, İndirilmiş Öğelerim ve başka yerlerde de görünür. Ayrıca, Google Play gibi yayınlama hizmetleri de simgenizi kullanıcılara gösterir. Uygulama simgenizin olduğundan ve önerilen simge yönergelerine uygun olduğundan emin olun.
Not: Uygulamanızı Google Play'de yayınlıyorsanız simgenizin yüksek çözünürlüklü bir sürümünü oluşturmanız gerekir. Daha fazla bilgi için Uygulamanızı sergilemek için önizleme öğeleri ekleme bölümüne bakın.
Son kullanıcı lisans sözleşmesi
Uygulamanız için son kullanıcı lisans sözleşmesi (EULA) hazırlamayı düşünün. EULA; kişinizin, kuruluşunuzun ve fikri mülkiyetinizin korunmasına yardımcı olabilir. Uygulamanızla birlikte de bir EULA sözleşmesi yapmanızı öneririz.
Muhtelif malzemeler
Ayrıca, uygulamanızı tanıtmak için tanıtım ve pazarlama materyalleri hazırlamanız gerekebilir. Örneğin, uygulamanızı Google Play'de yayınlıyorsanız bir tanıtım metni hazırlamanız ve uygulamanızın ekran görüntülerini oluşturmanız gerekir. Daha fazla bilgi için Uygulamanızı sergilemek için önizleme öğeleri ekleme konusuna bakın.
Uygulamanızı yayınlanmak üzere yapılandırın
Destekleyici materyallerin tamamını topladıktan sonra uygulamanızı yayınlanmak üzere yapılandırmaya başlayabilirsiniz. Bu bölümde, uygulamanızı yayınlamadan önce kaynak kodunuzda, kaynak dosyalarınızda ve uygulama manifestinizde yapmanızı önerdiğimiz yapılandırma değişikliklerinin bir özeti yer almaktadır.
Bu bölümde listelenen yapılandırma değişikliklerinin çoğu isteğe bağlı olsa da iyi kodlama uygulamaları olarak kabul edildiğinden, bunları uygulamanızı öneririz. Bazı durumlarda, geliştirme sürecinizin bir parçası olarak bu yapılandırma değişikliklerini zaten yapmış olabilirsiniz.
Uygun bir uygulama kimliği seçin
Uygulamanızın kullanım ömrü boyunca uygun bir uygulama kimliği seçtiğinizden emin olun. Uygulamanızı kullanıcılara dağıttıktan sonra uygulama kimliğini değiştiremezsiniz. Ayarlamak için modül düzeyindeki build.gradle
veya build.gradle.kts
dosyasındaki applicationId
özelliğini kullanın. Daha fazla bilgi için Uygulama kimliğini ayarlama bölümüne bakın.
Hata ayıklamayı devre dışı bırak
APK'da hata ayıklanabilir olup olmadığını yapılandırmak için Groovy içindebuggable
işaretini veya Kotlin komut dosyası için isDebuggable
işaretini kullanın:
Kotlin
android { ... buildTypes { release { isDebuggable = false ... } debug { isDebuggable = true ... } } ... }
Eskitme
android { ... buildTypes { release { debuggable false ... } debug { debuggable true ... } } ... }
Uygulama daraltma özelliğini etkinleştirin ve yapılandırın
Aşağıdaki optimizasyonların birçoğu, sürüm derlemeniz için küçültme özelliğini etkinleştirerek otomatik hale getirilebilir. Örneğin, günlük ifadelerini kaldırmak için ProGuard kuralları ekleyebilirsiniz. Böylece küçültücü, kullanılmayan kod ve kaynakları tanımlayıp kaldırır. Ayrıca küçültücü, DEX boyutunu daha da küçültmek için sınıf ve değişken adlarını daha kısa adlarla değiştirebilir.
Günlük kaydını devre dışı bırak
Uygulamanızı yayınlanmak üzere derlemeden önce günlük kaydını devre dışı bırakın. Kaynak dosyalarınızdaki Log
yöntemlerine yapılan çağrıları kaldırarak günlük kaydını devre dışı bırakabilirsiniz. Ayrıca projenizde oluşturulan günlük dosyalarını veya statik test dosyalarını kaldırın.
Ayrıca, startMethodTracing()
ve stopMethodTracing()
yöntem çağrıları gibi kodunuza eklediğiniz tüm Debug
izleme çağrılarını kaldırın.
Önemli: Hata ayıklama, kullanıcıların Chrome Geliştirici Araçları'nı kullanarak komut dosyası yerleştirmesine ve içerik çıkarmasına olanak tanır. Bu nedenle, ücretli içeriği görüntülemek için WebView
veya JavaScript arayüzleri kullanıyorsanız uygulamanızda hata ayıklamayı devre dışı bıraktığınızdan emin olun. Hata ayıklamayı devre dışı bırakmak için WebView.setWebContentsDebuggingEnabled()
yöntemini kullanın.
Proje dizinlerinizi temizleyin
Projenizi temizleyin ve Projelere genel bakış bölümünde açıklanan dizin yapısına uygun olduğundan emin olun. Projenizde sabit veya artık durumda dosyalar bırakmak, uygulamanızın derleme yapmasını engelleyebilir ve beklenmedik şekilde davranmasına neden olabilir. En azından aşağıdaki temizleme görevlerini gerçekleştirin:
cpp/
,lib/
vesrc/
dizinlerinizin içeriğini inceleyin.cpp/
dizini yalnızca Android NDK ile ilişkili kaynak dosyaları (ör. C veya C++ kaynak dosyaları, başlık dosyaları ya da makefiles) içermelidir.lib/
dizini, önceden oluşturulmuş paylaşılan ve statik kitaplıklar da dahil olmak üzere yalnızca üçüncü taraf kitaplık dosyalarını veya özel kitaplık dosyalarını içermelidir.src/
dizini yalnızca uygulamanızın kaynak dosyalarını (Java, Kotlin ve AIDL dosyaları) içermelidir.src/
dizini JAR dosyası içermemelidir.- Projenizde, uygulamanızın kullanmadığı gizli veya tescilli veri dosyaları olup olmadığını kontrol edip bu dosyaları kaldırın. Örneğin, artık kullanmadığınız eski çekilebilir dosyalar, düzen dosyaları ve değer dosyaları için projenizin
res/
dizinine bakın ve bunları silin. lib/
dizininizde test kitaplıkları olup olmadığını kontrol edin ve uygulamanız artık kullanılmıyorsa bunları kaldırın.- Yayınlamadan önce güncellemeniz veya kaldırmanız gereken ham öğe dosyaları ve statik dosyalar için
assets/
dizininizin veres/raw/
dizininizin içeriğini inceleyin.
Manifest ve Gradle derleme ayarlarınızı inceleme ve güncelleme
Aşağıdaki manifest ve derleme dosyası öğelerinin doğru şekilde ayarlandığını doğrulayın:
<uses-permission>
öğeYalnızca uygulamanız için alakalı ve gerekli olan izinleri belirtin.
android:icon
veandroid:label
özellikleri<application>
öğesinde bulunan bu özellikler için değerler belirtmelisiniz.versionCode
veversionName
tesisUygulama modülü düzeyindeki
build.gradle
veyabuild.gradle.kts
dosyasında bulunan bu özellikler için değerler belirtmenizi öneririz. Daha fazla bilgi için Uygulamanıza sürüm oluşturma konusuna bakın.
Uygulamanızı Google Play'de yayınlarken ayarlayabileceğiniz birkaç ek derleme dosyası öğesi vardır. Örneğin, uygulama modülü düzeyindeki build.gradle
veya build.gradle.kts
dosyasında bulunan minSdk
ve targetSdk
özellikleri. Bunlar ve diğer Google Play ayarları hakkında daha fazla bilgi edinmek için Google Play'deki filtreler konusuna bakın.
Uyumluluk sorunlarını giderme
Android, uygulamanızı çok çeşitli cihazlarla uyumlu hale getirmek için çeşitli araçlar ve teknikler sağlar. Uygulamanızı mümkün olan en fazla sayıda kullanıcıya sunmak için aşağıdakileri yapabilirsiniz:
- Birden fazla ekran yapılandırması için destek ekleyin.
- Birden fazla ekranı destekleme ile ilgili en iyi uygulamalara uyduğunuzdan emin olun. Birden fazla ekran yapılandırmasını destekleyerek, Android'in desteklediği tüm ekran boyutlarında düzgün çalışan ve iyi görünen bir uygulama oluşturabilirsiniz.
- Uygulamanızı daha büyük ekranlar için optimize edin.
- Uygulamanızı, tabletler ve katlanabilir cihazlar gibi büyük ekranlı cihazlarda iyi çalışacak şekilde optimize edebilirsiniz. Örneğin, list-detail düzenleri daha büyük ekranlarda kullanılabilirliği iyileştirebilir.
- Jetpack kitaplıklarını kullanabilirsiniz.
- Jetpack, geliştiricilerin en iyi uygulamaları izlemelerine, standart kodları azaltmalarına ve tüm Android sürümleri ile cihazlarda tutarlı bir şekilde çalışan kodlar yazmalarına yardımcı olan bir kitaplık paketidir.
Sunucuların ve hizmetlerin URL'lerini güncelleme
Uygulamanız uzak sunuculara veya hizmetlere erişiyorsa bir test URL'si veya yol değil, sunucunun ya da hizmetin üretim URL'sini veya yolunu kullandığınızdan emin olun.
Google Play için lisanslamayı uygulama
Google Play üzerinden ücretli uygulama yayınlıyorsanız Google Play Lisanslama için destek eklemeyi düşünebilirsiniz. Lisanslama, mevcut kullanıcının uygulamayı satın alıp almadığına bağlı olarak uygulamanıza erişimi kontrol edebilmenizi sağlar. Uygulamanızı Google Play üzerinden yayınlıyor olsanız bile Google Play Lisanslama'yı kullanmak isteğe bağlıdır.
Google Play Lisanslama Hizmeti ve bu hizmeti uygulamanızda nasıl kullanacağınız hakkında daha fazla bilgi edinmek için Uygulama Lisanslama bölümüne bakın.
Yayınlanmak üzere uygulamanızı oluşturun
Uygulamanızı yapılandırmayı tamamladıktan sonra, imzalanmış ve optimize edilmiş, yayınlanmaya hazır bir APK dosyasında oluşturabilirsiniz. JDK'da APK dosyasını (Keytool ve Jarsigner) imzalamak için araçlar bulunur. Android SDK, APK dosyasını derleme ve optimize etme araçlarını içerir. Android Studio veya komut satırından Gradle derleme sistemini kullanıyorsanız derleme işleminin tamamını otomatikleştirebilirsiniz. Gradle derlemelerini yapılandırma hakkında daha fazla bilgi için Derleme varyantlarını yapılandırma bölümüne bakın.
Sürekli entegrasyon sistemi kullanıyorsanız yayınlama sürecinizi otomatikleştirmek için bir görev yapılandırabilirsiniz. Bu, sürüm APK'nızı veya AAB'nizi oluşturmakla sınırlı değildir. Derleme yapısını Play Console'a otomatik olarak yüklemek için de yapılandırabilirsiniz.
Android Studio ile Oluşturun
Özel anahtarınızla imzalanmış ve optimize edilmiş, yayınlanmaya hazır bir APK dosyası oluşturmak için Android Studio ile entegre Gradle derleme sistemini kullanabilirsiniz. Android Studio'dan derlemeleri nasıl oluşturup çalıştıracağınızı öğrenmek için Uygulamanızı oluşturma ve çalıştırma bölümüne bakın.
Derleme işleminde, uygulamanızı imzalamaya uygun bir sertifikanız ve özel anahtarınız olduğu varsayılır. Uygun bir sertifikanız ve özel anahtarınız yoksa Android Studio, sertifika oluşturmanıza yardımcı olabilir. İmzalama işlemi hakkında daha fazla bilgi için Uygulamanızı imzalama bölümünü inceleyin.
Harici sunucuları ve kaynakları hazırlama
Uygulamanız uzak bir sunucu kullanıyorsa sunucunun güvenli olduğundan ve üretimde kullanılmak üzere yapılandırıldığından emin olun. Bu durum, özellikle uygulamanızda uygulama içi faturalandırma uyguluyorsanız ve imza doğrulama adımını uzak bir sunucuda gerçekleştiriyorsanız önemlidir.
Ayrıca, uygulamanız uzak bir sunucudan veya gerçek zamanlı bir hizmetten (ör. içerik feed'i) içerik getiriyorsa sağladığınız içeriğin güncel ve üretime hazır olduğundan emin olun.
Uygulamanızı yayınlanmak için test etme
Uygulamanızın sürüm sürümünü test etmek, uygulamanızın gerçekçi cihaz ve ağ koşullarında düzgün bir şekilde çalıştığından emin olmanıza yardımcı olur. İdeal olarak, kullanıcı arayüzü öğelerinizin doğru şekilde boyutlandırıldığını ve uygulamanızın performansı ile pil verimliliğinin kabul edilebilir düzeyde olduğunu doğrulamak için uygulamanızı en az bir tane mobil cihaz boyutunda ve tablet boyutunda bir cihazda test edin. Firebase Test Lab, çeşitli cihazlarda ve Android OS sürümlerinde test yapmak için de yararlı olabilir.
Test için başlangıç noktası olarak Temel uygulama kalitesi konusuna bakın. Testleri tamamladıktan ve uygulamanızın sürüm sürümünün düzgün çalıştığından emin olduktan sonra uygulamanızı kullanıcılara yayınlayabilirsiniz. Daha fazla bilgi için Uygulamanızı kullanıcılara yayınlama bölümüne bakın.