Google açık kaynaklı bir mobil platform yayınladı. Android 17. Yeni sürümün kaynak kodu, projenin Git deposunda (android-17.0.0_r1 dalı) mevcuttur. Aşağıdaki cihazlar için yazılım sürümleri hazırlanmıştır: Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold ve Pixel Tablet. HONOR, iQOO, Lenovo, OnePlus, OPPO, realme, Sharp, vivo ve Xiaomi cihazları için ön sürüm yazılım sürümleri mevcuttur. ARM64 ve x86_64 mimarilerine dayalı çeşitli cihazlar için uygun Genel Sistem Görüntüleri (GSI) sürümleri oluşturulma aşamasındadır.
Değişiklikler arasında (1, 2, 3):
- Yeni bir çoklu pencere modu olan "Baloncuklar" eklendi. Bu mod, mesaj göndermek için kullanılan yer paylaşımı bildirimlerine ("baloncuklar") benzer şekilde, herhangi bir uygulamayı yüzen pencerelerde başlatmanıza olanak tanır, ancak özel bir API'ye bağlı değildir. Bir uygulamayı yüzen pencerede açmak, uygulama simgesine uzun süre basılarak gerçekleştirilir. Daha büyük ekranlarda, yüzen pencere simgeleri görev çubuğunda ayrı bir alanda görünür. Bu pencereler gruplandırılabilir, taşınabilir ve ekrana sabitlenebilir.

- Tabletler, dizüstü bilgisayarlar, masaüstü sistemler ve katlanabilir ekranlı akıllı telefonlar gibi büyük ekranlı cihazlar için platform geliştirme çalışmaları devam etmektedir. Daha önce etkinleştirilen, 600 pikselden (dp) daha geniş ekranlı cihazlarda yeni davranışları devre dışı bırakma seçenekleri kaldırılmıştır. Bu davranış, ekran boyutlandırma ve yönlendirmeyi (screenOrientation, resizeableActivity, [min|max]AspectRatio) yönetmek için kullanılan bazı API'lerin yanı sıra, yeniden boyutlandırılabilir ve taşınabilir pencerelerde uygulamaların uyarlanabilir yerleştirilmesinin göz ardı edilmesiyle ilgiliydi.


- Uygulamaların ekran görüntüsü alma izni gerektirmeden ekrandaki herhangi bir pikselin renk bilgisine erişmesine olanak tanıyan Damlalık sistemi API'si eklendi. Güvenlik, kullanıcının renk yakalanacak alanı, uygulamanın kontrolünde olmayan, platform tarafından yönetilen bir damlalık arayüzü aracılığıyla seçmesine izin verilerek sağlanır. Bu, uygulamaların belirli bir piksel hakkında bilgi talep edemeyeceği veya ekran içeriğini piksel piksel yeniden oluşturamayacağı anlamına gelir.

- Adres defterinden kişileri seçmek için bir sistem arayüzü eklendi. Bu arayüze erişim, ACTION_PICK_CONTACTS izni verilerek sağlanır. Bu arayüz, tüm kişi verilerini okumaya olanak tanıyan READ_CONTACTS iznine olan ihtiyacı ortadan kaldırır. Yeni arayüz çağrıldığında, kullanıcı adres defterinden hangi bilgilerin uygulamaya iletileceğine karar verir ve yalnızca tek tek alanları seçme seçeneğine sahiptir.

- PhotoPickerUiCustomizationParams API'si, fotoğraf seçici arayüzünü özelleştirmek ve çağıran uygulamanın stiline daha iyi uyacak şekilde ayarlamak için eklendi. Örneğin, fotoğraf küçük resimlerinin en boy oranını 1:1'den (kare) 9:16'ya (dikey) değiştirebilirsiniz.

- USE_LOCATION_BUTTON izni eklendi; bu sayede uygulamanızın arayüzüne, hassas konum verilerine erişim sağlamak için bir sistem düğmesi ekleyebilirsiniz. Düğme sistem tarafından oluşturulur ve kullanıcı tarafından tıklandığında, yalnızca geçerli oturum süresince konum verilerine erişim izni verir.

- Uygulama simgelerinin altında uygulama adlarının görüntülenmesini gizlemenizi sağlayan bir ayar eklendi.


- Ekran kaydı araç çubuğunun tasarımı değiştirildi.

- Ekran Tepkileri özelliği eklendi; bu özellik, ön kameradan video kaydını, ekrandaki eylemlere kendi yorumlarınızı eklemek için ekran kaydı oluşturma ile birleştirir.
- Katlanır ekranlı cihazlardaki oyunlar için bir mod eklendi; bu modda katlanır ekranın bir yarısı oyun görüntüsünü göstermek için, diğer yarısı ise sanal oyun kumandası için kullanılıyor.

- Handoff API eklendi, bu sayede bir uygulamanın durumunu yakındaki başka bir uygulamaya aktarabilirsiniz. Android-cihaz (örneğin, bir tablet) üzerinden çalışmaya devam edin.

- Geleneksel Resim İçinde Resim pencerelerinden farklı olarak, masaüstü modunda diğer uygulamaların üzerine yerleştirildiğinde etkileşimli kalan etkileşimli kenetlenmiş pencereler uygulandı.
- İki yeni API eklendi: İç mekan navigasyonu için Wi-Fi kullanarak bir binanın içindeki cihazın konumunu belirlemek için UWB DL-TDOA API'si; ve Wi-Fi aracılığıyla yakındaki cihazları tespit etmek için Yakınlık Algılama API'si.
- MPEG (ISO/IEC JTC 1) ve VCEG (ITU-T) çalışma grupları tarafından Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm ve Sony gibi şirketlerin katılımıyla geliştirilen ve H.266 video sıkıştırma standardı olarak da bilinen VVC (Çok Yönlü Video Kodlama) video formatına destek eklendi. H.266, H.265'in (HEVC) yerini alıyor ve tüm ekran çözünürlükleri (SD ve HD'den 4K ve 8K'ya kadar) için yüksek verimli iletim ve depolama sağlıyor, Yüksek Dinamik Aralık (HDR) video ve 360 derece panoramik videoyu destekliyor.
- Sabit kalite seviyesinde video kaydetme özelliği eklendi. Bu mod, MediaRecorder nesnesinde setVideoEncodingQuality() yöntemi kullanılarak yapılandırılır ve bit hızından bağımsız olarak kalite seviyesini kilitlemenizi sağlar.
- Profesyonel dijital kameralarda kullanılan ve renk kanalı başına 15 bit depolama sağlayan RAW14 görüntü formatı için destek eklendi.
- Eclipsa Video HDR video formatı için destek eklendi.
- Hem düşük hem de yüksek bit hızlarını destekleyen HE-AAC (High-Efficiency Advanced Audio Coding) ses formatı için yazılım kodlayıcı eklendi.
- Yerel ağa uygulama erişimini kısıtlamak için ACCESS_LOCAL_NETWORK adlı yeni bir izin eklendi. Bu izin, uygulamaların akıllı ev cihazları ve multimedya sistemleri gibi yerel ağdaki cihazları tanımlamasına ve bunlara bağlanmasına olanak tanır. Bu izin, kötü amaçlı uygulamaların yerel ağ kaynaklarını taramasını, örneğin kullanıcının ortamını gizlice tanımlamasını önlemek için eklendi.
- SMS yoluyla gönderilen tek kullanımlık şifrelerin (OTP) ve onay kodlarının ele geçirilmesine karşı koruma genişletildi. Çoğu uygulama artık bu mesajlara ancak alındıktan üç saat sonra doğrudan erişebiliyor. Varsayılan SMS okuyucu bu mesajları anında görüntülüyor.
- Banka çalışanı gibi davranan dolandırıcıların yaptığı aramalara karşı koruma sağlanmıştır. Platform, aramanın bankadan geldiğini doğrulamak için yüklü bankacılık uygulamalarıyla etkileşim kurabilir. Bankalar ayrıca yalnızca gelen aramaları kabul eden telefon numaralarını da belirleyebilir.
- Uygulamalara, yalnızca programın kullanıldığı mevcut oturum süresince geçerli olmak üzere, hassas konum verilerine geçici erişim izni verme özelliği eklendi.
- Dinamik Kod Yükleme (DCL) koruma mekanizması, yalnızca System.load() yöntemiyle yüklenen yerel kütüphaneleri değil, aynı zamanda yerel kütüphaneleri de destekleyecek şekilde genişletilmiştir.
DEX ve JAR dosyaları. DCL, bu tür dosyalara salt okunur erişim hakları atayarak, dinamik olarak yüklenen yürütülebilir dosyalara kötü amaçlı kod eklenmesini önler. - Sertifika Şeffaflığı mekanizması varsayılan olarak etkinleştirilmiştir ve verilen ve iptal edilen tüm sertifikaların herkese açık bir kaydını tutar.
- Kuantum bilgisayarda kaba kuvvet saldırılarına karşı dirençli olan ve klasik algoritmayı ML-DSA algoritmasıyla birleştiren hibrit bir algoritmaya dayalı dijital imza ile APK paketlerini sertifikalandırma özelliği kullanıma sunuldu.
- Arka planda çalışan uygulamaların ses oynatma, ses cihazlarına bağlanma ve ses seviyesini değiştirme API'lerine erişimi sınırlıdır. Bu, yalnızca kullanıcının şu anda etkileşimde bulunduğu aktif uygulamaların oynatmayı başlatabileceği ve ses seviyesini değiştirebileceği anlamına gelir.
- HPKE (Hibrit Açık Anahtar Şifreleme, RFC 9180) mekanizmasına dayalı hibrit şifreleme desteği eklendi. Bu mekanizma, açık anahtar şifrelemedeki anahtar transfer kolaylığını simetrik şifrelemenin yüksek performansıyla birleştirir (veriler hızlı bir simetrik anahtarla, anahtarın kendisi ise yavaş bir asimetrik anahtarla şifrelenir).
- Fiziksel bir klavye kullanarak parola ve PIN girerken, yazarken en son girilen karakterin görüntülenmesi varsayılan olarak devre dışıdır.
- Oyunlarda dokunmatik yüzey desteğinin uygulanmasını basitleştirmek için, fare ve dokunmatik yüzey olaylarının işlenmesi birleştirildi. Varsayılan olarak, işaretçi hareketleri ve kaydırma hareketleriyle ilgili dokunmatik yüzey olayları, tıpkı bir farede olduğu gibi, göreceli koordinatlara dönüştürülür. Mutlak koordinatlara erişim, POINTER_CAPTURE_MODE_ABSOLUTE modunun açıkça belirtilmesiyle sağlanır.
- ChooserSession nesnesine getInitialRestingBounds() yöntemi eklendi; bu sayede animasyon durduktan ve veriler yüklendikten sonra Chooser iletişim kutusunun son konumunu ve boyutunu öğrenebilirsiniz.
- Akış kalitesi seviyesini seçmek amacıyla iletişim kanalının maksimum bant genişliğini belirlemek için getStreamingAppMaxDownlinkKbps ve getStreamingAppMaxUplinkKbps yöntemleri eklendi.
- Donanım üreticilerine, Süper Çözünürlük detay geliştirme motoru, gürültü azaltma modları ve yapay zeka kalite iyileştiricileri gibi uygulamaya özgü özellikleri etkinleştiren kamera uzantıları oluşturmaları için bir API sağlanmıştır.
- Kamera türü (dahili kamera, USB web kamerası veya sanal kamera) hakkında bilgi almak için API eklendi.
- Bluetooth Düşük Enerji (BLE) üzerinden bağlanan işitme cihazları için destek eklendi. Bu cihazlar artık yeni TYPE_BLE_HEARING_AID kategorisi altında sınıflandırılıyor ve uygulamaların işitme cihazları ile kulaklıklar arasında ayrım yapmasına ve sistem ses oynatımını ayrı ayrı kontrol etmesine olanak tanıyor (örneğin, bildirimleri, zil seslerini ve alarmları işitme cihazınız yerine telefonunuzun dahili hoparlöründen çalabilirsiniz).
- Fiziksel klavye ve dokunmatik ekranda girilen şifrelerin görüntülenmesi için ayrı ayarlar eklendi. Varsayılan olarak, fiziksel klavye kullanılarak girilen şifre karakterleri hemen gizlenir.
- Ölçeklendirme sırasında DPI farklılıklarını dikkate alarak harici ekranlarda uygulama bileşenlerinin görüntülenmesini iyileştirdi.
- ACTION_VPN_APP_EXCLUSION_SETTINGS isteği eklendi; bu istek, bir uygulamanın VPN tünelini atlayarak ağ erişimine sahip olmasını sağlayan ayarları içeren bir sistem ekranı açmak için kullanılabilir.
- OpenJDK 25 dil özelliklerine ve Java sınıflarına destek eklendi.
- Kamera API yetenekleri genişletildi. Çıkış bölgelerini tüm kamera yakalama oturumunu yeniden yapılandırmaya gerek kalmadan anında eklemek veya kaldırmak için CameraCaptureSession nesnesine updateOutputConfigurations() yöntemi eklendi. Bu değişiklik, farklı kamera modları (örneğin, video kaydı ve fotoğraf çekimi) arasında sorunsuz geçişe olanak tanır. Birden fazla fiziksel sensöre yayılan mantıksal kameralarla çalışırken, yalnızca birincil sensör için değil, her sensör için meta verileri alma özelliği eklendi.
- Uygulamaların "http://" istekleri gibi şifrelenmemiş trafiği iletmesine olanak tanıyan `android:usesCleartextTraffic` özelliği kullanımdan kaldırılmıştır. Şifrelenmemiş trafiğe ihtiyaç duyuluyorsa, ayrı güvenlik yapılandırma dosyaları kullanılmalıdır.
- VoIP arama geçmişini yönetmek için ayarlar eklendi; bu sayede bilgilerin kayıtlara kaydedilip kaydedilmeyeceğini ve tamamlanan aramalarla ilgili bilgilerin arayüzde görüntülenip görüntülenmeyeceğini kontrol edebilirsiniz.
- Wi-Fi RTT (Gidiş-Dönüş Süresi) API'si, erişim noktalarına sürekli yakınlık tahmini ve güvenli eşler arası düğüm tespiti sağlamak üzere genişletilmiştir.
- CompanionDeviceManager'a, tıbbi cihazlar ve fitness takip cihazlarıyla uygulama etkileşimlerini sağlamak ve izin istemek için yeni profiller eklendi.
- В Android Çalışma zamanı (ART), "eski" ve "yeni" nesnelerin işlenmesini ayıran ve kısa ömürlü, yeni oluşturulmuş nesnelerin temizleme verimliliğini artıran nesilsel bir çöp toplayıcı (Generational Concurrent Mark-Compact Garbage Collector) uygular. Nesilsel çöp toplayıcının kullanımı, kaynak tahsisi sırasında takılma riskini azaltır ve CPU yükünü düşürerek enerji verimliliğini artırır.
- Bir uygulamanın kullanabileceği maksimum RAM miktarına bir sınır getirildi. Cihazın kullanılabilir RAM'ine göre hesaplanan bu sınır aşılırsa, uygulama zorla sonlandırılır. Bellek tüketimini azaltmak için, sınıf, metot ve alan adlarını paketleyen ve kullanılmayan kod ve kaynakları kaldıran R8 Optimizer kullanıma sunuldu.
- Çekirdeği derlerken Linux AutoFDO (Otomatik Geri Besleme Yönlendirmeli Optimizasyon) etkinleştirildi. Sıkça yürütülen işlemlerin performansını iyileştirmek için, kodun çeşitli bölümlerinin yürütme sıklığı hakkındaki bilgilerle profil oluşturma sonuçlarını kullanır. Yapılan testlerde, çekirdek için AutoFDO'nun etkinleştirilmesi, önyükleme süresinde %2.1 azalma, ilk çalıştırma program yürütmesinde %4.3 hızlanma, sistem çağrısı verimliliğinde %9.3 artış, Binder mmap işlem yürütme süresinde %12.3 azalma, HwBinder yürütme süresinde %20 azalma ve Binder RPC yürütme süresinde %21.7 azalma ile sonuçlandı.
- Android.os.MessageQueue mesaj kuyruğunun kilit mekanizması kullanılmadan çalışan yeni bir uygulaması önerilmiştir. Bu yeni uygulama performansı artırır ve kare kaybını azaltır.
- Destek talebinde bulunan başvurular Android 17 ve sonraki sürümlerde, "static final" olarak işaretlenmiş alanların değerlerinin değiştirilmesi yasaklanmıştır; bu sayede çalışma zamanında daha agresif performans optimizasyonlarının etkinleştirilmesi mümkün olmaktadır.
- Bellek tüketimini azaltmak için, özel bildirim görünümü düzenlerinin boyutu sınırlandırılmıştır.
- Performans sorunlarının hata ayıklaması için yararlı veriler toplamak amacıyla ProfilingManager profiler'ına TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM ve TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE adlı ek tetikleyiciler eklendi.
Kaynak: opennet.ru












