Uygulamanızı yayına hazırlayın

Uygulamanızı yayına 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 benzerdir ve JDK ve Android SDK araçları kullanılarak yapılabilir.

Test görevleri son bir kontrol işlevi görür ve uygulamanızın gerçek koşullar altında beklendiği gibi çalıştığından emin olmanıza yardımcı olur. Firebase, Firebase Test Lab aracılığıyla hem fiziksel hem de sanal test amaçlı çok sayıda cihaz 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 veya Google Play gibi bir uygulama ticaret sitesi üzerinden dağıtabilirsiniz.

Bu dokümanda, uygulamanızı yayına hazırlamak için gerçekleştirmeniz gereken temel görevler özetlenmektedir. Bu sayfada açıklanan görevler, nasıl yayınlandıklarına veya kullanıcılara nasıl dağıtıldıklarına bakılmaksızın 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 sürüm kriterlerinizi karşıladığından emin olun.

Hazırlık sürecinin geliştirme sürecine nasıl dahil olduğunu gösterir

Şekil 1. Yayına hazırlanmak gerekli bir geliştirme görevidir ve yayınlama sürecinin ilk adımıdır.

Sürüme hazırlanmak için görevler

Uygulamanızı kullanıcılara yayınlamak için kullanıcıların Android destekli cihazlarına yükleyip çalıştırabilecekleri yayına 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 oluşturulur. Ancak hata ayıklama APK dosyasının aksine, yayınlanmaya hazır APK dosyası kendi sertifikanızla imzalanır ve zipalign aracıyla optimize edilir.

Uygulamanızı yayına hazırlamak için gerçekleştirdiğiniz beş görevi gösterir

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ı tek seferde derlemek, imzalamak ve optimize etmek için Android Studio'yu Gradle derleme dosyalarıyla kullanabilirsiniz. Ayrıca, Gradle derleme dosyalarını, komut satırından derleme yaparken 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 yerine getirirsiniz. 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ı sürüm için yapılandırırken manifest dosyanıza özel filtreleme kuralları eklemek isteyebilirsiniz. Benzer şekilde, Google Play yayınlama yönergelerine uymak için, yayınlanacak materyalleri toplarken ekran görüntüleri hazırlamanız ve tanıtım metni oluşturmanız gerekebilir.

Şekil 2'de listelenen görevleri genellikle uygulamanızda ayrıntılı bir şekilde 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 destekleyici birkaç öğe toplamanız gerekir. En azından uygulamanızı imzalamaya yönelik ş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. Ağustos 2021'den sonra oluşturulan tüm uygulamaların Google Play Store için Play Uygulama İmzalama'yı kullanması gerekir. Ancak AAB'nizi Play Console'a yüklemek için yine de geliştirici sertifikanızla imzalamanız gerekir. Eski uygulamalar hâlâ kendi kendine imzalayabilir, ancak Play Uygulama İmzalama'yı kullanıyor veya kendi kendinize imzalıyor olun, uygulamanızı yüklemeden önce imzalamanız gerekir.

Sertifika şartları 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ını da almanız gerekebilir.

Uygulama simgesi

Uygulamanızın simgesi, kullanıcıların uygulamanızı cihazın Ana ekranında ve Başlatıcı penceresinde tanıtması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 uyduğ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 bir son kullanıcı lisans sözleşmesi (EULA) hazırlamayı düşünün. EULA; kişinizi, kuruluşunuzu ve fikri mülkiyetinizi korumaya yardımcı olabilir. Uygulamanızla birlikte bir sözleşme 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 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 bölümüne bakın.

Uygulamanızı yayınlanmak için yapılandırma

Tüm destekleyici materyallerinizi 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ünü inceleyin.

Hata ayıklamayı devre dışı bırak

APK'nın hata ayıklamaya uygun olup olmadığını yapılandırmak için Groovy için debuggable işaretini veya Kotlin komut dosyası için isDebuggable işaretini kullanın:

Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

Modern

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

Uygulama daraltmayı etkinleştirin ve yapılandırın

Aşağıdaki optimizasyonların birçoğu, sürüm derlemeniz için daraltma işlemi etkinleştirilerek 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. Küçültücü, DEX boyutunu daha da küçültmek için sınıf ve değişken adlarını daha kısa adlarla da 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, kodunuza eklediğiniz startMethodTracing() ve stopMethodTracing() yöntem çağrıları gibi tüm Debug izleme çağrılarını kaldırın.

Önemli: Ücretli içeriği görüntülemek için WebView veya JavaScript arayüzleri kullanıyorsanız hata ayıklama işlemi, kullanıcıların Chrome Geliştirici Araçları'nı kullanarak komut dosyası yerleştirmesine ve içerik çıkarmasına olanak sağladığından uygulamanızda hata ayıklama özelliğini 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 bilinmeyen veya sahipsiz dosyalar bırakmak, uygulamanızın derleme yapmasını engelleyebilir ve uygulamanızın öngörülemez davranışlar göstermesine neden olabilir. En azından aşağıdaki temizleme görevlerini gerçekleştirin:

  • cpp/, lib/ ve src/ dizinlerinizin içeriğini inceleyin. cpp/ dizini yalnızca Android NDK ile ilişkilendirilmiş kaynak dosyaları (ör. C veya C++ kaynak dosyaları, üstbilgi dosyaları ya da makefiles) içermelidir. lib/ dizini, yalnızca üçüncü taraf kitaplık dosyalarını veya özel kitaplık dosyalarını (önceden oluşturulmuş paylaşılan ve statik kitaplıklar dahil) içermelidir. src/ dizini yalnızca uygulamanızın kaynak dosyalarını (Java, Kotlin ve AIDL dosyaları) içermelidir. src/ dizini JAR dosyaları içermemelidir.
  • Projenizde, uygulamanızın kullanmadığı gizli veya özel veri dosyaları olup olmadığını kontrol edip bunları 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.
  • Test kitaplıkları için lib/ dizininizi 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 ve res/raw/ dizininizin içeriğini inceleyin.

Manifest ve Gradle derleme ayarlarınızı inceleme ve güncelleme

Aşağıdaki manifest ve derleme dosyaları öğelerinin doğru şekilde ayarlandığını doğrulayın:

  • <uses-permission> öğe

    Yalnızca uygulamanız için ilgili ve gerekli olan izinleri belirtin.

  • android:icon ve android:label özellikleri

    <application> öğesinde bulunan bu özellikler için değerler belirtmelisiniz.

  • versionCode ve versionName mülk

    Uygulama modülü düzeyindeki build.gradle veya build.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ınlıyorsanız 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 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ın en fazla sayıda kullanıcıya sunulmasını sağlamak için aşağıdakileri yapmayı düşünün:

Birden fazla ekran yapılandırması için destek ekleyin.
Birden fazla ekranı desteklemek için en iyi uygulamaları takip ettiğinizden emin olun. Birden fazla ekran yapılandırmasını destekleyerek, Android tarafından desteklenen 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 artırabilir.
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 ve hizmetler için URL'leri güncelleme

Uygulamanız uzak sunuculara veya hizmetlere erişiyorsa bir test URL'si veya yol değil, sunucu ya da hizmet için ü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üşünün. Lisanslama, mevcut kullanıcının uygulamanızı satın alıp almadığına bağlı olarak uygulamanıza erişimi kontrol etmenize olanak tanır. Uygulamanızı Google Play üzerinden yayınlıyor olsanız bile Google Play Lisanslama hizmetini kullanmak isteğe bağlıdır.

Google Play Lisanslama Hizmeti ve bu hizmeti uygulamanızda nasıl kullanabileceğiniz hakkında daha fazla bilgi için Uygulama Lisanslama bölümüne bakın.

Yayınlanacak uygulamanızı geliştirme

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ı imzalamaya yönelik araçlar (Keytool ve Jarsigner) bulunur. Android SDK, APK dosyasını derlemek ve optimize etmek için gereken araçları 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. Play Console'u, derleme yapılarını otomatik olarak Play Console'a yükleyecek şekilde 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 derleme oluşturmayı ve çalıştırmayı öğrenmek için Uygulamanızı oluşturma ve çalıştırma konusuna bakın.

Derleme sürecinde, 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 bir 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 sunucudan yararlanı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 (içerik feed'i gibi) içerik getiriyorsa sağladığınız içeriğin güncel ve üretime hazır olduğundan emin olun.

Uygulamanızı yayınlanmak üzere 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 boyutlarının ve uygulamanızın performansı ile pil verimliliğinin kabul edilebilir olduğundan emin olmak için uygulamanızı en az bir mobil cihaz boyutunda ve tablet boyutunda bir cihazda test edin. Firebase Test Lab, çeşitli farklı 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.