Uygulamaları Android 11'e taşıyın

Android'in her sürümünde yeni özelliklerin yanı sıra Android'i daha faydalı, daha güvenli ve daha iyi performans göstermeyi amaçlayan davranış değişiklikleri de sunuyoruz. Çoğu durumda uygulamanız kullanıma hazır olduğu gibi çalışır. Bazı durumlarda ise platformdaki değişikliklere uyum sağlamak için uygulamanızda değişiklikler yapmanız gerekebilir.

Kaynak kodu AOSP'de (Android Açık Kaynak Projesi) yayınlanır yayınlanmaz kullanıcılar yeni platformu almaya başlayabilirler. Bu nedenle, uygulamaların hazır olması, kullanıcılar için beklendiği gibi performans göstermesi ve yeni platformdan en iyi şekilde yararlanmak için yeni özellikler ile API'lerden yararlanması son derece önemlidir.

Bu belgede tipik geliştirme ve test aşamalarına dair genel bir bakış sunulmaktadır. Bu sayede, platformun sürüm zaman çizelgesiyle uyumlu bir hazırlık planı oluşturmanıza yardımcı olabilir ve Android 11'deki kullanıcılarınıza mükemmel bir deneyim sunabilirsiniz.

Tipik bir taşıma işlemi eş zamanlı olabilen iki aşamadan oluşur:

  • Uygulama uyumluluğunu sağlama (Android 11'in son sürümüyle)
  • Yeni platform özelliklerini ve API'leri hedeflemek (son sürümden sonra mümkün olan en kısa sürede)

Bu sayfada, bu aşamaların her birine ilişkin genel adımlar özetlenmektedir. Kullanmaya hazır olduğunuzda Android 11'i edinme başlıklı makaleyi okuyun.

Android 11 ile uyumluluk sağlama

En yeni Android sürümüne geçen kullanıcılara mükemmel bir deneyim sunmak için mevcut uygulamanızın işlevlerini Android 11 ile karşılaştırarak test etmeniz önemlidir. Platformdaki bazı değişiklikler uygulamanızın çalışma şeklini etkileyebilir. Bu nedenle, uygulamanızı erkenden ve kapsamlı bir şekilde test edip gerekli düzenlemeleri yapmanız önemlidir.

Genellikle uygulamanın targetSdkVersion ayarını değiştirmenize gerek kalmadan uygulamanızı ayarlayabilir ve güncelleme yayınlayabilirsiniz. Benzer şekilde, uygulamanızın oluşturulma şekline ve kullandığı platformun işlevine bağlı olarak da yeni API'ler kullanmanız veya uygulamanın compileSdkVersion ayarını değiştirmeniz gerekmez. Aşağıdaki bölümlerde adımlar özetlenmektedir.

Başlamadan önce, targetSdkVersion uygulamasında değişiklik yapmasanız bile uygulamanızı etkileyebilecek davranış değişiklikleri hakkında bilgi edinin.

Uyumluluk testi yapma

Android 11 ile uyumluluk testi çoğunlukla, uygulamanızı yayınlamaya hazırlanırken gerçekleştirdiğiniz test türüne benzer. Bu aşamada, temel uygulama kalitesi yönergelerini ve testlerle ilgili en iyi uygulamaları inceleyebilirsiniz.

Halihazırda yayında olan uygulamanızı Android 11 çalıştıran bir cihaza yükleyip sorun arayan tüm akışlar ve işlevlerle ilgilenebilirsiniz. Testinize odaklanmanıza yardımcı olması için Android 11'de kullanıma sunulan ve uygulamanızın işlevini etkileyebilecek veya kilitlenmesine neden olabilecek davranış değişikliklerini inceleyin. Özellikle, gizlilikle ilgili önemli değişiklikleri incelediğinizden ve değişikliklere uyum sağlamak için uyguladığınız düzeltmeleri test ettiğinizden emin olun.

Ayrıca, kısıtlanmış SDK dışı arayüzlerin kullanımlarını inceleyip test ettiğinizden ve bunun yerine herkese açık SDK veya NDK eşdeğerlerine geçtiğinizden emin olun. Bu erişimleri vurgulayan logcat uyarılarına dikkat edin ve bunları programatik olarak yakalamak için StrictMode yöntemini detectNonSdkApiUsage() kullanın.

Son olarak, uygulamanızdaki kitaplıkları ve SDK'ları tam olarak test ederek Android 11'de beklendiği gibi çalıştığından emin olun. Ayrıca gizlilik, performans, kullanıcı deneyimi, veri işleme ve izinler ile ilgili en iyi uygulamaları izleyin. Bir sorun bulursanız SDK'yı en son sürümüne güncellemeyi deneyin veya yardım için SDK geliştiricisiyle iletişime geçin.

Testinizi bitirip güncelleme yaptığınızda uyumlu uygulamanızı hemen yayınlamanızı öneririz. Böylece kullanıcılar uygulamayı erkenden test edebilir ve Android 11'e güncelleme yapan kullanıcılara sorunsuz bir geçiş sağlayabilirsiniz.

Uygulamanın hedeflemesini güncelleyin ve yeni API'lerle oluşturun

Daha önce açıklandığı gibi uygulamanızın uyumlu sürümünü yayınladıktan sonra, sonraki adım Android 11 için tam destek eklemektir. Bunun için targetSdkVersion uygulamasını güncellemeniz ve yeni API'ler ile Android 11 özelliklerinden yararlanmanız gerekir. Yeni platformu hedeflemeyle ilgili Google Play şartını göz önünde bulundurarak bunları hazır olduğunuzda yapabilirsiniz.

Çalışmanızı Android 11'i tam olarak destekleyecek şekilde planlarken, Android 11'i hedefleyen uygulamalar için geçerli davranış değişikliklerini incelemek iyi bir başlangıç olacaktır. Bu hedeflenen davranış değişiklikleri çözmeniz gerekebilecek işlevsel sorunlara neden olabilir. Bazı durumlarda ciddi bir gelişme gerektirebilir, bu yüzden bunları erkenden öğrenmek en iyisidir. Etkileri değerlendirmenize yardımcı olması amacıyla, seçili değişiklikler etkin durumdayken mevcut uygulamanızı test etmek için uyumluluk açma/kapatma düğmelerini de kullanabilirsiniz.

Aşağıdaki adımlarda Android 11'in tam olarak nasıl destekleneceği açıklanmaktadır.

SDK'yı alın, hedeflemeyi değiştirin, yeni API'lerle geliştirin

Tam Android 11 desteğini kullanmaya başlamak için önce Android 11 SDK'sını (ve gereken diğer araçları) Android Studio'ya indirin. Sonra uygulamanın targetSdkVersion ve compileSdkVersion değerlerini "30" olarak değiştirin ve uygulamayı yeniden derleyin. Ayrıntılar için kurulum kılavuzuna bakın.

Android 11 uygulamanızı test etme

Uygulamayı derleyip Android 11 çalıştıran bir cihaza yükledikten sonra uygulamanın Android 11'i hedeflerken düzgün çalıştığından emin olmak için teste başlayın. Bazı davranış değişiklikleri yalnızca uygulamanız yeni platformu hedeflediğinde geçerli olduğundan, başlamadan önce bu değişiklikleri incelemenizi öneririz.

Temel uyumluluk testinde olduğu gibi, sorunları arayan tüm akışları ve işlevleri inceleyin. Testlerinizde Android 11'i hedefleyen uygulamaların davranış değişikliklerine odaklanın. Özellikle, gizlilik değişikliklerini incelediğinizden ve değişikliklere uyum sağlamak için uyguladığınız düzeltmeleri test ettiğinizden emin olun. Ayrıca uygulamanızı temel uygulama kalitesi yönergelerine ve test için en iyi uygulamalara göre kontrol etmek de iyi bir zamandır.

Geçerli olabilecek SDK dışı arayüzlerin kullanımlarını inceleyip test ettiğinizden emin olun. Bu erişimleri vurgulayan logcat uyarılarına dikkat edin ve bunları programatik olarak yakalamak için StrictMode yöntemini detectNonSdkApiUsage() kullanın.

Son olarak, uygulamanızdaki kitaplıkları ve SDK'ları tam olarak test ederek Android 11'de beklendiği gibi çalıştığından emin olun. Ayrıca gizlilik, performans, kullanıcı deneyimi, veri işleme ve izinler ile ilgili en iyi uygulamaları izleyin. Bir sorun bulursanız SDK'yı en son sürümüne güncellemeyi deneyin veya yardım için SDK geliştiricisiyle iletişime geçin.

Uygulama uyumluluğu açma/kapatma düğmelerini kullanarak test etme

Android 11, geliştiricilere yönelik yeni bir özellik sunuyor. Bu özellik, uygulamanızın hedeflenmiş davranış değişiklikleriyle test edilmesini kolaylaştırır. Hata ayıklaması yapılabilir bir uygulamada açma/kapatma düğmeleriyle şunları yapabilirsiniz:

  • Uygulamanın targetSdkVersion değerini gerçekten değiştirmeden hedeflenen değişiklikleri test edin. Mevcut uygulamanız üzerindeki etkisini değerlendirmek amacıyla belirli hedeflenmiş davranış değişikliklerini zorunlu kılmak için açma/kapatma düğmelerini kullanabilirsiniz.
  • Testinizde yalnızca belirli değişikliklere odaklanın. Açma/kapatma anahtarları, hedeflenen tüm değişiklikleri bir defada ele almak yerine, test etmek istedikleriniz dışındaki tüm hedeflenen değişiklikleri devre dışı bırakmanıza olanak tanır.
  • Adb arasındaki açma/kapatmaları yönetin. Otomatik test ortamınızdaki açılabilir değişiklikleri etkinleştirmek ve devre dışı bırakmak için adb komutlarını kullanabilirsiniz.
  • Standart değişiklik kimliklerini kullanarak daha hızlı hata ayıklayın. Geçiş yapılabilir değişikliklerin her biri, günlük çıkışında kök nedendeki hataları hızlıca ayıklamak için kullanabileceğiniz benzersiz bir kimliğe ve ada sahiptir.

Uygulamanızın hedeflemesini değiştirmeye hazırlanırken veya Android 11 desteği için etkin bir geliştirme yaparken açma/kapatma anahtarları yardımcı olabilir. Daha fazla ayrıntı için ilgili belgelere göz atın.