Bu sayfada Android 9 sürümündeki başlıca özellikler özetlenir ve ek bilgilere bağlantılar sağlanır. Bu özellik özetleri, özelliğin bu sitedeki dokümantasyon konumuna göre düzenlenmiştir. Bölüm taşıma ve yeniden adlandırma kılavuzu için Ağustos 2018 site güncellemelerine bakın.
İnşa etmek
Genel sistem görüntüsü (GSI)
Genel sistem görüntüsü (GSI), Android cihazlar için ayarlanmış yapılandırmalara sahip bir sistem görüntüsüdür. Genel Sistem Görüntüsü (GSI), Android 9 ile başlatılan cihazlar ile Android 9'a yükseltilen cihazlar için GSI'lar arasındaki farklara ilişkin ayrıntıları içerir.
Mimari
Donanım soyutlama katmanı (HAL)
HIDL çerçevesi geriye dönük uyumluluk
HIDL çerçevesi geriye dönük uyumluluk doğrulaması, çerçevenin geriye dönük uyumluluğunu doğrulamaya yönelik bir yöntemdir.
Dinamik olarak kullanılabilen HAL'ler
Dinamik olarak kullanılabilen HAL'ler, kullanılmadığında veya ihtiyaç duyulmadığında Android donanım alt sistemlerinin dinamik olarak kapatılmasını destekler.
HIDL
HIDL Bellek Bloğu
HIDL MemoryBlock, hidl_memory
, HIDL @1.0::IAllocator
ve HIDL @1.0::IMapper
üzerine kurulu soyut bir katmandır. Tek bir bellek yığınını paylaşan birden fazla bellek bloğuna sahip HIDL hizmetleri için tasarlanmıştır.
Cihaz ağacı katmanları
Sıkıştırılmış kaplamalar
Android 9 ve üzeri, cihaz ağacı tablo başlığının 1. sürümünü kullanırken cihaz ağacı blob katmanı (DTBO) görüntüsünde sıkıştırılmış kaplamalar için destek içerir.
DTO güncellemeleri
Android 9 ve üzeri, önyükleyicinin , cihaz ağacı kaplamalarında (DTO'lar) tanımlanan özellikleri değiştirmeden önce birleşik cihaz ağacı blobunu çekirdeğe geçirmesini gerektirir.
DTBO görüntü başlığı sürümü oluşturma
Android 9 ve üzeri, DTBO görüntü başlığında bir sürüm alanı içerir.
DTBO doğrulaması
Android 9 ve üzeri bir DTBO bölümü gerektirir. SoC DT'ye düğüm eklemek veya özelliklerde değişiklik yapmak için, önyükleyicinin SoC DT üzerine dinamik olarak cihaza özgü bir CE'yi yerleştirmesi gerekir. Daha fazla bilgi için bkz . Derleme ve Doğrulama .
Çekirdek uyumluluğu
Android 9 ve üzeri, çekirdeği, arayüzlerini ve DTBO'ların kullanımını etkileyen gereksinimleri içerir. Daha fazla bilgi için şu sayfalara bakın:
- Kararlı Çekirdek Sürümleri ve Güncellemeleri
- Android Ortak Çekirdekleri
- Modüler Çekirdek Gereksinimleri
- Arayüz Gereksinimleri
- Cihaz Ağacı Kaplamaları
Satıcı NDK
Tasarım değişiklikleri
Android 9 ve sonraki sürümlerdeki VNDK tasarım değişiklikleri hakkında bilgi için şu sayfalara bakın:
- Satıcı Yerel Geliştirme Kiti (VNDK)
- VNDK Yapı Sistemi Desteği
- VNDK Tanımlama Aracı
- Dizinler, Kurallar ve politika
- VNDK Uzantıları
- Bağlayıcı Ad Alanı
ABI denetleyicisi
ABI Kararlılığı sayfası, VNDK kitaplıklarında yapılan değişikliklerin ABI uyumluluğunu sürdürmesini sağlayan uygulama ikili arabirimi (ABI) denetleyicisini açıklar.
VNDK anlık görüntüleri
Bir sistem görüntüsü, sistem ve satıcı görüntüleri Android'in farklı sürümlerinden oluşturulduğunda bile satıcı görüntülerine doğru VNDK kitaplıklarını sağlamak için VNDK anlık görüntülerini kullanabilir.
Satıcı arayüz nesnesi (VINTF nesnesi)
Satıcı Arayüzü Nesnesi bölümündeki aşağıdaki sayfalar Android 9 ve sonraki sürümlerdeki güncellemeleri açıklamaktadır:
HIDL kullanımdan kaldırma planı
Aşağıdaki sayfalarda Android'in HIDL HAL'leri nasıl kullanımdan kaldırdığı ve kaldırdığı açıklanmaktadır:
Önyükleyici
Ürün bölümleri
Android 9 ve üzeri, Android derleme sistemini kullanarak bina /product
bölümleri oluşturmayı destekler. Daha önce Android 8.x, Android derleme sisteminden oluşturulan OEM'e özgü bileşenler için yer ayırmadan, çip üzerinde sisteme (SoC) özgü bileşenlerin /system
bölümünden /vendor
bölümüne ayrılmasını zorunlu kılıyordu.
Kanonik önyükleme nedeni uyumluluğu
Kurallı Önyükleme Nedeni sayfası, Android 9 ve sonraki sürümlerde önyükleyici önyükleme nedeni spesifikasyonunda yapılan değişiklikleri açıklar.
Kök olarak sistem
Android 9 ve sonraki sürümleriyle başlatılan tüm cihazların, ramdisk.img
system.img
(ramdisksiz olarak da bilinir) ile birleştiren ve daha sonra rootfs olarak bağlanan system-as-root kullanması gerekir.
Önyükleme görüntüsü üstbilgisi sürümü oluşturma
Android 9 ve üzeri sürümlerde, önyükleme görüntüsü üstbilgisi, başlık sürümünü belirten bir alan içerir. Önyükleyicinin bu sürüm alanını kontrol etmesi ve başlığı buna göre ayrıştırması gerekir.
DTBO iyileşme aşamasında
A/B olmayan cihazlarda kurtarma görüntüsü ile DTBO bölümü arasındaki uyumsuzluklardan kaynaklanan OTA hatalarını önlemek için kurtarma görüntüsünün DTBO görüntüsünden bilgi içermesi gerekir.
Görüntülemek
Kesikleri göster
Ekran kesikleri, uygulama geliştiricilerin sürükleyici, uçtan uca deneyimler oluşturmasına olanak tanırken, cihazların ön kısmında önemli sensörler için alan bırakmaya devam ediyor.
Önerileri döndür
Android 9 ve sonraki sürümlerde ekran döndürme davranışına yönelik güncellemeler, cihazın konumu değişse bile ekran döndürmeyi yatay veya dikey olarak sabitlemek için kullanıcıya yönelik bir kontrol desteğini içerir.
Senkronize uygulama geçişleri
Senkronize uygulama geçişleri, yeni uygulama geçiş animasyonlarına olanak tanır.
Metin sınıflandırması (eski adıyla TEXTCLASSIFIER)
Android 9 ve üzeri, metin sınıflandırmasını uygulamanın önerilen yolu olan Metin Sınıflandırıcı hizmetini ve varsayılan hizmet uygulamasını içerir.
Geniş gamlı renk
Android 9 ve üzeri, aşağıdakiler de dahil olmak üzere geniş renk gamı desteğini içerir:
- Yüksek dinamik aralık (HDR)
- İçeriğin BT2020 renk uzayında işlenmesi ancak son hedef veri alanı olarak işlenmemesi
Geniş gamlı renk kullanmak için cihazın tam ekran yığınının (ekran, donanım oluşturucu, GPU gibi) geniş gamlı renkleri veya arabellek formatlarını desteklemesi gerekir. Donanım desteklese bile cihazların geniş gamlı içerik için destek talep etmesi gerekmez. Ancak donanımın tüm avantajlarından yararlanmak için geniş renk gamının etkinleştirilmesi gerekir. Tutarsız bir görsel deneyimden kaçınmak için geniş gamlı renk çalışma süresi boyunca kapatılmamalıdır.
Uyumluluk
Android Uyumluluk Tanımı Belgesi
Android 9 Uyumluluk Tanımı Belgesi (CDD), yeni özellikler için güncellemeler ve daha önce yayınlanmış işlevlere yönelik gereksinimlerde yapılan değişikliklerle önceki sürümler üzerinde yinelenir.
Ayarlar
Daha iyi uygulama widget'ları
Android uygulaması widget çerçevesi, özellikle kullanıcı widget'ları sildiğinde veya manuel olarak eklediğinde, kullanıcı etkileşimlerine ilişkin daha fazla görünürlük sunar. Bu işlevsellik varsayılan olarak Launcher3 ile birlikte gelir.
Üreticilerin, Launcher3'ü temel almıyorlarsa bu özelliği desteklemek için başlatıcı uygulamalarını (cihazlarla birlikte gönderilen) güncellemeleri gerekir. OEM'lerin varsayılan başlatıcılarında yeni widgetFeatures alanını desteklemesi gerekir.
Özelliğin yalnızca başlatıcılar beklendiği gibi uyguladığında uçtan uca çalıştığını unutmayın. AOSP örnek bir uygulama içerir. Sağlanan örnek kod için AOSP Değişiklik Kimliği Iccd6f965fa3d61992244a365efc242122292c0ca'ya bakın.
Paket yükleyicilerine cihaz durumu değişikliği bildirimleri
Yerel ayar veya görüntü yoğunluğu gibi özelliklerde değişiklik olduğunda INSTALL_PACKAGES
iznine sahip uygulamalara korumalı bir sistem yayını gönderilebilir. Alıcılar manifestte kaydedilebilir ve yayını almak için bir süreç başlatılır. Bu, bu tür değişiklikler üzerine ek uygulama bileşenleri yüklemek isteyen paket yükleyicileri için kullanışlıdır; bu, bu yayını tetiklemeye uygun yapılandırma değişiklikleri nadir olduğundan nadir görülen bir durumdur.
Cihaz durumu değişikliği bildirimi kaynak kodu platform/frameworks/base
altında aşağıdaki konumlarda bulunur:
-
api/system-current.txt
-
core/java/android/content/Intent.java
-
core/res/AndroidManifest.xml
-
services/core/java/com/android/server/am/ActivityManagerService.java
Bilgi mimarisi
Ayarlar uygulamasının bilgi mimarisindeki değişiklikler daha fazla işlevsellik ve daha kolay uygulama sağlar.
Testler
Bir test
Atest komut satırı aracı, Android testlerini yerel olarak oluşturmanıza, yüklemenize ve çalıştırmanıza olanak tanıyarak, Ticaret Federasyonu test donanımı komut satırı seçenekleri hakkında bilgi gerektirmeden testin yeniden çalıştırılmasını büyük ölçüde hızlandırır.
Uyumluluk Test Paketi
CTS indirmeleri
Android 9'u destekleyen Uyumluluk Test Paketi (CTS) paketleri CTS İndirmeler sayfasında mevcuttur. Dahil edilen testlerin kaynak kodu, açık kaynak ağacındaki android-cts-9.0_r1
etiketiyle senkronize edilebilir.
CTS seçenekleri
Android 9 için CTS v2 aşağıdaki komutu ve bağımsız değişkeni kazanır:
-
run retry
önceki oturumlarda başarısız olan veya yürütülmeyen tüm testleri yeniden dener. -
'--shard-count
birden fazla cihazda paralel olarak çalışacak şekilde bir CTS'nin belirli sayıda bağımsız parçaya bölünmesini sağlar.
Ayrıca, daha önce belgelenmeyen --retry-type
komutu da aynı CTS v2 konsol komut referansına eklenmiştir.
Güvenli Öğe (SE) hizmeti
Secure Element hizmeti, cihazların SE HAL uygulamasına sahip olup olmadığını ve varsa kaç tane olduğunu belirleyerek küresel platform destekli güvenli öğeleri kontrol eder. Bu, API'yi ve temeldeki güvenli öğe uygulamasını test etmek için temel olarak kullanılır.
Sensör füzyon kutusu
Sensör füzyon kutusu, Camera Image Test Suite (Camera ITS) sensör füzyon testinde ve çoklu kamera senkronizasyon testinde kullanılır ve Android telefonlar için kameranın ve diğer sensörlerin zaman damgası doğruluğunu ölçmek için tutarlı bir test ortamı sağlar. Daha fazla bilgi için şu sayfalara bakın:
- Sensor Fusion Box Hızlı Başlangıç Kılavuzu, sensör füzyon testinin ve sensör füzyon kutusunun ilk kez kurulumuna ilişkin adımları sağlar.
- Sensör Füzyon Kutusu Düzeneği, sensör füzyon kutusunun montajına yönelik adımlar sağlar.
Geniş görüş alanı Kutuda ITS
Kutuda geniş görüş alanı ITS, Kamera ITS'deki hem geniş görüş alanını (WFoV) hem de normal görüş alanı (RFoV) kamera sistemlerini test etmek için tasarlanmış otomatik bir sistemdir.
Satıcı Test Paketi
Ana bilgisayar denetleyici mimarisi
Satıcı Test Paketi (VTS) ana bilgisayar denetleyici mimarisi, bulut tabanlı test hizmeti hizmetiyle entegre edilmiş VTS test çerçevesinin mimarisidir.
Hizmet adına duyarlı HAL testi
VTS hizmeti adına duyarlı HAL testi, VTS testlerinin çalıştığı cihaza bağlı olarak belirli bir HAL örneğinin hizmet adının alınmasını destekler.
HAL test edilebilirlik kontrolü
VTS HAL test edilebilirlik kontrolü, söz konusu cihaz hedefi için hangi VTS testlerinin atlanması gerektiğini belirlemek üzere cihaz yapılandırmasını kullanmaya yönelik bir çalışma zamanı yöntemini içerir.
Otomatik test altyapısı
Otomatik test altyapısı, AOSP genel sistem görüntüsünü (GSI) çalıştıran ortak cihazlarda VTS, CTS veya diğer testlerin otomatik olarak test edilmesine yönelik bir VTS altyapısıdır.
Hata ayıklama
Gelişmiş telemetri
Android'de telemetri , cihaz, Android sistemi ve uygulamalar hakkındaki kullanım ve teşhis bilgilerini otomatik olarak toplama işlemidir. Android'in önceki sürümlerinde telemetri yığını sınırlıydı ve sistem güvenilirliğini ve cihaz veya uygulama sorunlarını tanımlamak ve çözmek için gereken bilgileri yakalamıyordu. Bu, sorunların temel nedenlerinin belirlenmesini imkansız olmasa da zorlaştırdı.
Android 9, daha iyi verileri daha hızlı toplayarak bu eksikliği gideren statsd
telemetri özelliğini içeriyor. statsd
uygulama kullanımını, pil ve işlem istatistiklerini ve çökmeleri toplar. Veriler analiz edilir ve ürünleri, donanımı ve hizmetleri iyileştirmek için kullanılır.
Daha fazla ayrıntı için bkz. frameworks/base/cmds/statsd/
.
Güvenlik özellikleri
Uygulama imzalama
v3 APK imza şeması, APK anahtar rotasyonunu destekler.
Biyometrik destek
Android 9, uygulamaların biyometrik kimlik doğrulama desteğini cihaz ve modaliteden bağımsız bir şekilde entegre etmek için kullanabileceği genel BiometricPrompt
sınıfını içerir. Biyometri yığınınızı BiometricPrompt
içerecek şekilde entegre etme hakkında daha fazla bilgi için bkz .
Dinamik analiz
Android 9, daha fazla istismar azaltma ve analiz aracı desteği içerir.
Akış bütünlüğünün kontrolü (CFI)
Kontrol akış bütünlüğü (CFI), derlenmiş bir ikili programın orijinal kontrol akış grafiğinde değişiklik yapılmasını yasaklayan ve bu tür saldırıların gerçekleştirilmesini önemli ölçüde zorlaştıran bir güvenlik mekanizmasıdır.
Çekirdek CFI
Varsayılan olarak etkin olan sistem CFI'ya ek olarak Android 9 ve üzeri, çekirdek kontrol akışı bütünlüğü (CFI) desteğini de içerir.
Şifreleme
Dosya tabanlı şifreleme
Dosya tabanlı şifreleme (FBE), uyarlanabilir depolamayla çalışacak şekilde güncellendi. Yeni cihazlar, tam disk şifrelemesi yerine dosya tabanlı şifreleme kullanmalıdır.
Meta veri şifreleme
Android 9 ve üzeri, donanım desteğinin mevcut olduğu meta veri şifreleme desteğini içerir. Meta veri şifrelemeyle, önyükleme sırasında mevcut olan tek bir anahtar, şifrelenmemiş içeriği şifrelemek için dosya tabanlı şifrelemeyi kullanır.
Anahtar deposu
Android 9 ve üzeri, bu özelliklere sahip olan Keymaster 4'ü içerir.
Kasa
Android 9 ve üzeri, yerleşik bir güvenli öğe (SE) gibi yüksek güvenlikli uygulamalar için özel olarak tasarlanmış, fiziksel olarak ayrı bir CPU'da depolanan ve kullanılan Android Anahtar Deposu anahtarları için destek içerir. StrongBox Keymaster, Keymaster HAL'nin ayrı güvenli donanımdaki bir uygulamasıdır. Bir StrongBox şunları içerir:
- Ayrık CPU
- Entegre güvenli depolama
- Yüksek kaliteli gerçek rastgele sayı üreteci
- Kurcalamaya dayanıklı ambalaj
- Yan kanal direnci
Güvenli anahtar içe aktarma
Bir anahtarı Keymaster 4'e güvenli bir şekilde aktarmak için, cihaz dışında oluşturulan bir anahtar, anahtarın nasıl kullanılabileceğini tanımlayan yetkilendirme spesifikasyonuyla şifrelenir.
3DES desteği
Keymaster 4, 3DES kullanan eski sistemlerle uyumluluk için 3DES içerir.
Sürüm bağlama
Treble'ın modüler yapısını desteklemek ve system.img
boot.img
bağlanmasını kırmak için Keymaster 4, anahtar sürümü bağlama modelini her bölüm için ayrı yama düzeylerine sahip olacak şekilde değiştirdi. Bu, her bölümün bağımsız olarak güncellenmesine olanak tanırken aynı zamanda geri alma koruması sağlar.
Android Korumalı Onay API'si
Android 9 yüklü olarak başlatılan desteklenen cihazlar, geliştiricilere Android Korumalı Onay API'sini kullanma olanağı sağlar. Bu API ile uygulamalar, kullanıcıya kısa bir ifadeyi onaylamalarını isteyen bir istem görüntülemek için ConfirmationPrompt
örneğini kullanabilir. Bu bildirim, uygulamanın, kullanıcının ödeme yapmak gibi hassas bir işlemi tamamlamak istediğini yeniden onaylamasına olanak tanır.
SELinux
Uygulama başına SELinux korumalı alanı
Uygulama sanal alanı, Android 9 ve üstünü hedefleyen ayrıcalıklı olmayan tüm uygulamaların ayrı SELinux sanal alanlarını çalıştırmasını sağlamak için yeni korumalara ve test senaryolarına sahiptir.
Tiz SELinux değişiklikleri
Android 9 ve üzeri sürümlerdeki Treble SELinux güncellemeleri, SELinux bölümünün çeşitli sayfalarında belgelenmiştir.
Satıcı başlatma
Vendor init, /vendor
komutlarını satıcıya özel izinlerle çalıştırmak için ayrı bir SELinux etki alanı kullanarak Treble sistemi/satıcı ayrımındaki boşluğu kapatır.
Sistem özellikleri
Android 9, sistem özelliklerinin system
ve vendor
bölümleri arasında gereksiz yere paylaşılmasını kısıtlar ve paylaşılan sistem özellikleri arasında tutarlılığın sağlanması için bir yöntem sağlar.
SELinux özellik testleri
Android 9, belirli konumlardaki tüm dosyaların uygun niteliklere sahip olmasını sağlayan yeni oluşturma zamanı testleri içerir. Örneğin, sysfs
tüm dosyalar gerekli sysfs_type
özniteliğine sahiptir.
Ses
Yüksek çözünürlüklü ses efektleri
Yüksek çözünürlüklü ses efektlerine yönelik güncellemeler, efekt işlemenin int16'dan float formatına dönüştürülmesini ve eşzamanlı istemci çıkış parçalarında, maksimum istemci/sunucu belleğinde ve toplam karışık parçalarda artışları içerir.
Kamera
Harici USB kameralar
Android 9 ve üzeri, standart Android Camera2 API'sini ve kamera HIDL arayüzünü kullanan tak ve çalıştır USB kameraların (yani web kameralarının) kullanımını destekler.
Hareket takibi
Kamera cihazları hareket izleme özelliğinin reklamını yapabilir.
Çoklu kamera desteği
Çoklu kamera desteği, aynı yöne bakan iki veya daha fazla fiziksel kamera cihazından oluşan yeni bir mantıksal kamera cihazı aracılığıyla çoklu kamera cihazları için API desteğini içerir.
Oturum parametreleri
Oturum parametrelerinin uygulanması , kamera istemcilerinin, yakalama oturumu başlatma aşamasının bir parçası olarak maliyetli istek parametrelerinin bir alt kümesini aktif olarak yapılandırmasını sağlayarak gecikmeleri azaltabilir.
Tek üretici, çoklu tüketici tamponu
Tek üretici, çoklu tüketici kamera arabellek aktarımı, yakalama oturumu aktifken ve kamera akışı devam ederken kamera istemcilerinin çıktı yüzeylerini dinamik olarak eklemesine ve kaldırmasına olanak tanıyan bir dizi yöntemdir.
Bağlantı
Arama ve mesajlaşma
Veri planlarını uygulayın
Android 9 ve üzeri, SubscriptionPlan API'lerini kullanarak veri planları uygulayan operatörlere gelişmiş destek sağlar.
Üçüncü taraf arama uygulamaları
Android 9 ve üzeri , üçüncü taraf (3P) arama uygulamalarının eşzamanlı gelen operatör çağrılarını yönetmesine ve çağrıların sistem çağrı günlüğüne kaydedilmesine olanak tanıyan API'ler sağlar.
Taşıyıcı
Taşıyıcı kimliği
Android 9'da AOSP, operatörün tanımlanmasına yardımcı olmak için bir operatör kimliği veritabanı ekler. Veritabanı, taşıyıcıları tanımlamak için ortak bir yol sağlayarak yinelenen mantığı ve parçalanmış uygulama deneyimlerini en aza indirir.
eSIM
Gömülü SIM (eSIM veya eUICC), mobil kullanıcıların fiziksel bir SIM kartı olmadan bir operatör profili indirmesine ve bir operatörün hizmetini etkinleştirmesine olanak tanıyan en son teknolojidir. Android 9 ve üzeri sürümlerde, Android çerçevesi, eSIM'e erişim ve eSIM'deki abonelik profillerini yönetmek için standart API'ler sağlar. Daha fazla bilgi için bakınız:
IMS ayarları için çoklu SIM desteği
Android 9 ve üzeri , IP multimedya alt sistemi (IMS) için kullanıcı ayarlarında iyileştirmeler sağlar. Bu ayarları tüm aboneliklerde paylaşmak yerine, sesli LTE (VoLTE), görüntülü arama ve Wi-Fi aramasını abonelik başına ayrı ayrı ayarlayabilirsiniz.
SIM durumu yayınları
Android 9 ve üzeri sürümlerde Intent.ACTION_SIM_STATE_CHANGED
kullanımdan kaldırılmıştır ve kart durumu ve kart uygulama durumu için iki ayrı yayın eklenmiştir: TelephonyManager.ACTION_SIM_CARD_STATE_CHANGED
ve TelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED
.
Bu değişikliklerle, yalnızca bir kartın mevcut olup olmadığını bilmesi gereken alıcıların uygulama durumu değişikliklerini dinlemesi gerekmiyor ve yalnızca kart uygulamalarının hazır olup olmadığını bilmesi gereken alıcıların kart durumundaki değişiklikleri dinlemesi gerekmiyor.
İki yeni yayın @SystemApis'tir ve yapışkan değildir. Yayınları yalnızca READ_PRIVILEGED_PHONE_STATE
iznine sahip alıcılar alabilir.
Cihazın kilidini açtığınızda niyetler yeniden yayınlanmaz. Kilidi açmadan önce gönderilen yayınlara bağımlı olan alıcılar ya directBootAware
kullanmalı ya da kullanıcı kilidi açtıktan sonra durumu sorgulamalıdır. Durumlar, TelephonyManager, getSimCardState()
ve getSimApplicationState()
içindeki ilgili API'ler kullanılarak sorgulanabilir.
Wifi
Operatör Wi-Fi'si
Operatör Wi-Fi özelliği, cihazların operatör tarafından uygulanan Wi-Fi ağlarına otomatik olarak bağlanmasına olanak tanır. Stadyum veya yer altı tren istasyonu gibi sıkışıklığın yoğun olduğu veya hücre kapsama alanının minimum olduğu alanlarda, taşıyıcı Wi-Fi bağlantının iyileştirilmesine ve trafiğin boşaltılmasına yardımcı olur.
MAC rastgeleleştirmesi
MAC rastgeleleştirmesi, cihazların o anda bir ağ ile ilişkili değilken yeni ağları araştırırken rastgele MAC adresleri kullanmasına olanak tanır. Android 9 ve sonraki sürümlerde, bir cihazın bir Wi-Fi ağına bağlanırken rastgele bir MAC adresi kullanmasına neden olmak için bir geliştirici seçeneği etkinleştirilebilir.
Wi-Fi'yi otomatik olarak aç
Wi-Fi'yi otomatik olarak aç özelliği etkinleştirildiğinde, cihaz yeterince yüksek göreceli alınan sinyal gücü göstergesine (RSSI) sahip kayıtlı bir Wi-Fi ağının yakınında olduğunda Wi-Fi otomatik olarak yeniden etkinleştirilir.
Wi-Fi gidiş-dönüş süresi
Wi-Fi gidiş-dönüş süresi (RTT), cihazların erişim noktaları (AP'ler) veya Wi-Fi Aware eşleri (cihazda Wi-Fi Aware destekleniyorsa) olup olmadığına bakılmaksızın diğer destekleyici cihazlara olan mesafeyi ölçmesine olanak tanır. Bu özellik IEEE 802.11mc protokolü üzerine kurulmuştur ve uygulamaların gelişmiş konum doğruluğu ve farkındalığını kullanmasına olanak tanır.
Wi-Fi puanlama iyileştirmeleri
Geliştirilmiş Wi-Fi puanlama modelleri, bir cihazın bağlı Wi-Fi ağından ne zaman çıkması veya yeni bir Wi-Fi ağına ne zaman girmesi gerektiğini hızlı ve doğru bir şekilde belirler. Bu modeller, bağlantıdaki boşlukları önleyerek kullanıcılara güvenilir ve kusursuz bir deneyim sunar.
config.xml
kaynaklarındaki RSSI değerlerini, özellikle de aşağıdakileri gözden geçirin ve ayarlayın:
-
config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
-
config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
-
config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
-
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
Wi-Fi STA/AP eşzamanlılığı
Wi-Fi STA/AP eş zamanlılığı , cihazların aynı anda istasyon (STA) ve erişim noktası (AP) modlarında çalışabilme yeteneğidir. Çift bantlı eşzamanlı (DBS) Wi-Fi'yi destekleyen cihazlar için bu, kullanıcı bir erişim noktasını (SoftAP) etkinleştirmek istediğinde STA Wi-Fi'yi kesintiye uğratmama gibi yeteneklerin önünü açar.
WiFiStateMakine iyileştirmeleri
WifiStateMachine
Wi-Fi etkinliğini kontrol etmek, kullanıcı girişini koordine etmek (çalışma modları: sıcak nokta, tarama, bağlanma veya kapalı) ve Wi-Fi ağ eylemlerini (tarama veya bağlanma gibi) kontrol etmek için kullanılan ana sınıftır.
Android 9 ve üzeri sürümlerde, Wi-Fi çerçeve kodu ve WifiStateMachine
uygulaması yeniden tasarlanarak kod boyutunun küçültülmesi, takip edilmesi daha kolay Wi-Fi kontrol mantığı, gelişmiş kontrol ayrıntı düzeyi ve birim testlerinin kapsamı ve kalitesinin artırılması sağlandı. .
WifiStateMachine
, yüksek düzeyde Wi-Fi'nin dört durumdan birinde olmasını sağlar:
- İstemci modu (bağlanabilir ve tarayabilir)
- Yalnızca tarama modu
- SoftAP modu (Wi-Fi erişim noktası)
- Devre Dışı (Wi-Fi tamamen kapalı)
Her Wi-Fi modunun, hizmetleri çalıştırmak için farklı gereksinimleri vardır ve yalnızca işlemiyle ilgili olayları işleyecek şekilde tutarlı bir şekilde kurulmalıdır. Yeni uygulama, kodu o modla ilgili olaylarla sınırlandırarak hata ayıklama süresini ve karmaşıklık nedeniyle yeni hataların ortaya çıkma riskini azaltır. Mod işlevselliği için açık işleme ek olarak, iş parçacığı yönetimi tutarlı bir şekilde ele alınır ve bir senkronizasyon mekanizması olarak eşzamansız kanalların kullanımı ortadan kaldırılır.
Wi-Fi izin güncellemeleri
Android 9 ve sonraki sürümlerde CHANGE_WIFI_STATE
uygulama izni varsayılan olarak etkindir. Ayarlar > Uygulamalar ve bildirimler > Özel uygulama erişimi > Wi-Fi kontrolü bölümündeki ayarlar sayfasında herhangi bir uygulamanın iznini devre dışı bırakabilirsiniz.
Uygulamaların CHANGE_WIFI_STATE
izninin verilmediği durumları ele alabilmesi gerekir.
Bu davranışı doğrulamak için roboelektrik ve manuel testleri çalıştırın.
Manuel test için:
- Ayarlar > Uygulamalar ve bildirimler > Özel uygulama erişimi > Wi-Fi kontrolü'ne gidin.
- Uygulamanıza ilişkin izni seçin ve kapatın.
- Uygulamanızın,
CHANGE_WIFI_STATE
izninin verilmediği senaryoyu işleyebildiğini doğrulayın.
WPS'in kullanımdan kaldırılması
Güvenlik sorunları nedeniyle WiFiManager
Wi-Fi korumalı kurulum (WPS), Android 9 ve sonraki sürümlerde kullanımdan kaldırılmış ve devre dışı bırakılmıştır. Ancak WiFiDirect
, WPA istemcisinde hâlâ WPS kullanıyor.
Grafik
Uygulama
Vulkan 1.1 API'si
Android 9 ve üzeri , Vulkan 1.1 grafik API'sinin uygulanmasını destekler.
Pencere geçiş takibi için WinScope aracı
Android 9 ve üzeri, pencere geçişlerini izlemeye yönelik WinScope aracını içerir. WinScope, geçişler sırasında ve sonrasında pencere yöneticisi durumunu kaydetmek ve analiz etmek için altyapı ve araçlar sağlar. İlgili tüm pencere yöneticisi durumunu bir izleme dosyasına kaydederken, pencere geçişlerinin kaydedilmesine ve bunlar arasında geçiş yapılmasına olanak tanır. Bu verileri yeniden oynatmak ve geçişi adım adım gerçekleştirmek için kullanabilirsiniz.
WinScope aracının kaynak kodu platform/development/tools/winscope
konumunda bulunur.
Etkileşim
Otomotiv sesi
Automotive Audio, otomotivle ilgili Android uygulamalarına yönelik ses mimarisini açıklar.
Sinir Ağları (NN) HAL, çeşitli hızlandırıcıların bir soyutlamasını tanımlar. Bu hızlandırıcıların sürücüleri bu HAL'a uygun olmalıdır.
Araç HAL'i
Araç Özellikleri, araç HAL arayüzündeki değişiklikleri açıklar.
GNSS uydu seçimi
Yeni küresel navigasyon uydu sistemi (GNSS) HAL'leri (v1.1+) ile çalışırken, Android Çerçevesi Android ayarlarını izler. İş ortakları, ayarları Google Play hizmetlerinden veya diğer sistem güncellemelerinden değiştirebilir. Bu ayarlar, belirli GNSS uydularının kullanılmaması gerekip gerekmediğini GNSS HAL'a bildirir. Bu, kalıcı GNSS uydusu veya takımyıldızı hataları durumunda veya takımyıldızları farklı zaman sistemleri ve artık saniye, gün veya hafta numarası geçişleri gibi harici olaylar kullanılarak karıştırırken ortaya çıkabilecek GNSS HAL uygulama sorunlarına daha hızlı tepki vermek için yararlı olabilir. .
GNSS donanım modeli
Android 9'da, GNSS HAL sürüm 1.1 veya üzeri, donanım API'si hakkındaki bilgileri platforma aktarabilir. Platformun IGnssCallback
arayüzünü uygulaması ve HAL'e bir tanıtıcı aktarması gerekiyor. GNSS HAL, donanım modeli bilgisini LocationManager#getGnssHardwareModelName()
yöntemi aracılığıyla iletir. Cihaz üreticileri mümkün olan yerlerde bu bilgiyi sağlamak için GNSS HAL sağlayıcılarıyla birlikte çalışmalıdır.
İzinler
İsteğe bağlı erişim kontrolü güncellemelerini yapılandırma
İsteğe Bağlı Erişim Denetimini (DAC) Yapılandırma, dosya sistemi yeteneklerini genişletmek için Android Kimlikleri (AID'ler) mekanizmasına yönelik güncellemeleri içerir.
Ayrıcalıklı uygulama izinlerini beyaz listeye ekleme
Android 9 ve üzeri sürümlerde, reddedilmesi gereken izinler varsa XML'i, önceki sürümlerde kullanılan permission
etiketi yerine deny-permission
etiketini kullanacak şekilde düzenleyin.
Veri
Bant genişliği tahmini iyileştirmeleri
Android 9, bant genişliği tahmini için geliştirilmiş destek sağlar. Android uygulamaları, mevcut veri bant genişliğine erişebiliyorlarsa, görüntülü aramalar ve video akışı için daha uygun çözünürlük ayarları yapabilirler.
Android 6.0 veya üstünü çalıştıran cihazlarda, hücresel ağ için bant genişliği tahmini isteyen bir arayan, ConnectivityManager.requestBandwidthUpdate()
öğesini çağırır ve çerçeve, tahmini bir aşağı bağlantı bant genişliği sağlayabilir .
Ancak 9 veya üzerini çalıştıran cihazlarda, tahmini bant genişliğinde önemli bir değişiklik olduğunda onCapabilitiesChanged()
geri çağrısı otomatik olarak tetiklenir ve requestBandwidthUpdate()
işlevinin çağrılması işlem yapılmaz; ilişkili getLinkDownstreamBandwidthKbps()
ve getLinkUpstreamBandwidthKbps()
fiziksel katman tarafından sağlanan güncel bilgilerle doldurulur.
Ayrıca cihazlar, ServiceState.getCellBandwidths()
aracılığıyla LTE hücre bant genişliklerini kontrol edebilir. Bu, uygulamaların belirli bir hücrede ne kadar bant genişliği (frekans) bulunduğunu belirlemesine olanak tanır. Saha test uzmanlarının en güncel bilgileri kontrol edebilmesi için hücre bant genişliği bilgilerine gizli bir menü aracılığıyla ulaşılabilir.
eBPF trafik izleme
eBPF ağ trafiği aracı, son aygıt önyüklemesinden bu yana bir aygıttaki ağ kullanımını izlemek için çekirdek ve kullanıcı alanı uygulamasının bir kombinasyonunu kullanır. Bu araç, soket etiketleme, ön plan/arka plan trafiğini ayırma ve cihazın durumuna bağlı olarak uygulamaların ağ erişimini engellemek için UID başına güvenlik duvarı gibi ek işlevler sağlar.
API'leri düşürmek için geri yükleyin
Cihazlar artık işletim sisteminin gelecekteki sürümlerinden geri yükleme yapabilir. Bu, özellikle kullanıcılar telefonlarını yükselttikten sonra kaybettikleri veya kırdıkları durumlarda kullanışlıdır.
Bir OEM, sistem paketlerinden herhangi biri (android, sistem, ayarlar) için yedekleme aracılarını değiştirirse, bu aracılar, platformun daha yüksek sürümlerinde oluşturulan yedekleme setlerini çökmeden ve en azından bazı verileri geri yükleyerek geri yüklemeyi gerçekleştirmelidir.
core/java/android/provider/SettingsValidators.java
olduğu gibi, belirli bir yedekleme verisi parçasının geçersiz değerlerini kontrol etmek ve yalnızca geçerli verileri geri yüklemek için bir doğrulayıcı kullanmayı düşünün.
Özellik varsayılan olarak açıktır. Gelecekteki sürümlerden geri yüklemeye yönelik SettingsBackupAgent desteği, Settings.Global.OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION
aracılığıyla kapatılabilir. Cihaz üreticisi ROM'da bulunan yedekleme aracılarından birini genişletmediği (veya özel bir aracı eklemediği) sürece ek uygulamaya gerek yoktur.
Bu özellik, platformun gelecekteki sürümlerinden sistem geri yüklemelerine olanak tanır; ancak geri yüklenen verilerin tamamlanmayacağını beklemek mantıklıdır. Aşağıdaki talimatlar aşağıdaki yedekleme aracıları için geçerlidir:
PackageManagerBackupAgent, format sürümü oluşturma yoluyla yedekleme verilerinin gelecekteki sürümlerini destekler; Buradaki uzantıların geçerli geri yükleme koduyla uyumlu olması veya uygun sabitlerin çarpılması da dahil olmak üzere sınıftaki talimatları takip etmesi gerekir .
SystemBackupAgent, Android 9 ve sonraki sürümlerde
restoreAnyVersion = false
değerini belirtir. API'nin daha yüksek sürümlerinden geri yüklemeyi desteklemez.SettingsBackupAgent, Android 9 ve sonraki sürümlerde
restoreAnyVersion = true
belirtir. Doğrulayıcılar aracılığıyla kısmi destek mevcuttur. Hedef işletim sisteminde bir doğrulayıcı mevcutsa, ayar daha yüksek bir API sürümünden geri yüklenebilir. Herhangi bir ayarın eklenmesine, doğrulayıcı da eşlik etmelidir. Ayrıntılar için sınıfı kontrol edin.ROM'da bulunan herhangi bir özel yedekleme aracısı, yedekleme veri biçiminde uyumsuz bir değişiklik yapıldığında sürüm kodunu artırmalı ve aracıları ROM'un gelecekteki bir sürümünden gelen yedekleme verileriyle uğraşmaya hazır değilse,
restoreAnyVersion = false
(varsayılan) olduğundan emin olmalıdır. onların kodu.
Girişim
Yönetilen profil iyileştirmeleri
Yönetilen profillere yönelik kullanıcı deneyimi değişiklikleri, kullanıcıların yönetilen profili tanımlamasını, erişmesini ve kontrol etmesini kolaylaştırır.
OTA'ları duraklat
Yeni @SystemApi, cihaz sahiplerinin güvenlik güncellemeleri de dahil olmak üzere OTA güncellemelerini süresiz olarak duraklatmalarına olanak tanır.
Verim
Sağlık 2.0
Android 9 ve üzeri, health@1.0 HAL'den önemli bir sürüm yükseltmesi olan android.hardware.health
HAL 2.0'ı içerir. Daha fazla bilgi için şu sayfalara bakın:
APK önbelleğe alma çözümü
Android 9 ve üzeri, önceden yüklenmiş uygulamaların A/B bölümlerini destekleyen bir cihaza hızlı kurulumu için bir APK önbelleğe alma çözümü içerir. OEM'ler, ön yüklemeleri ve popüler uygulamaları, kullanıcıya yönelik herhangi bir veri alanını etkilemeden, yeni A/B bölümlü cihazlarda çoğunlukla boş B bölümünde depolanan APK önbelleğine yerleştirebilir.
Profil rehberli optimizasyon
Android 9 ve üzeri, plan oluşturma kurallarına sahip yerel Android modüllerinde Clang'ın profil kılavuzlu optimizasyonunun (PGO) kullanılmasını destekler.
Yazma öncesi günlük kaydı
Uyumluluk yazma öncesi günlük kaydı (WAL) adı verilen özel bir SQLiteDatabase modu, bir veritabanının, veritabanı başına maksimum bir bağlantıyı korurken, journal_mode=WAL
kullanmasına olanak tanır.
Önyükleme süreleri
Android 9, Önyükleme Sürelerini Optimize Etme bölümünde açıklandığı gibi önyükleme süresi optimizasyonunu değiştirir.
Güç
Arka plan kısıtlamaları
Android 9 ve üzeri, kullanıcıların pil gücünü tüketen uygulamaları kısıtlamasına olanak tanıyan arka plan kısıtlamaları içerir. Sistem ayrıca cihazın sağlığını olumsuz yönde etkileyen uygulamaların devre dışı bırakılmasını da önerebilir.
Pilsiz cihazlar
Android 9 , pilsiz cihazları önceki sürümlere göre daha zarif bir şekilde yönetir. Android 9, varsayılan olarak bir pilin bulunduğunu, %100 şarj edildiğini ve termistöründe normal sıcaklık okumasıyla iyi durumda olduğunu varsayan pilsiz cihazlara yönelik kodu kaldırır.