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 düzey uygulama ve oyun geliştiricilerin 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 geliştiricilerinize, Android 17'nin tam olarak desteklenmesi için güncelleme gerekip gerekmediğini bildirin.
Test işlemi, Google Play veya başka yöntemler 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ızın tüm akışlarını 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. Testlerinize odaklanmak için Android 17'de çalışan ve Android 17'yi hedefleyen uygulamalarda 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 bellek sınırları getiriyor. Android 17'de, sistem genelinde kararsızlığa yol açarak kullanıcı arayüzünde takılmaya, pilin daha 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 hedefleyen sistem temellerini oluşturmak için sınırlar muhafazakar bir şekilde belirlenir. 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 bellekle ilgili en iyi uygulamaları 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 Android Studio Profiler'a doğrudan LeakCanary entegrasyonu ekler. Bu entegrasyon, IDE içinde bağlamsallaştırılmış ve kaynak kodunuzla tamamen entegre edilmiş özel bir görev olarak sunulur.
Daha az bellekte kaplanan yer, doğrudan daha sorunsuz performans, daha uzun pil ömrü ve tüm form faktörlerinde birinci sınıf bir deneyim anlamına gelir. Android ekosistemi için daha hızlı ve güvenilir bir gelecek 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ı aştığında anomali tetikleyici, geliştiricilerin bellek sorunlarını belirleyip düzeltmesine 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 tetikleyicisi, 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, uygulamanın bellek sınırlarını aşması nedeniyle sistem tarafından sonlandırılmasından önce geliştiricilerin 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 (Modül Kafes Tabanlı Dijital İmza Algoritması) 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 tüm Pixel cihazları 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 teklifi alırsınız.
Geri bildirim sayfasında sorun bildirmeye ve özellik istekleri göndermeye devam edin. Geri bildiriminizi ne kadar erken alırsak son sürümle ilgili ç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 olarak 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.
-
Ürün HaberleriGoogle Play olarak, geliştiricilerin başarıya ulaşmak için gerekli araçlara ve uyum yeteneğine sahip olmasını sağlarken kullanıcılara da mümkün olan en iyi deneyimi sunmaya kararlıyız.
Paul Feng • Okuma süresi 3 dakika -
Ürün HaberleriGeçen yıl, ekosistem güvenliğini güçlendirmek ve kötü niyetli kişilerin zararlı uygulamalar yayınlamak için anonimliğin arkasına saklanmasını önlemek amacıyla Android geliştirici doğrulamasını kullanıma sunduk.
Matthew Forsythe • Okuma süresi 2 dakika -
Ürün HaberleriArtırılmış yer paylaşımlarından tamamen etkileyici ortamlara kadar Android XR ekosistemi hızla genişliyor. Samsung Galaxy XR ise bugün itibarıyla kullanıma sunuldu.
Stevan Silva, Vinny DaSilva • Okuma süresi 3 dakika
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.