Android 17, bu sürüm döngüsünün planlanan son beta sürümü olan beta 4'e ulaştı. Bu, uygulama uyumluluğu ve platform kararlılığı açısından kritik bir dönüm noktasıdır. Uygulamanızın kullanıcı deneyimine ince ayar yaparken, uçtan uca sorunsuz oluşturma sağlarken veya en yeni API'lerden yararlanırken Beta 4, test etmeniz gereken neredeyse son ortamı sunar.
Uygulamalarınızı, kitaplıklarınızı, araçlarınızı ve oyun motorlarınızı hazırlayın.
Android SDK'sı, kitaplığı, aracı veya oyun motoru geliştiriyorsanız alt akış uygulama ve oyun geliştiricilerinin uyumluluk sorunları nedeniyle engellenmesini önlemek ve en yeni SDK özelliklerini hedeflemelerine olanak tanımak için gerekli güncellemeleri şimdi yapmanız çok önemlidir. Lütfen alt akış geliştiricilerinize Android 17'nin tam olarak desteklenmesi için güncelleme yapılması gerekip gerekmediğini bildirin.
Test işlemi, Google Play'i veya başka yöntemleri kullanarak üretim uygulamanızı ya da Android 17 Beta 4 çalıştıran bir cihaza veya emülatöre kitaplığınızı ya da motorunuzu kullanan bir test uygulamasını yüklemeyi içerir. Uygulamanızdaki tüm akışları inceleyin ve işlevsel veya kullanıcı arayüzü sorunlarını tespit edin. Android'in her sürümünde gizliliği, güvenliği ve genel kullanıcı deneyimini iyileştiren platform değişiklikleri bulunur. Testinizi odaklamak için Android 17'de çalışan ve Android 17'yi hedefleyen uygulamalar için uygulamayı etkileyen davranış değişikliklerini inceleyin. Bu değişiklikler arasında aşağıdakiler yer alır:
- Büyük ekranlarda yeniden boyutlandırma: Android 17'yi hedeflediğinizde, büyük ekranlarda yön, yeniden boyutlandırma ve en boy oranı kısıtlamalarını korumayı devre dışı bırakamazsınız.
- Dinamik kod yükleme: Uygulamanız Android 17 veya sonraki sürümleri hedefliyorsa DEX ve JAR dosyaları için Android 14'te kullanıma sunulan daha güvenli dinamik kod yükleme (DCL) koruması artık yerel kitaplıkları da kapsıyor. System.load() kullanılarak yüklenen tüm yerel dosyalar salt okunur olarak işaretlenmelidir. Aksi takdirde sistem UnsatisfiedLinkError hatası verir.
- Varsayılan olarak CT'yi etkinleştirin: Sertifika şeffaflığı (CT) varsayılan olarak etkindir. (Android 16'da CT kullanılabilir ancak uygulamaların özelliği etkinleştirmesi gerekir.)
- Yerel ağ korumaları: Android 17 veya sonraki sürümleri hedefleyen uygulamalarda yerel ağ erişimi varsayılan olarak engellenir. Mümkünse gizliliği koruyan seçicileri kullanmaya geçin ve geniş kapsamlı, kalıcı erişim için yeni ACCESS_LOCAL_NETWORK iznini kullanın.
- Arka planda ses sağlamlaştırma: Android 17'den itibaren ses çerçevesi, ses çalma, ses odağı istekleri ve ses seviyesi değişikliği API'leri dahil olmak üzere arka planda ses etkileşimleriyle ilgili kısıtlamaları zorunlu kılar. Geri bildirimleriniz doğrultusunda, beta 2'den bu yana bazı değişiklikler yaptık. Bu değişiklikler arasında, kullanımdayken FGS zorunluluğu ve alarm sesinin muaf tutulması sırasında targetSDK sınırlaması yer alıyor. Tüm ayrıntıları güncellenen yönergelerde bulabilirsiniz.
Uygulama bellek sınırları
Android, uygulamalarınız ve Android kullanıcıları için daha kararlı ve deterministik bir ortam oluşturmak amacıyla cihazın toplam RAM'ine göre uygulama belleği sınırları getiriyor. Android 17'de, sistem temellerini oluşturmak için sınırlar muhafazakar bir şekilde belirlenir. Bu sınırlar, sistem genelinde kararsızlığa yol açarak kullanıcı arayüzünün takılmasına, pilin hızlı tükenmesine ve uygulamaların kapatılmasına neden olmadan önce aşırı bellek sızıntılarını ve diğer aykırı değerleri hedefler. Uygulama oturumlarının büyük çoğunluğunun bu değişiklikten çok az etkilenmesini bekliyoruz. Ancak, bellek için temel oluşturma da dahil olmak üzere aşağıdaki bellek en iyi uygulamalarını uygulamanızı öneririz.
Mevcut uygulamada, uygulamanız etkilendiyse ApplicationExitInfo içindeki getDescription, "MemoryLimiter" dizesini içerir. Bellek sınırı aşıldığında toplanan yığın dökümlerini almak için TRIGGER_TYPE_ANOMALY ile tetikleyici tabanlı profil oluşturma özelliğini de kullanabilirsiniz.
Android Studio Panda, bellek sızıntılarını bulmanıza yardımcı olmak için LeakCanary entegrasyonunu doğrudan Android Studio Profiler'a özel bir görev olarak ekler. Bu görev, IDE içinde bağlamsallaştırılır ve kaynak kodunuzla tamamen entegre edilir.
Daha az bellekte kaplanan yer, doğrudan daha sorunsuz performans, daha uzun pil ömrü ve tüm form faktörlerinde üstün bir deneyim anlamına gelir. Android ekosistemi için daha hızlı ve güvenilir bir geleceği birlikte inşa edelim.
Uygulama anormallikleri için profilleme tetikleyicileri
Android, kaynak yoğun davranışları ve olası uyumluluk gerilemelerini izleyen cihaz üzerinde anormallik algılama hizmetini kullanıma sunuyor. ProfilingManager ile entegre olan bu hizmet, uygulamanızın sistem tarafından algılanan belirli etkinlikler tarafından tetiklenen profil oluşturma yapılarını almasına olanak tanır.
Aşırı bağlayıcı çağrıları ve aşırı bellek kullanımı gibi sistem performansı sorunlarını tespit etmek için TRIGGER_TYPE_ANOMALY tetikleyicisini kullanın. Bir uygulama, işletim sistemi tarafından tanımlanan bellek sınırlarını ihlal ettiğinde anomali tetikleyici, geliştiricilerin bellek sorunlarını belirleyip düzeltmelerine yardımcı olmak için uygulamaya özgü yığın dökümleri almasına olanak tanır. Ayrıca, aşırı bağlayıcı spam'i için anormallik tetikleyici, bağlayıcı işlemlerinde yığın örnekleme profili sağlar.
Bu API geri çağırması, sistem tarafından uygulanan yaptırımlardan önce gerçekleşir. Örneğin, geliştiricilerin, uygulama bellek sınırlarını aştığı için sistem tarafından sonlandırılmadan önce hata ayıklama verilerini toplamasına yardımcı olabilir. Tetikleyiciyi nasıl kullanacağınızı öğrenmek için tetikleyici tabanlı profilleme ile ilgili dokümanlarımıza göz atın.
val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>() triggers.add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY)) val mainExecutor: Executor = Executors.newSingleThreadExecutor() val resultCallback = Consumer<ProfilingResult> { profilingResult -> if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) { // upload profile result to server for further analysis setupProfileUploadWorker(profilingResult.resultFilePath) } profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback) profilingManager.addProfilingTriggers(triggers) }
Android Anahtar Deposu'nda Kuantum Sonrası Kriptografi (PQC)
Android Keystore, NIST tarafından standartlaştırılmış ML-DSA (Module-Lattice-Based Digital Signature Algorithm) için destek ekledi. Desteklenen cihazlarda ML-DSA anahtarları oluşturabilir ve bunları kullanarak tamamen cihazın güvenli donanımında kuantum güvenli imzalar üretebilirsiniz. Android Keystore, ML-DSA-65 ve ML-DSA-87 algoritma varyantlarını standart Java Cryptographic Architecture API'leri (KeyPairGenerator, KeyFactory ve Signature) aracılığıyla kullanıma sunar. Daha fazla bilgi için geliştirici dokümanlarımıza bakın.
KeyPairGenerator generator = KeyPairGenerator.getInstance( “ML-DSA-65”, "AndroidKeyStore"); generator.initialize( new KeyGenParameterSpec.Builder( “my-key-alias”, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY) .build()); KeyPair keyPair = generator.generateKeyPair();
Android 17'yi kullanmaya başlama
Bu ve gelecekteki Android Beta güncellemelerini kablosuz olarak almak için desteklenen herhangi bir Pixel cihazı kaydedebilirsiniz. Pixel cihazınız yoksa Android Studio'da Android Emulator ile 64 bit sistem görüntülerini kullanabilirsiniz.
Şu anda Android Beta Programı'nda yer alıyorsanız Beta 4'e kablosuz güncelleme sunulur.
Geri bildirim sayfasında sorun bildirmeye ve özellik istekleri göndermeye devam edin. Geri bildiriminizi ne kadar erken alırsak son sürümdeki çalışmalarımıza o kadar fazla şey ekleyebiliriz.
Android 17 ile en iyi geliştirme deneyimi için Android Studio (Panda)'nun en son önizleme sürümünü kullanmanızı öneririz. Kurulumu tamamladıktan sonra yapmanız gereken bazı işlemler:
- Yeni SDK'ya göre derleyin, CI ortamlarında test edin ve geri bildirim sayfasındaki izleyicimizde sorunları bildirin.
- Mevcut uygulamanızın uyumluluğunu test edin, uygulamanızın Android 17'deki değişikliklerden etkilenip etkilenmediğini öğrenin ve uygulamanızı Android 17 çalıştıran bir cihaza veya emülatöre yükleyip kapsamlı bir şekilde test edin.
Android 17 sürüm döngüsü boyunca önizleme/beta sistem görüntülerini ve SDK'yı düzenli olarak güncelleyeceğiz. Beta sürümünü yükledikten sonra, sonraki tüm önizlemeler ve beta sürümleri için gelecekteki güncellemeleri otomatik olarak kablosuz bağlantı üzerinden alırsınız.
Eksiksiz bilgi için Android 17 geliştirici sitesini ziyaret edin.
Sohbete katılın
Geri bildirimleriniz bizim için en değerli varlık olmaya devam ediyor. Canary kanalında erken erişim kullanıcısı veya Beta 4'te test yapan bir uygulama geliştirici olmanız fark etmeksizin topluluklarımıza katılabilir ve geri bildirim gönderebilirsiniz. Görüşlerinizi dikkate alıyoruz.
Okumaya devam edin
-
Ürün Haberleri
Uygulamanıza yenilikçi yapay zeka özellikleri eklemek isteyen bir Android geliştiriciyseniz kısa süre önce güçlü yeni güncellemeler yayınladık.
Thomas Ezan • Okuma süresi: 3 dk.
-
Ürün Haberleri
Google Play'de mümkün olan en güvenli ve güvenilir deneyimi sunmak Bugün, kullanıcı gizliliğini artırmak ve işletmenizi sahtekarlıktan korumak için yeni bir dizi politika güncellemesi ve hesap aktarma özelliği duyuruyoruz.
Bennet Manuel • Okuma süresi: 3 dk.
-
Ürün Haberleri
Android Emulator ile çeşitli cihaz etkileşimlerini test etmek artık her zamankinden daha kolay.
Steven Jenkins • Okuma süresi: 2 dakika
Gelişmelerden haberdar olun
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.