Android 17 ile tanışın
Okuma süresi: 13 dakika
Bugün Android 17'yi yayınlıyor ve desteklenen çoğu Pixel cihazda kullanıma sunuyoruz. Önümüzdeki aylarda Android 17'yi çalıştıran yeni cihazlar piyasaya sürülecek.
Android 17, uygulamalarınızı merkeze alarak zeka sistemine geçişimizin başlangıcını işaret ediyor. Android, zorunlu büyük ekran yeniden boyutlandırma özelliğini sunarak uyarlanabilirliğe öncelik veren geliştirme standartlarına geçiş yapıyor. Aynı zamanda yeni nesil gizlilik, güvenlik, medya, kamera ve performans özelliklerini de sunuyor. Bu yayında tüm bunları ve uygulamalarınızın bu fırsattan yararlanmasına yardımcı olmak için yeni nesil araçları, kitaplıkları ve temsilci becerilerini nasıl bir araya getirdiğimizi ele alacağız.
Geçtiğimiz yıl boyunca, Canary kanalımızdan beta sürümlerimize kadar, geliştirici topluluğundaki birçok kişiyle işbirliği yaparak sizin ve kullanıcılarınızın güvenebileceği bir platform oluşturduk. Bu nedenle, bu an Android Açık Kaynak Projesi'nde (AOSP) kaynak kodunun kullanıma sunulduğu anı işaret ediyor. Bu sayede, Android'in işleyiş şeklini daha iyi anlamak için kaynak kodunu inceleyebilirsiniz.
Android 17'yi daha ayrıntılı inceleyelim.
Bir bilgi sistemi
Donanım, yazılım ve yapay zeka arasındaki derin entegrasyon sayesinde Android'i işletim sisteminden zeka sistemine dönüştürüyoruz. Kullanıcı ihtiyaçlarını karşılayan yeni ve faydalı deneyimler sunmakla ilgilidir ve uygulamalarınızla etkileşim için daha fazla fırsat sağlar. Bu amaçla Android 17, AppFunctions'ın (ilgili Jetpack kitaplığına sahip bir platform API'si) özelliklerini genişletir. Bu sayede, uygulamanızın benzersiz özelliklerini, cihaz üzerinde Model Context Protocol'ün eşdeğeri olan Android MCP için düzenlenebilir "araçlar" olarak kullanabilirsiniz. Yapay zeka aracıları ve asistanları (ör. Google Gemini), uygulamanın yerel durumuna doğrudan erişerek kullanıcı adına iş akışlarını gerçekleştirmek için AppFunction'ları keşfedip yürütebilir.
Şu anda alfa sürümünde olan Jetpack kitaplığı, AppFunctions'ı eklemeyi bir sınıfa açıklama eklemek ve KDoc yorumları eklemek kadar kolay hale getirir.
/** * A note app's [AppFunction]s. */ class NoteFunctions( private val noteRepository: NoteRepository ) { /** * Adds a new note to the app. * * @param appFunctionContext The execution context. * @param title The title of the note. * @param content The note's content. */ @AppFunction(isDescribedByKDoc = true) suspend fun createNote( appFunctionContext: AppFunctionContext, title: String, content: String ): Note { return noteRepository.createNote(title, content) } }
Ayrıca, uygulamanızın temel iş akışlarını analiz eden, gerekli Kotlin kodunu otomatik olarak oluşturan, KDoc'larınızı LLM araç çağrısı için optimize eden ve test ile hata ayıklama için ADB komutları sağlayan bir AppFunctions agent skill'i de kullanıma sunduk.
Gemini entegrasyonu şu anda güvenilir test kullanıcılarıyla özel önizleme aşamasındadır ancak uygulamalarınızı hazırlamaya başlayabilirsiniz. AppFunction'larınızı yürütmek için ADB komutlarına ek olarak, AppFunction'larınızı keşfedip yürütmek ve yapay zeka aracısı entegrasyonunu simüle etmek için bir arayüz içeren bir test aracısı uygulaması da sağladık. AppFunctions'ı üretime dağıtan ilk uygulamalar arasında yer almak için goo.gle/eap-af adresinden entegrasyon erken erişim programımıza katılın.
Uyarlanabilir öncelikli
Kullanıcılarınız artık tek bir form faktörüne bağlı kalmıyor. Telefonlar, katlanabilir cihazlar, tabletler, dizüstü bilgisayarlar, otomotiv ekranları ve etkileyici XR ortamları arasında geçiş yapıyorlar. Artık kullanıcıların elinde 580 milyondan fazla büyük ekranlı cihaz ve Googlebooks'un yakında kullanıma sunulmasıyla birlikte, Android yığını üzerine kurulu yeni nesil ChromeOS'te uyarlanabilirlik artık sadece teknik bir hedef değil. Bu, oldukça etkileşimli kullanıcılara ulaşmak için büyük bir fırsat. Bu nedenle, uyarlanabilirliğe öncelik veren bir geliştirme standardına geçiyoruz.
Büyük ekranlarda yeniden boyutlandırılabilirlik/yön kısıtlaması yok
Uygulamaların, bağlı ekranlarda masaüstü modunda çalışan mobil cihazlar da dahil olmak üzere tüm form faktörlerinde üstün bir deneyim sunmasını sağlamak için Android 17 (API düzeyi 37), API düzeyi 37'yi hedefleyen uygulamalarda büyük ekranlı cihazlarda (sw > 600 dp) yönlendirme ve yeniden boyutlandırma kısıtlamaları için geliştirici devre dışı bırakma seçeneğini kaldırır. Sistem, screenOrientation, setRequestedOrientation(), resizeableActivity=false ve en-boy oranı kısıtlamaları (minAspectRatio/maxAspectRatio) dahil olmak üzere eski manifest özelliklerini ve çalışma zamanı API'lerini yoksayar. Google Play'deki uygulama kategorisine göre oyunlar muaf olmaya devam eder. Uygulamanızın herhangi bir pencere boyutuna uyum sağlamaya hazır olması, kullanıcının tercih ettiği cihaz duruşuna saygı duyması ve serbest biçimli pencere oluşturmayı yerel olarak desteklemesi gerekir.
Yeni nesil çoklu görev: uygulama balonları, balon çubuğu ve masaüstü etkileşimli PiP
Android 17, kullanıcıların çoklu görev yapma şeklini yeniden tanımlayan güçlü yeni pencere özellikleri sunuyor. Bu özellikler, uygulamalarınızın düzeninde daha da fazla esneklik gerektiriyor:
- Uygulama Balonları: Mesajlaşma balonları API'sinin ötesine geçen bu özellik sayesinde kullanıcılar, başlatıcıda simgesine uzun basarak herhangi bir uygulamayı kayan balona dönüştürebilir. Telefonlarda, katlanabilir cihazlarda ve tabletlerde kullanılabilen bu özellik, her iş akışında kolay çoklu görev imkanı sunar.
- Balon çubuğu: Büyük ekranlarda (tabletler ve katlanabilir cihazlar) sistem görev çubuğu artık bu kayan uygulama balonlarını düzenlemek, aralarında geçiş yapmak ve sabitlemek için özel bir balon çubuğu içeriyor.
- Masaüstü etkileşimli PiP: Android 17, masaüstü ortamlarında etkileşimli pencere içinde pencere (PiP) özelliğini kullanıma sunuyor. Salt okunur olan geleneksel PiP pencerelerinin aksine, bu sabitlenmiş pencereler diğer uygulama pencerelerinin her zaman üzerinde kalırken tamamen etkileşimli olmaya devam eder.
Etkinlik yeniden oluşturma güncellemeleri
Android 17, yıkıcı durum kaybını ve takılmayı önlemek için etkinlik yeniden oluşturma işleminin varsayılan davranışını günceller. Sistem, tam kullanıcı arayüzü yeniden çizimi gerektirmeyen normal yapılandırma değişiklikleri için (CONFIG_KEYBOARD, CONFIG_KEYBOARD_HIDDEN, CONFIG_NAVIGATION, CONFIG_TOUCHSCREEN ve CONFIG_COLOR_MODE dahil) etkinlikleri varsayılan olarak yeniden başlatmaz.
Bunun yerine, çalışan etkinlikler bu güncellemeleri onConfigurationChanged() üzerinden alarak sorunsuz geçişler sağlar. Uygulamanız bu değişiklikler için kaynakları yeniden yüklemek üzere açıkça tam yeniden başlatmaya bağlıysa artık yeni android:recreateOnConfigChanges manifest özelliğini kullanarak açıkça etkinleştirmeniz gerekir.
Şurada devam edin
Android 17, kullanıcıların bir görevi Android cihazlar arasında sorunsuz bir şekilde geçirmesine yardımcı olmak için Devam Et özelliğini ekler. Kullanıcı, tablet görev çubuğunda mobil cihazından en son açılan uygulamayla ilgili bir öneri görür. Bu öneri, uygulamayı başlatmak ve kaldığı yerden devam etmek için tek dokunuşla erişim imkanı sunar. Devam Et özelliği, uygulama yüklenmemişse web'i kullanmaya geri dönme de dahil olmak üzere uygulamadan web'e geçişleri destekleyebilir.
class MyHandoffActivity : Activity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Do stuff
...
// Enable handoff
setHandoffEnabled(true, null)
}
// Override and implement onHandoffActivityDataRequested
override fun onHandoffActivityDataRequested(handoffRequestInfo: HandoffActivityDataRequestInfo) : HandoffActivityData {
// Create and return handoff data
}
}Jetpack Compose ile uyarlanabilirliğe öncelik verme
Uygulamalarınızı yeni Android 17 şartlarına uyarlamanıza yardımcı olmak için Jetpack Compose uyarlanabilir becerisini kullanıma sunduk. Bu yapay zeka destekli geliştirici iş akışı, en iyi uyarlanabilir uygulamaları uygulamanıza yardımcı olur:
- Uyarlanabilir gezinme: Material 3 Adaptive kitaplığındaki
NavigationSuiteScaffoldöğesini kullanarak mobil cihazlarda alt gezinme çubukları ile büyük ekranlarda kenara sabitlenmiş gezinme rayları arasında otomatik olarak geçiş yapın. - Çok panelli düzenler: Listeleme-ayrıntı ve destekleyici panel düzenlerini, kırılgan parça işlemleri yerine Navigation 3 Scenes (
ListDetailSceneStrategyveSupportingPaneSceneStrategy) kullanarak yerel olarak uygulayın. - FlexBox ve Grid API'leri: Compose 1.11'in dinamik düzen bileşenlerini kullanarak satır ve sütun aralıklarını anında kolayca ayarlayın. Böylece içeriğiniz her zaman alanı güzel bir şekilde doldurur.
- Gelişmiş dokunma dışı giriş: Compose 1.11'in gelişmiş dokunmatik yüzey ve fare desteğinden yararlanın. Bu destek, yerel odak halkaları ve yeni API'ler (ör.
TrackpadInjectionScopeveperformTrackpadInput) içerir. Böylece Google Kitaplar ve masaüstü modunda gerçek bir "dizüstü bilgisayar sınıfı" deneyimini kolayca test edip sunabilirsiniz. - Dinamik pencere durumları: Uygulama tam ekrandan kayan uygulama balonuna veya etkileşimli masaüstü PiP penceresine geçerken kullanıcı arayüzünüzü sorunsuz bir şekilde uyarlamak için Compose'un reaktif durum modelinden yararlanın. Bu sayede, en küçük boyutlarda bile birinci sınıf bir deneyim sunabilirsiniz.
Android'de öncelikli olarak Compose kullanılır
Compose, uyarlanabilir uygulamalar oluşturmanın en kolay yolunu sunar. Bu, tüm Android kullanıcı arayüzlerinin Compose ile oluşturulması gerektiğine inanmamızın birçok nedeninden yalnızca biridir. Bu nedenle, Android geliştirmede artık öncelikli olarak Compose kullanılmaktadır. Tüm yeni Android API'leri, kitaplıkları, araçları ve geliştirici kılavuzları yalnızca Jetpack Compose için oluşturulacak. Eski View bileşenleri (android.widget paketinde) ve View tabanlı Jetpack kitaplıkları (ör. Fragments, RecyclerView ve ViewPager) artık bakım modunda. Bu cihazlar yalnızca kritik hata düzeltmelerini alır ve yeni özellikler almaz.
İPUCU Taşımaya hazır mısınız? Eski View düzenlerinizi otomatik olarak analiz edip uyarlanabilir Compose koduna dönüştürmek için yapay zeka destekli XML to Compose Migration Skill aracımızı kullanın.
Performans ve verimlilik
Uygulama performansı; sorunsuz bir kullanıcı arayüzü, hızlı uygulama başlatma süreleri ve verimli çoklu görev anlamına gelir. Android 17, bu alanların tümünde etkili iyileştirmeler sunar.
Uygulama bellek sınırları
Bellek kullanımı, genel performansın sessiz temellerinden biridir. Ön plandaki bir uygulama veya hizmet kontrolsüz bir şekilde büyüdüğünde bellek yönetimi, CPU ve pil kullanımını artırır. Sonunda, iyi davranan diğer önbelleğe alınmış uygulamaların ve arka plan görevlerinin sonlandırılmasına yol açar. Bu da sonuç olarak daha yavaş soğuk başlatmalara ve çoklu görev performansının düşmesine neden olur.
Android 17'den itibaren sistem, cihazın toplam RAM'ine göre katı uygulama bellek sınırları uygulayacak ve sorunlu işlemleri aniden sonlandıracak. Bu daha katı şartlara uyum sağlamanıza yardımcı olacak yeni özellikler:
- R8 Optimizasyon Aracı: R8 optimizasyon aracı, sınıfları, yöntemleri ve alanları daha kısa adlarla küçülterek ve kullanılmayan kodları ve kaynakları kaldırarak uygulamanızın bayt kod bellekte kaplanan yerini önemli ölçüde azaltır. Uygulamanızın R8'den en iyi şekilde yararlandığından emin olmak için R8'i tam modda yeni R8 yapılandırma analiz aracıyla birlikte kullanın.
- Android Studio Panda'da LeakCanary: Profil oluşturucu artık IDE'niz ve kaynak kodunuzla tamamen entegre edilmiş, özel bir görev olarak yerel LeakCanary entegrasyonuna sahiptir.
- ApplicationExitInfo: Uygulamanız bu sınırlar nedeniyle sonlandırılırsa ApplicationExitInfo'daki getDescription() "MemoryLimiter:AnonSwap" değerini döndürür.
- Cihaz Üzerinde Anormallik Algılama: ProfilingManager'ın bir parçası olan bu özellik sayesinde, bellek sınırı aşıldığında yığın dökümlerini otomatik olarak yakalamak için
TRIGGER_TYPE_ANOMALYkullanarak tetikleyici tabanlı profil oluşturmadan yararlanabilirsiniz.
val profilingManager = applicationContext .getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>().apply { add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY).build()) } profilingManager.addProfilingTriggers(triggers)
Ayrıca, Google Play Console'da daha fazla saha içi bellek metriği göstermek için çalışıyoruz.
Nesilsel atık toplama
Android 17, ART'ın eşzamanlı işaretleme-sıkıştırma çöp toplayıcısına (GC) daha sık ve daha az kaynak yoğun genç nesil koleksiyonları sunar. Kısa ömürlü nesneleri kararlı ve uzun ömürlü olanlardan ayıran sistem, pahalı tam yığın taramaları yerine sık sık hafif "genç nesil" temizlemeleri yaparak CPU kullanımını, güç tüketimini ve kullanıcı arayüzü takılmasını önemli ölçüde azaltır. Testlerimiz, GC'nin uygulama iş parçacıklarıyla etkileşiminde önemli iyileşmeler ve maksimum bellek yerleşik küme boyutunda (RSS) azalma olduğunu gösterdi. ART iyileştirmeleri, Google Play sistem güncellemeleri aracılığıyla Android 12 (API düzeyi 31) ve sonraki sürümleri çalıştıran bir milyardan fazla cihazda da kullanılabilir.
Kilit içermeyen MessageQueue
SDK 37 veya sonraki sürümleri hedefleyen uygulamalarda temel android.os.MessageQueue artık kilitlenmeyen bir mimariyi uyguluyor. Bu sayede, kaçırılan kareler önemli ölçüde azaltılıyor, uygulamanın başlatılma süresi iyileştiriliyor ve çok iş parçacıklı senaryolarda yoğun kuyrukların performansı büyük ölçüde artırılıyor. Not: Bu, özel MessageQueue alanlarında ve yöntemlerinde yansıtma kullanan uygulamaların bozulmasına neden olabilir. peekWhen ve poll API'leri, MessageQueue dahili öğelerine bağlı kalmadan enstrümantasyon testi için TestLooperManager'a eklendi.
Statik nihai alanlar artık gerçekten nihai
Android 17'den itibaren, SDK 37 veya sonraki sürümleri hedefleyen uygulamalar "static final" alanlarını değiştiremeyecek. Bu sayede, çalışma zamanı performans optimizasyonlarını daha agresif bir şekilde uygulayabilecek. Yansıtma (veya derin yansıtma) yoluyla bunu yapmaya çalışmak IllegalAccessException'ın atılmasına neden olur.
Bunları JNI'nin SetStatic<Type>Field yöntemleri ailesi aracılığıyla değiştirmek, uygulamanın hemen kilitlenmesine neden olur.
Özel bildirim görüntüleme kısıtlamaları
Bellek kullanımını azaltmak için özel bildirim görünümlerinin boyutunu daha da kısıtlıyoruz. Bu güncelleme, uygulamaların URI'leri kullanarak mevcut sınırları atlamasına olanak tanıyan bir boşluğu kapatır. Bu davranış, hedef SDK sürümüne göre belirlenir ve API 37 ile sonraki sürümleri hedefleyen uygulamalarda geçerli olur.
Gizlilik ve Güvenlik
Kullanıcıların güvenini korumak, Android ekosisteminin temelini oluşturur. Android 17, kullanıcı deneyimlerini basitleştirirken hassas verileri koruyan güçlü özellikler sunar.
Gizliliği korumaya yönelik seçenekler
Geçmişte uygulamalar, kişiler, tam konum ve medya dosyaları gibi bilgilere erişmek için geniş kapsamlı ve kalıcı izinler gerektiriyordu. Android 17, yalnızca kullanıcının açıkça seçtiği verilere geçici ve oturum tabanlı erişim sağlayan, gizliliği korumaya yönelik seçeneklere geçişi sürdürüyor:
- Sistem düzeyinde kişi seçici:
ACTION_PICK_CONTACTSkullanılarak uygulamalar, yalnızca kullanıcı tarafından seçilen belirli alanlara (ör.e-posta veya telefon numarası) geçici erişim isteyebilir. Böylece geniş kapsamlıREAD_CONTACTSiznine gerek kalmaz. Ayrıca iş/kişisel profil ayrımını tam olarak destekler. - Özelleştirilebilir fotoğraf seçici en-boy oranı: PhotoPickerUiCustomizationParams'i kullanarak sistem fotoğraf seçiciyi, küçük resimleri portre modunda gösterecek şekilde özelleştirebilirsiniz. Bu özellik, fotoğraf ve videoları her zaman portre modunda gösteren uygulamalar (ör. video tabanlı sosyal medya uygulamaları) için idealdir.
- Sistem tarafından oluşturulan konum düğmesi: Uygulamanıza yerleştirebileceğiniz yeni bir sistem tarafından oluşturulan konum düğmesi, yalnızca mevcut oturum için tam konum erişimi sağlar.
- EyeDropper API: Yeni bir sistem düzeyinde API olan
ACTION_OPEN_EYE_DROPPER, uygulamanızın sistem destekli bir damlalık oluşturmasına olanak tanır. Bu sayede kullanıcı, ekrandaki herhangi bir pikselden renk seçebilir. Bu, kapsamlı ve hassas ekran görüntüsü alma veya medya projeksiyonu izinlerine gerek kalmadan güvenli ve gizliliği korumaya yönelik bir renk seçme deneyimi sağlar.
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == Activity.RESULT_OK) { val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK) // Use the picked color in your app } } fun launchColorPicker() { val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER) eyeDropperLauncher.launch(intent) }
Yerel ağ erişimi
Android 17'yi hedefleyen uygulamalar artık yerel ağ iletişimi için ACCESS_LOCAL_NETWORK çalışma zamanında istenen izni veya sistem aracılı, gizliliği korumaya yönelik cihaz seçicilerin (ör. akıllı ev cihazlarıyla konuşma veya alıcıları yayınlama) kullanılmasını gerektiriyor. ACCESS_LOCAL_NETWORK mevcut NEARBY_DEVICES izin grubu kapsamında olduğundan diğer NEARBY_DEVICES izinleri daha önce vermiş olan kullanıcılardan tekrar izin istenmez.
SMS OTP koruması
Android 17, SMS tek kullanımlık şifre (OTP) korumasını SMS mesajlarına erişimi üç saat geciktirerek genişletir:
- WebOTP Biçimi: Amaçlanan alıcı olmayan tüm uygulamalar için geciktirilir (alan adı eşleşmemesi).
- Standart SMS OTP: SDK 37 ve sonraki sürümleri hedefleyen tüm uygulamalar için ertelendi.
Muafiyetler: Varsayılan SMS, asistan ve bağlı yardımcı uygulamalar muaf tutulur. Uygulamaların SMS Retriever veya SMS User Consent API'lerine geçiş yapması önemle tavsiye edilir.
Kuantum sonrası kriptografi (PQC)
Android 17, yeni nesil kriptografik güvenliğe hazır:
- Anahtar deposu entegrasyonu: Desteklenen cihazlar, standart JCA API'leri aracılığıyla kullanıma sunulan, kuantum güvenli imzalar oluşturmak için güvenli donanımda ML-DSA (Module-Lattice-Based Digital Signature Algorithm) anahtarları oluşturabilir.
- Karma APK İmzalama: Uygulama dağıtımını güvenli hale getirmek için klasik imzaları ML-DSA imzalarıyla birleştiren v3.2 APK İmza Şeması kullanıma sunuldu.
Daha güvenli yerel dinamik kod yükleme
Uygulamanız SDK 37 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 değerini döndürür.
Fiziksel girişler için daha akıllı şifre koruması
Android 17 ile, fiziksel klavye kullanırken şifre, PIN ve diğer gizli bilgileri girme işlemini daha güvenli hale getiriyoruz. Artık son yazılan karakter varsayılan olarak gösterilmeyecek.
Kullanıcılar bu görüntü ayarlarını tercihlerine göre kolayca özelleştirebilir (kullanılabilirlik, cihaz üreticisine göre değişebilir).
Bu gelişmiş gizlilik korumaları, Android'in yerleşik SDK bileşenleri tarafından otomatik olarak desteklenir ve SecureTextFields için Compose 1.12'de desteklenecektir.
İçerik üreticileri güçlendiren ve kullanıcıları memnun eden medya ve kamera özellikleri
Android 17, tüketicilerin deneyimini iyileştirirken profesyonel kalitede kamera ve medyaya erişim sağlayan yeni içerik üretici özellikleri sunuyor.
- Eclipsa Video: Cihazların içeriği ekran paylarına ve ortam ışığı koşullarına göre uyarlamasına yardımcı olmak için yeni meta veriler sunan, standart ve HDR içeriklerin eşzamanlı olarak görüntülenmesini iyileştiren SMPTE ST 2094-50 spesifikasyonu üzerine kurulu bir HDR video standardı.
- RAW14 görüntü biçimi: RAW14 görüntü biçimi için yeni destek, profesyonel kamera uygulamanızın uyumlu kamera sensörlerinden en yüksek düzeyde ayrıntı ve renk derinliği yakalamasını sağlar.
- Tedarikçi tarafından tanımlanan kamera uzantıları: Tedarikçi tarafından tanımlanan uzantılar, donanım iş ortaklarının özel kamera uzantısı modları tanımlayıp uygulamasına olanak tanıyarak en iyi ve en yeni kamera özelliklerine erişim sağlar.
- Genişletilmiş HE-AAC yazılım kodlayıcı: Yeni bir sistem tarafından sağlanan Genişletilmiş HE-AAC yazılım kodlayıcı, birleştirilmiş konuşma ve ses kodlaması kullanarak hem düşük hem de yüksek bit hızlarını destekler. Bu sayede, sesli mesajlar için düşük bant genişliği koşullarında önemli ölçüde daha iyi ses kalitesi sunar. Ayrıca, ses yüksekliği meta verileri de desteklenir.
- Çok Yönlü Video Kodlama (H.266): OEM'lerin MediaFormat içinde video/vvc MIME türünü tanımlayarak, MediaCodecInfo içinde yeni VVC profilleri ekleyerek ve MediaExtractor'a destek entegre ederek codec desteği eklemesini sağlar.
- Kamera cihazı türü: Bir kameranın yerleşik donanım, harici USB web kamerası veya sanal kamera olup olmadığını belirlemek için temel cihaz türünü sorgulayan yeni API'ler.
- Video Kaydı İçin Sabit Kalite: MediaRecorder'daki setVideoEncodingQuality, video kodlayıcılar için sabit kalite (CQ) modu yapılandırarak video boyunca görsel doğruluğun eşit olmasını sağlar.
İşitme cihazları için daha iyi destek
- Bluetooth LE Audio işitme cihazı desteği: Android artık yeni AudioDeviceInfo.TYPE_BLE_HEARING_AID sabitiyle Bluetooth Low Energy (BLE) Audio işitme cihazları için özel bir cihaz kategorisi içeriyor. Böylece uygulamanız, işitme cihazlarını normal kulaklıklardan ayırt ederek işitme cihazı kullanan kullanıcılara özel bir deneyim sunabiliyor.
- İşitme cihazları için ayrıntılı ses yönlendirme: Android 17, kullanıcıların belirli sistem seslerinin nerede çalınacağını bağımsız olarak yönetmesine olanak tanır. Kullanıcılar, bildirimleri, zil seslerini ve alarmları bağlı işitme cihazlarına veya cihazın yerleşik hoparlörüne yönlendirmeyi seçebilir. Bu sayede, işitme cihazı yönetim uygulamaları için Bluetooth bağlantısı korunurken istenmeyen kulak içi kesintiler önlenir.
CameraX ve Media3
CameraX ve Media3, Android 17 için güncellendi. Bu API'ler, medya geliştirmenin zorlu kısımlarını halletmek, güvenilir kamera yakalama, sorunsuz medya oynatma ve yaratıcı ve karmaşık düzenleme deneyimleri oluşturmayı kolaylaştırmak için tasarlanmıştır.
Eski Android kamera uygulamalarını (Camera1 veya ham Camera2 API'leri) CameraX'e taşıyabilen bir aracı becerisi yayınladık.
Not: Android 17 cihazlarda eklenen dinamik aralık moduyla ilgili kilitlenmeyi önlemek için CameraX sürümünüzü 1.5.2 veya 1.6.0+ sürümüne güncellemeniz gerekir.
Uygulamalarınızı, kitaplıklarınızı, araçlarınızı ve oyun motorlarınızı hazırlayın.
Android SDK, kitaplık, araç veya oyun motoru geliştiriyorsanız alt akış uygulama ve oyun geliştiricilerinizin uyumluluk sorunları nedeniyle engellenmesini önlemek ve en yeni SDK özelliklerini hedeflemelerine olanak tanımak için gerekli güncellemeleri şimdi yapmanız çok önemlidir. Android 17'nin tam olarak desteklenmesi için güncelleme yapılması gerekiyorsa lütfen alt akış geliştiricilerinizi bilgilendirin.
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ı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. 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 (SDK 37) hedefledikten sonra, yönü, yeniden boyutlandırılabilirliği ve en-boy oranı kısıtlamalarını büyük ekranlarda korumayı devre dışı bırakamazsınız.
- Dinamik kod yükleme: Uygulamanız SDK 37 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.
- CT'yi varsayılan olarak etkinleştirme: Sertifika şeffaflığı (CT) varsayılan olarak etkindir. (Android 16'da CT kullanılabilir ancak uygulamaların kaydolması gerekiyordu.)
- Yerel ağ korumaları: SDK 37 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_NETWORKiznini 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 plandaki ses etkileşimleriyle ilgili kısıtlamalar uygular. Geri bildirimlerinize dayanarak, Beta 2'den bu yana bazı değişiklikler yaptık. Örneğin, kullanımda olan FGS'nin zorunlu kılınması sırasında targetSDK'yı sınırladık ve alarm sesini muaf tuttuk. Ayrıntılı bilgi için güncellenen kılavuza göz atın.
- NPU erişim beyanı: Android 17'yi hedefleyen ve NPU'ya doğrudan erişmesi gereken uygulamalar, NPU'ya erişimlerinin engellenmemesi için manifestlerinde
FEATURE_NEURAL_PROCESSING_UNITbeyanında bulunmalıdır. LiteRT NPU temsilcisini, tedarikçiye özel SDK'ları ve desteği sonlandırılan NNAPI'yi kullanan uygulamalar buna dahildir.
Android 17'yi kullanmaya başlama
Android Beta'ya daha önce katılmadıysanız Pixel cihazınız kısa süre içinde Android 17'yi alır. Pixel cihazınız yoksa Android Studio'da Android Emulator ile 64 bit sistem görüntülerini kullanabilirsiniz. Şu anda Android 17 Beta 4.1 kullanıyorsanız ve henüz Android 17 QPR1 beta sürümünü yüklemediyseniz programdan kapsam dışı kalmayı seçebilirsiniz. Ardından, Android 17'nin yayınlanan sürümü kablosuz olarak sunulur.
İş ortağı cihazlarda Android 17 beta sürümünü edinme
Android 17; Honor, iQOO, Lenovo, OnePlus, OPPO, Realme, Sharp, vivo ve Xiaomi gibi iş ortaklarının ürettiği mobil telefon, tablet ve katlanabilir form faktörlerinde beta sürümü olarak kullanılabilir.
Android 17 ile en iyi geliştirme deneyimi için Android Studio Quail'in en yeni Canary sürümünü kullanmanızı öneririz. Kurulumu tamamladıktan sonra yapmanız gereken bazı işlemler:
- 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'nin yüklü olduğu bir cihaza veya Android Emulator'a yükleyip kapsamlı bir şekilde test edin.
Android geliştirici önizleme ve beta programımıza katılan herkese tekrar teşekkür ederiz. Uygulamalarınızın Android 17'deki güncellemelerden nasıl yararlanacağını görmek için sabırsızlanıyoruz. Ayrıca, gelecekte hızlı bir yayın ritmiyle güncellemeler sunmayı planlıyoruz.
Android 17 hakkında eksiksiz bilgi için lütfen Android 17 geliştirici sitesini ziyaret edin.
Okumaya devam edin
-
Ürün Haberleri
Android 17, Beta 3 ile bugün resmen platform kararlılığına ulaştı. Bu, API yüzeyinin kilitlendiği anlamına gelir. Son uyumluluk testini yapabilir ve Android 17'yi hedefleyen uygulamalarınızı Play Store'a gönderebilirsiniz.
Matthew McCullough • Okuma süresi: 5 dakika
-
Ürün Haberleri
Google I/O 2026 'da Android geliştiriciler için 17 önemli duyuru yapıldı. Bu duyurularda, ajan tabanlı üretkenlik, kullanıcı arayüzü standardımız olarak Compose First ve genişleyen ekosistem için yüksek performanslı medya ve uyarlanabilir geliştirme konularına odaklanıldı.
Matthew McCullough • Okuma süresi: 8 dakika
-
Ürün Haberleri
Bugün The Android Show sırasında duyurulan Android, işletim sisteminden zeka sistemine geçiş yaparak uygulamalarınızla etkileşim için daha fazla fırsat sunuyor.
Matthew McCullough • Okuma süresi: 4 dakika
Gelişmelerden haberdar olun
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.