Android14
20 Kasım 2023
2. Cihaz Türleri
Revizyonu görün
Elde taşınır cihaz uygulamaları herhangi bir 64 bit ABI'yi (32 bit ABI ile veya 32 bit ABI olmadan) desteklediğini beyan ederse:
Revizyonu görün
- [ 7.5 /H-1-13] 1'den fazla RGB arkaya bakan kamera varsa, birincil arkaya bakan kamera için
LOGICAL_MULTI_CAMERA
özelliğini desteklemesi ZORUNLUDUR.
- [ 7.5 /H-1-13] 1'den fazla RGB arkaya bakan kamera varsa, birincil arkaya bakan kamera için
Revizyonu görün
[ 5.8 /T-0-1] Harici ekran için 50Hz veya 60Hz yenileme hızıyla çalışan, seçilen SDR veya HDR formatı için HDMI çıkış modunun en yüksek çözünürlüğe ayarlanması GEREKİR.
50Hz veya 60Hz yenileme hızıyla desteklenebilecek maksimum çözünürlüğü seçmek için HDMI çıkış modunun ayarlanması GEREKİR.
Revizyonu görün
- [9/W-0-1]
android.hardware.security.model.compatible feature
bildirilmesi ZORUNLUDUR.
- [9/W-0-1]
6. Geliştirici Araçları ve Seçeneklerinin Uyumluluğu
Revizyonu görün
- [C-0-12]
LMK_KILL_OCCURRED_FIELD_NUMBER
Atomunu yazmanız ZORUNLUDUR
Revizyonu görün
- [C-0-13] Görüntülemek için
dumpsys gpu --gpuwork
kabuk komutunu uygulamanız ZORUNLUDUR
- [C-0-12]
9. Güvenlik Modeli Uyumluluğu
Revizyonu görün
Cihaz uygulamaları SELinux'u destekleyebilen bir Linux çekirdeği kullanıyorsa:
Revizyonu görün
Cihaz uygulamaları Linux dışında bir çekirdek veya SELinux'suz Linux kullanıyorsa:
4 Ekim 2023
2. Cihaz Türleri
2.2. Elde Taşınabilir Gereksinimler :
Revizyonu görün
Android cihaz uygulamaları, aşağıdaki kriterlerin tümünü karşılamaları durumunda Elde Taşınabilir olarak sınıflandırılır:
- 4 inç
3,3 inç (veya API düzeyi 29 veya daha önceki sürümlerde gönderilen cihaz uygulamaları için 2,5 inç)ila 8 inç aralığında fiziksel çapraz ekran boyutuna sahip olun.
Yeni gereksinimleri başlatın
- Dokunmatik ekran giriş arayüzüne sahip olun.
- 4 inç
Revizyonu görün
Elde taşınır cihaz uygulamaları:
- [ 7.1 .1.1/H-0-1]
Bu belgede açıklanan tüm gereksinimleri karşılayan en az bir Android uyumlu ekrana sahip OLMALIDIR.Kısa kenarda en az 2,2 inç ve uzun kenarda 3,4 inç boyutunda ekran.
Elde taşınır cihaz uygulamaları yazılım ekranı döndürmeyi destekliyorsa:
- [ 7.1 .1.1/H-1-1]* Üçüncü taraf uygulamaları için sağlanan mantıksal ekranın kısa kenar(lar)da en az 2 inç ve uzun kenar(lar)da 2,7 inç olması ZORUNLUDUR. Android API düzeyi 29 veya daha eski sürümlerle gönderilen cihazlar bu gereklilikten muaf OLABİLİR.
Elde taşınır cihaz uygulamaları yazılım ekranı döndürmeyi desteklemiyorsa:
- [ 7.1 .1.1/H-2-1]* Üçüncü taraf uygulamaları için sağlanan mantıksal ekranın kısa kenar(lar)da en az 2,7 inç olması ZORUNLUDUR. Android API düzeyi 29 veya daha eski sürümlerle gönderilen cihazlar bu gereklilikten muaf OLABİLİR.
Yeni gereksinimleri başlatın
[ 7.1 .1.1/H-0-3]* Üçüncü taraf uygulamalar için kullanıma sunulan her
UI_MODE_NORMAL
ekranı, kısa kenarda en az 2,2 inç ve uzun kenarda 3,4 inç olan engelsiz bir fiziksel ekran alanıyla eşlemeli ZORUNLU.[ 7.1 .1.3/H-0-1]*
DENSITY_DEVICE_STABLE
değerini karşılık gelen ekranın gerçek fiziksel yoğunluğundan %92 veya daha yüksek olacak şekilde ayarlaması ZORUNLUDUR.
Elde taşınır cihaz uygulamaları
android.hardware.audio.output
veandroid.hardware.microphone
olarak bildirirse:[ 5.6 /H-1-1] Aşağıdaki veri yolları üzerinde Ortalama Mutlak Sapma 30 ms'den az olacak şekilde 5 ölçüm boyunca 300 milisaniye veya daha az Ortalama Sürekli Gidiş-Dönüş gecikmesine sahip OLMALIDIR: "hoparlörden mikrofona", 3,5 mm geri döngü adaptörü (destekleniyorsa), USB geri döngü (destekleniyorsa).
[ 5.6 /H-1-2] Hoparlörden mikrofona veri yolu üzerinden en az 5 ölçümde ortalama Dokunma-ton gecikmesi 300 milisaniye veya daha az OLMALIDIR.
Elde taşınır cihaz uygulamaları en az bir dokunsal aktüatör içeriyorsa:
- [ 7.10 /H]* Eksantrik dönen kütle (ERM) dokunsal aktüatörü (vibratör) KULLANMAMALIDIR.
- [ 7.10 /H]* android.view.HapticFeedbackConstants'ta net dokunsal bilgiler için tüm genel sabitleri uygulamalıdır (CLOCK_TICK, CONTEXT_CLICK, KEYBOARD_PRESS, KEYBOARD_RELEASE, KEYBOARD_TAP, LONG_PRESS, TEXT_HANDLE_MOVE, VIRTUAL_KEY, VIRTUAL_KEY_RELEASE, CONFIRM, REJECT, G) ESTURE_START ve GESTURE_END).
- [ 7.10 /H]* android.os.VibrationEffect'te net dokunsal bilgiler için tüm genel sabitleri (EFFECT_TICK, EFFECT_CLICK, EFFECT_HEAVY_CLICK ve EFFECT_DOUBLE_CLICK) ve android.os.VibrationEffect.Composition'da zengin dokunsallar için uygulanabilir tüm genel
PRIMITIVE_*
sabitleri yani ( TIKLAYIN, TICK, LOW_TICK, QUICK_FALL, QUICK_RISE, SLOW_RISE, SPIN, THUD). LOW_TICK ve SPIN gibi bu ilkellerden bazıları, yalnızca vibratörün nispeten düşük frekansları desteklemesi durumunda mümkün olabilir. - [7.10/H]* android.view.HapticFeedbackConstants'taki genel sabitleri , karşılık gelen genlik ilişkileriyle birlikte önerilen android.os.VibrationEffect sabitleriyle eşlemek için yönergeyi izlemesi GEREKLİdir.
- [ 7.10 /H]* createOneShot() ve createWaveform() API'leri için kalite değerlendirmesini takip etmesi GEREKLİdir.
- [ 7.10 /H]* Genel android.os.Vibrator.hasAmplitudeControl() API'sinin sonucunun vibratörün yeteneklerini doğru şekilde yansıttığını doğrulaması GEREKLİdir.
- [ 7.10 /H]* Aktüatörün yerleşimi, cihazın genellikle elle tutulduğu veya dokunulduğu konuma yakın bir yere yerleştirilmelidir GEREKLİdir.
Elde taşınır cihaz uygulamaları en az bir genel amaçlı 7.10 doğrusal rezonans aktüatör içeriyorsa:
- [ 7.10 /H] Aktüatörün yerleşimi, cihazın genellikle elle tutulduğu veya dokunulduğu konuma yakın bir yere yerleştirilmelidir GEREKLİ.
- [ 7.10 /H] Dokunsal aktüatörü cihazın doğal
dikeyyönünün X ekseninde (sol-sağ) hareket ettirmesi GEREKİR.
Elde taşınır cihaz uygulamalarında X ekseni doğrusal rezonans aktüatörü (LRA) olan genel amaçlı bir dokunsal aktüatör varsa, bunlar:
- [ 7.10 /H] X ekseni LRA'nın rezonans frekansının 200 Hz'nin altında olması GEREKİR.
- [ 7.1 .1.1/H-0-1]
Revizyonu görün
Elde taşınır cihaz uygulamalarının aşağıdaki video kodlama formatlarını desteklemesi ve bunları üçüncü taraf uygulamaların kullanımına sunması ZORUNLUDUR:
- [ 5.2 /H-0-3] AV1
Elde taşınır cihaz uygulamalarının aşağıdaki video kod çözme formatlarını desteklemesi ve bunları üçüncü taraf uygulamaların kullanımına sunması ZORUNLUDUR:
- [ 5.3 /H-0-6] AV1
Revizyonu görün
Bölüm 7.2.3'te ayrıntılı olarak açıklandığı gibi son kullanılanlar işlevi gezinme tuşunu içeren cihaz uygulamaları arayüzü değiştirirse:
- [ 3.8 .3/H-1-1] Ekran sabitleme davranışını uygulamalı ve kullanıcıya özelliği değiştirebilmesi için bir ayarlar menüsü sağlamalıdır.
Elde taşınır cihaz uygulamaları
ControlsProviderService
veControl
API'leri için destek içeriyorsa ve üçüncü taraf uygulamaların cihaz kontrolleri yayınlamasına izin veriyorsa, bu durumda:- [ 3.8 .16/H-1-6] Cihaz uygulamalarının kullanıcıya aşağıdaki şekilde uygunluğunu doğru bir şekilde sunması ZORUNLUDUR:
- Cihaz
config_supportsMultiWindow=true
ayarını yaptıysa ve uygulama, geçerli bir etkinliğin (API tarafından tanımlandığı gibi) ComponentName'i de dahil olmak üzereControlsProviderService
bildirimindeMETA_DATA_PANEL_ACTIVITY
meta verilerini bildirirse, uygulamanın söz konusu etkinliği bu kullanıcı olanağına katması ZORUNLUDUR. - Uygulama
META_DATA_PANEL_ACTIVITY
meta verilerini bildirmiyorsa,ControlsProviderService
API'si tarafından sağlanan belirtilen alanların yanı sıra Control API'leri tarafından sağlanan belirtilen alanları da İŞLEMESİ ZORUNLUDUR.
- Cihaz
- [ 3.8 .16/H-1-7] Uygulama
META_DATA_PANEL_ACTIVITY
meta verilerini bildirirse, gömülü etkinliği başlatırkenEXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS
kullanarak [3.8.16/H-1-5]'de tanımlanan ayarın değerini iletmesi ZORUNLUDUR.
Cihaz uygulamaları kullanıcıların herhangi bir türde arama yapmasına izin veriyorsa,
- [ 7.4.1.2 /H-0-1]
android.software.telecom
özellik işaretini bildirmesi ZORUNLUDUR. - [ 7.4.1.2 /H-0-2] Telekom çerçevesini UYGULAMALIDIR.
Revizyonu görün
Elde taşınır cihaz uygulamaları:
- [ 8.5 /H-0-1]
Ayarlar menüsünde,etkin ön plan hizmetlerine veya kullanıcı tarafından başlatılan işlere sahip tüm uygulamaları görmek için, bu hizmetlerin her birinin SDK belgesinde açıklandığı gibi başlatıldığı andan itibaren süresi de dahil olmak üzere, kullanıcıya bir yetki sağlamalıdır ZORUNLU .ve bir ön plan hizmetini veya kullanıcı tarafından başlatılan bir işi çalıştıran bir uygulamayı durdurma yeteneği.Bir ön plan hizmeti çalıştıran bir uygulamayı durdurma ve etkin ön plan hizmetlerine sahip tüm uygulamaları ve bu hizmetlerin her birinin başlangıcından bu yana SDK belgesinde açıklandığı gibi süresini görüntüleme yeteneği ile.- Bazı uygulamalar, SDK belgesinde açıklandığı gibi, bu tür bir kullanıcı olanağı kapsamında durdurulmaktan veya listelenmekten muaf OLABİLİR.
- [ 8.5 /H-0-1]
- [ 8.5 /H-0-2]Ön plan hizmetini veya kullanıcı tarafından başlatılan bir işi çalıştıran bir uygulamayı durdurmak için kullanıcıya bir olanak sağlamalıdır ZORUNLU.
Revizyonu görün
Cihaz uygulamaları android.hardware.telephony
için destek beyan ederse:
- [ 9.5 /H-1-1]
UserManager.isHeadlessSystemUserMode
true
olarak AYARLAMAMALIDIR.
Cihaz uygulamalarında güvenli bir kilit ekranı varsa ve TrustAgentService
System API'sini uygulayan bir veya daha fazla güven aracısı içeriyorsa bunlar:
- [ 9.11.1 /H-1-1] Kullanıcıyı önerilen birincil kimlik doğrulama yöntemlerinden biri (örneğin: PIN, desen, şifre) için 72 saatte bir defadan daha sık sorgulamak ZORUNLUDUR.
Elde taşınır cihaz uygulamaları UserManager.isHeadlessSystemUserMode
öğesini true
olarak ayarlarsa, bunlar
Elde taşınır cihaz uygulamaları Sistem API'si HotwordDetectionService
veya mikrofon erişimi göstergesi olmadan özel kelime algılamaya yönelik başka bir mekanizmayı destekliyorsa, bunlar:
- [9.8/H-1-1] Özel kelime algılama hizmetinin yalnızca Sisteme,
ContentCaptureService
veyaSpeechRecognizer#createOnDeviceSpeechRecognizer()
tarafından oluşturulan cihaz üzeri konuşma tanıma hizmetine veri aktarabildiğinden emin olunmalıdır ZORUNLU. - [9.8/H-1-6] Her başarılı özel kelime sonucunda, özel kelime algılama hizmetinden 100 bayttan fazla verinin (ses akışları hariç) iletilmesine izin VERMEMELİDİR.
- [9.8/H-1-15] Başarılı özel kelime sonuçlarında sağlanan ses akışlarının özel kelime algılama hizmetinden sesli etkileşim hizmetine tek yönlü olarak iletilmesini SAĞLAMALIDIR.
Cihaz uygulamaları, Sistem API'si HotwordDetectionService
kullanan bir uygulamayı veya mikrofon kullanımı göstergesi olmadan özel kelime algılamaya yönelik benzer bir mekanizmayı içeriyorsa, uygulama:
- [9.8/H-2-3] Özel kelime algılama hizmetinden, ses verilerinden, sesi yeniden oluşturmak için kullanılabilecek verilerden (tamamen veya kısmen) veya özel kelimenin kendisiyle ilgisi olmayan ses içeriklerinden (
ContentCaptureService
veya cihaz üzerinde konuşma tanıma hizmeti.
Elde taşınır cihaz uygulamaları Sistem API'si VisualQueryDetectionService
veya mikrofon ve/veya kamera erişim göstergesi olmadan sorgu tespiti için başka bir mekanizmayı destekliyorsa:
- [9.8/H-3-1] Sorgu algılama hizmetinin yalnızca Sisteme veya
ContentCaptureService
veya cihazdaki konuşma tanıma hizmetine (SpeechRecognizer#createOnDeviceSpeechRecognizer()
tarafından oluşturulan) veri aktarabildiğinden emin olunmalıdır ZORUNLU. - [9.8/H-3-2]
ContentCaptureService
veya cihaz içi konuşma tanıma hizmeti dışında herhangi bir ses veya video bilgisininVisualQueryDetectionService
dışına iletilmesine izin VERMEMELİDİR. - [9.8/H-3-3] Cihaz, kullanıcının Dijital Asistan Uygulaması ile etkileşimde bulunma niyetini tespit ettiğinde (örneğin, kamera yoluyla kullanıcının varlığını tespit ederek), Sistem Kullanıcı Arayüzünde bir kullanıcı bildirimi GÖRÜNTÜLEMELİDİR.
- [9.8/H-3-4] Kullanıcı sorgusu algılandıktan hemen sonra bir mikrofon göstergesi görüntülemeli ve algılanan kullanıcı sorgusunu kullanıcı arayüzünde görüntülemelidir ZORUNLU.
- [9.8/H-3-5] Kullanıcı tarafından yüklenebilen bir uygulamanın görsel sorgu algılama hizmeti sağlamasına izin VERMEMELİDİR.
Revizyonu görün
Elde taşınır cihaz uygulamaları android.os.Build.VERSION_CODES.T
için android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
değerini döndürürse, o zaman:
- Android 13 CDD bölüm 2.2.7.1'de listelenen medya gereksinimlerini karşılaması ZORUNLUDUR.
Yeni gereksinimleri başlatın
Elde taşınır cihaz uygulamalarıandroid.os.Build.VERSION_CODES.U
için android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
değerini döndürürse, o zaman:- [5.1/H-1-1]
CodecCapabilities.getMaxSupportedInstances()
veVideoCapabilities.getSupportedPerformancePoints()
yöntemleri aracılığıyla herhangi bir codec kombinasyonunda eşzamanlı olarak çalıştırılabilecek maksimum donanım video kod çözücü oturumu sayısını duyurması ZORUNLUDUR. - [5.1/H-1-2] 30 fps'de 1080p çözünürlükte 3 oturumla eşzamanlı olarak çalışan herhangi bir codec kombinasyonunda 6 adet 8 bit (SDR) donanım video kod çözücü oturumu (AVC, HEVC, VP9, AV1 veya üstü) DESTEKLENMELİDİR ve AV1 olmadığı sürece 4k çözünürlükte@30 fps'de 3 oturum. AV1 codec'lerinin yalnızca 1080p çözünürlüğü desteklemesi gerekir ancak yine de 1080p30 fps'de 6 örneği desteklemesi gerekir.
- [5.1/H-1-3]
CodecCapabilities.getMaxSupportedInstances()
veVideoCapabilities.getSupportedPerformancePoints()
yöntemleri aracılığıyla herhangi bir codec kombinasyonunda eş zamanlı olarak çalıştırılabilecek maksimum donanım video kodlayıcı oturumu sayısını duyurması GEREKLİdir. - [5.1/H-1-4] 30 fps'de 1080p çözünürlükte 4 oturumla eş zamanlı çalışan herhangi bir codec kombinasyonunda 6 adet 8 bit (SDR) donanım video kodlayıcı oturumu (AVC, HEVC, VP9, AV1 veya üzeri) DESTEKLENMELİDİR ve AV1 olmadığı sürece 4k çözünürlükte@30 fps'de 2 oturum. AV1 codec'lerinin yalnızca 1080p çözünürlüğü desteklemesi gerekir ancak yine de 1080p30 fps'de 6 örneği desteklemesi gerekir.
- [5.1/H-1-5]
CodecCapabilities.getMaxSupportedInstances()
veVideoCapabilities.getSupportedPerformancePoints()
yöntemleri aracılığıyla herhangi bir codec bileşeni kombinasyonunda eşzamanlı olarak çalıştırılabilecek maksimum sayıda donanım video kodlayıcı ve kod çözücü oturumunun duyurulması GEREKİR. - [5.1/H-1-6] 4K'da 3 oturumla eş zamanlı çalışan herhangi bir codec kombinasyonunda 6 adet 8 bit (SDR) donanım video kod çözücü ve donanım video kodlayıcı oturumunu (AVC, HEVC, VP9, AV1 veya üzeri) desteklemelidir ZORUNLU @30 fps çözünürlük (AV1 hariç), bunların en fazla 2'si kodlayıcı oturumları ve 3 oturumları 1080p çözünürlüktedir. AV1 codec'lerinin yalnızca 1080p çözünürlüğü desteklemesi gerekir ancak yine de 1080p30 fps'de 6 örneği desteklemesi gerekir.
- [5.1/H-1-19] 4K@30 fps çözünürlükte eş zamanlı çalışan herhangi bir codec kombinasyonunda 3 adet 10 bit (HDR) donanım video kod çözücü ve donanım video kodlayıcı oturumunu (AVC, HEVC, VP9, AV1 veya üstü) desteklemelidir ZORUNLU (AV1 hariç) bunlardan en fazla 1'i, bir GL yüzeyi aracılığıyla RGBA_1010102 giriş formatında yapılandırılabilen bir kodlayıcı oturumudur. GL yüzeyinden kodlama yapılıyorsa kodlayıcı tarafından HDR meta veri oluşturulması gerekli değildir. AV1 codec oturumlarının, bu gereksinim 4K gerektirse bile yalnızca 1080p çözünürlüğü desteklemesi gerekir.
- [5.1/H-1-7] Yük altındayken tüm donanım video kodlayıcıları için 1080p veya daha küçük bir video kodlama oturumu için codec başlatma gecikmesi 40 ms veya daha az OLMALIDIR. Buraya yükleme, 1080p ses-video kaydı başlatmayla birlikte donanım video codec'lerini kullanan eşzamanlı 1080p'den 720p'ye yalnızca video kod dönüştürme oturumu olarak tanımlanır. Dolby Vision codec bileşeni için codec başlatma gecikmesi 50 ms veya daha az OLMALIDIR.
- [5.1/H-1-8] Yük altındayken tüm ses kodlayıcılar için 128 kbps veya daha düşük bit hızlı ses kodlama oturumu için 30 ms veya daha az codec başlatma gecikmesine sahip olması GEREKİR. Buraya yükleme, 1080p ses-video kaydı başlatmayla birlikte donanım video codec'lerini kullanan eşzamanlı 1080p'den 720p'ye yalnızca video kod dönüştürme oturumu olarak tanımlanır.
- [5.1/H-1-9] Her ikisi için de 30 fps'de 4k çözünürlükte (AV1 hariç) eşzamanlı olarak çalışan herhangi bir codec kombinasyonunda güvenli donanım video kod çözücü oturumlarının 2 örneğini (AVC, HEVC, VP9, AV1 veya üstü) DESTEKLEMELİ ZORUNLUDUR 8- bit (SDR) ve 10 bit HDR içeriği. AV1 codec oturumlarının, bu gereksinim 4K gerektirse bile yalnızca 1080p çözünürlüğü desteklemesi gerekir.
- [5.1/H-1-10] Herhangi bir codec'te 3 örnek güvenli olmayan donanım video kod çözücü oturumu ile birlikte 1 güvenli donanım video kod çözücü oturumu örneği (toplam 4 örnek) (AVC, HEVC, VP9, AV1 veya üstü) DESTEKLENMELİDİR ZORUNLU 4K çözünürlükte @30 fps'de (AV1 hariç) 3 oturumla eşzamanlı olarak çalışan kombinasyon; bir güvenli kod çözücü oturumu ve 1080p çözünürlükte @30 fps'de 1 nn-güvenli oturum içerir; en fazla 2 oturum 10 bit HDR'de olabilir. AV1 codec oturumlarının, bu gereksinim 4K gerektirse bile yalnızca 1080p çözünürlüğü desteklemesi gerekir.
- [5.1/H-1-11] Cihazdaki her donanım AVC, HEVC, VP9 veya AV1 kod çözücü için güvenli bir kod çözücüyü desteklemelidir ZORUNLU.
- [5.1/H-1-12] Yük altındayken tüm donanım video kod çözücüleri için 1080p veya daha küçük bir video kod çözme oturumu için codec başlatma gecikmesi 40 ms veya daha az OLMALIDIR. Buraya yükleme, 1080p ses-video oynatma başlatmayla birlikte donanım video codec'lerini kullanan eşzamanlı 1080p'den 720p'ye yalnızca video kod dönüştürme oturumu olarak tanımlanır. Dolby Vision codec bileşeni için codec başlatma gecikmesi 50 ms veya daha az OLMALIDIR.
- [5.1/H-1-13] Yük altındayken tüm ses kod çözücüler için 128 kbps veya daha düşük bit hızlı ses kod çözme oturumu için 30 ms veya daha az codec başlatma gecikmesine sahip olması GEREKİR. Buraya yükleme, 1080p ses-video oynatma başlatmayla birlikte donanım video codec'lerini kullanan eşzamanlı 1080p'den 720p'ye yalnızca video kod dönüştürme oturumu olarak tanımlanır.
- [5.1/H-1-14] AV1 donanım kod çözücü Ana 10, Seviye 4.1 ve film grenini desteklemelidir ZORUNLU.
- [5.1/H-1-15] 4K60'ı destekleyen en az 1 donanım video kod çözücüye sahip OLMALIDIR.
- [5.1/H-1-16] 4K60'ı destekleyen en az 1 donanım video kodlayıcısı OLMALIDIR.
- [5.3/H-1-1] Yük altında 4K 60 fps video oturumu için 10 saniyede 1 kareden fazla (yani yüzde 0,167'den az kare düşüşü) DÜŞMEMELİDİR.
- [5.3/H-1-2] 4K oturumu için yük altında 60 fps video oturumunda video çözünürlüğü değişikliği sırasında 10 saniyede 1 kareden fazla DÜŞMEMELİDİR.
- [5.6/H-1-1] CTS Doğrulayıcı dokunarak tonlama testi kullanıldığında dokunmadan tona geçme gecikmesi 80 milisaniye veya daha az OLMALIDIR.
- [5.6/H-1-2] En az bir desteklenen veri yolu üzerinde gidiş-dönüş ses gecikmesi 80 milisaniye veya daha az OLMALIDIR.
- [5.6/H-1-3] Düşük gecikme ve akış yapılandırmaları için mevcutsa 3,5 mm ses jakları üzerinden stereo çıkış için >=24 bit sesi ve tüm veri yolu boyunca destekleniyorsa USB ses üzerinden DESTEKLENMELİDİR. Düşük gecikmeli yapılandırma için AAudio, uygulama tarafından düşük gecikmeli geri arama modunda kullanılmalıdır. Akış yapılandırması için uygulama tarafından bir Java AudioTrack kullanılmalıdır. Hem düşük gecikme hem de akış yapılandırmalarında HAL çıkış havuzu, hedef çıkış biçimi için
AUDIO_FORMAT_PCM_24_BIT
,AUDIO_FORMAT_PCM_24_BIT_PACKED
,AUDIO_FORMAT_PCM_32_BIT
veyaAUDIO_FORMAT_PCM_FLOAT
kabul etmelidir. - [5.6/H-1-4] >=4 kanallı USB ses aygıtlarını desteklemelidir (Bu, DJ denetleyicileri tarafından şarkıların ön izlemesi için kullanılır.)
- [5.6/H-1-5] Sınıf uyumlu MIDI aygıtlarını desteklemeli ve MIDI özellik işaretini beyan etmelidir.
- [5.6/H-1-9] En az 12 kanallı miksajı desteklemelidir ZORUNLU. Bu, 7.1.4 kanal maskeli bir AudioTrack'i açma ve tüm kanalları uygun şekilde uzaysallaştırma veya stereoya indirgeme yeteneğini ifade eder.
- [5.6/H-SR] En az 9.1.6 ve 22.2 kanal maskeleri desteği ile 24 kanal miksajını desteklemesi KESİNLİKLE ÖNERİR.
- [5.7/H-1-2]
MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL
aşağıdaki içerik şifre çözme yetenekleriyle desteklemelidir ZORUNLU.
Minimum Örnek boyutu | 4 MiB |
Minimum Alt Örnek Sayısı - H264 veya HEVC | 32 |
Minimum Alt Örnek Sayısı - VP9 | 9 |
Minimum Alt Örnek Sayısı - AV1 | 288 |
Minimum alt örnek arabellek boyutu | 1 MiB |
Minimum Genel kripto arabellek boyutu | 500 KiB |
Minimum Eşzamanlı Oturum Sayısı | 30 |
Oturum başına minimum anahtar sayısı | 20 |
Minimum Toplam Anahtar Sayısı (tüm oturumlar) | 80 |
Minimum Toplam DRM Anahtarı Sayısı (tüm oturumlar) | 6 |
Mesaj Boyutu | 16 KiB |
Saniye Başına Şifresi Çözülmüş Kare Sayısı | 60 fps |
- [5.1/H-1-17] AVIF Baseline Profilini destekleyen en az 1 donanım görüntü kod çözücüye sahip OLMALIDIR.
- [5.1/H-1-18] 30 fps ve 1 Mb/sn'de 480p'ye kadar çözünürlüğü kodlayabilen AV1 kodlayıcıyı desteklemelidir ZORUNLU.
-
[5.12/H-1-1] ZORUNLUDUR[5.12/H-SR] Cihazda bulunan tüm donanım AV1 ve HEVC kodlayıcılar içinFeature_HdrEditing
özelliğini desteklemesi Kesinlikle Önerilir. - [5.12/H-1-2] Cihazda bulunan tüm donanım AV1 ve HEVC kodlayıcılar için RGBA_1010102 renk formatını desteklemesi ZORUNLUDUR.
- [5.12/H-1-3] Hem 8 hem de 10 bitlik YUV dokularından örnekleme yapmak için EXT_YUV_target uzantısına yönelik desteğin reklamını yapmak ZORUNLUDUR.
- [7.1.4/H-1-1] Veri işleme birimi (DPU) Donanım oluşturucusunda (HWC) en az 6 donanım katmanına sahip olmalıdır; bunlardan en az 2'si 10 bit video içeriğini görüntüleyebilmektedir.
Elde taşınır cihaz uygulamaları android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
için android.os.Build.VERSION_CODES.U
değerini döndürürse ve donanım AVC veya HEVC kodlayıcı desteği içeriyorsa, o zaman:
- [5.2/H-2-1] Gelecek belgelerde tanımlandığı gibi, donanım AVC ve HEVC codec bileşenleri için video kodlayıcı hız-bozulma eğrileri tarafından tanımlanan minimum kalite hedefini karşılaması ZORUNLUDUR.
Revizyonu görün
android.os.Build.VERSION_CODES.U
için android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
değerini döndürürse, o zaman:- [ 7.5 /H-1-1] 4k@30fps'de video çekimini destekleyen, en az 12 megapiksel çözünürlüğe sahip, arkaya bakan bir birincil kamera OLMALIDIR. Birincil arkaya bakan kamera, en düşük kamera kimliğine sahip arkaya bakan kameradır.
- [ 7.5 /H-1-2] En az 6 megapiksel çözünürlüğe sahip ve 1080p@30fps hızında video çekimini destekleyen bir birincil ön kameraya sahip OLMALIDIR. Birincil ön kamera, en düşük kamera kimliğine sahip ön kameradır.
- [ 7.5 /H-1-3]
android.info.supportedHardwareLevel
özelliğini her iki birincil kamera için FULL veya daha iyi olarak desteklemelidir ZORUNLU. - [ 7.5 /H-1-4] Her iki birincil kamera için
CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
desteklemesi ZORUNLUDUR. - [ 7.5 /H-1-5] Her iki birincil kamera için ITS aydınlatma koşulları (3000K) altında CTS kamera PerformanceTest ile ölçülen, 1080p çözünürlük için kamera2 JPEG yakalama gecikmesi < 1000
900ms olmalıdır. - [ 7.5 /H-1-6] Her iki birincil kamera için ITS aydınlatma koşulları (3000K) altında CTS kamera Performans Testi ile ölçülen kamera2 başlatma gecikmesi (kamerayı ilk önizleme karesine açın) < 500 ms OLMALIDIR.
- [ 7.5 /H-1-8] Birincil arka kamera için
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_RAW
veandroid.graphics.ImageFormat.RAW_SENSOR
desteklemesi ZORUNLUDUR. - [ 7.5 /H-1-9] 720p veya 1080p @ 240 fps'yi destekleyen arkaya bakan bir birincil kamera OLMALIDIR.
- [ 7,5 /H-1-10] Aynı yöne bakan ultra geniş bir RGB kamera varsa, birincil kameralar için minimum ZOOM_RATIO < 1,0 olmalıdır.
- [ 7.5 /H-1-11] Birincil kameralarda eşzamanlı ön-arka akışının uygulanması ZORUNLUDUR.
- [ 7.5 /H-1-12] Hem birincil ön hem de birincil arka kamera için
CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION
desteklemesi ZORUNLUDUR. - [ 7.5 /H-1-13] Aynı yöne bakan 1'den fazla RGB kamera varsa, birincil kameralar için
LOGICAL_MULTI_CAMERA
özelliğini desteklemesi ZORUNLUDUR. - [ 7.5 /H-1-14] Hem birincil ön hem de birincil arka kamera için
STREAM_USE_CASE
özelliğini desteklemelidir ZORUNLU. - [ 7.5 /H-1-15] Birincil kameralar için hem CameraX hem de Camera2 uzantıları aracılığıyla
Bokeh veGece modu uzantılarını desteklemelidir ZORUNLU. - [ 7.5 /H-1-16] Birincil kameralar için DYNAMIC_RANGE_TEN_BIT özelliğini desteklemesi ZORUNLUDUR.
- [ 7.5 /H-1-17] Birincil kameralar için CONTROL_SCENE_MODE_FACE_PRIORITY ve yüz algılamayı ( STATISTICS_FACE_DETECT_MODE_SIMPLE veya STATISTICS_FACE_DETECT_MODE_FULL ) desteklemelidir ZORUNLU.
Revizyonu görün
android.os.Build.VERSION_CODES.U
için android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
değerini döndürürse, o zaman:- [7.1.1.1/H-2-1] En az 1080p ekran çözünürlüğüne sahip OLMALIDIR.
- [7.1.1.3/H-2-1] Ekran yoğunluğu en az 400 dpi OLMALIDIR.
- [7.1.1.3/H-3-1] En az 1000 nit ortalamasını destekleyen bir HDR ekrana sahip OLMALIDIR.
- [7.6.1/H-2-1] En az 8 GB fiziksel belleğe sahip OLMALIDIR.
Revizyonu görün
android.os.Build.VERSION_CODES.U
için android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
değerini döndürürse, o zaman:- [8.2/H-1-1] En az 150 MB/sn sıralı yazma performansı SAĞLAMALIDIR.
- [8.2/H-1-2] En az 10 MB/sn rastgele yazma performansı SAĞLAMALIDIR.
- [8.2/H-1-3] En az 250 MB/sn sıralı okuma performansı ZORUNLUDUR.
- [8.2/H-1-4] En az 100 MB/sn'lik rastgele okuma performansı SAĞLAMALIDIR.
- [8.2/H-1-5] En az 50 MB/sn 2x okuma ve 1x yazma performansıyla paralel sıralı okuma ve yazma performansı SAĞLAMALIDIR.
Revizyonu görün
Televizyon cihazı uygulamalarının aşağıdaki video kodlama formatlarını desteklemesi ve bunları üçüncü taraf uygulamaların kullanımına sunması ZORUNLUDUR:
- [ 5.2 /T-0-3] AV1
Televizyon cihazı uygulamalarının aşağıdaki video kod çözme formatlarını desteklemesi ve bunları üçüncü taraf uygulamaların kullanımına sunması ZORUNLUDUR:
- [ 5.3.2 /T-0-7] AV1
Revizyonu görün
Cihaz uygulamalarında güvenli bir kilit ekranı varsa ve TrustAgentService
System API'sini uygulayan bir veya daha fazla güven aracısı içeriyorsa bunlar:
- [ 9.11.1 /W-1-1] Kullanıcıyı önerilen birincil kimlik doğrulama yöntemlerinden biri (örneğin: PIN, desen, şifre) için 72 saatte bir defadan daha sık sorgulama ZORUNLUDUR.
Revizyonu görün
Cihaz uygulamaları AM/FM radyo yayını desteğini içeriyorsa ve işlevselliği herhangi bir uygulamaya sunuyorsa:
- [ 7.4
.10/A-0-1]FEATURE_BROADCAST_RADIO
desteğinin beyan edilmesi ZORUNLUDUR.
Dış görüş kamerası, arka görüş kamerası gibi cihaz uygulamasının dışındaki sahneleri görüntüleyen bir kameradır.
Otomotiv cihaz uygulamaları:
- Bir veya daha fazla dış görüş kamerası içermelidir.
Otomotiv cihaz uygulamaları bir dış görüş kamerası içeriyorsa, böyle bir kamera için bunlar:
- [ 7.5 /A-1-1] Kameranın temel gereksinimlerine uymadıkları sürece, Android Kamera API'leri aracılığıyla erişilebilen dış görüş kameralarına sahip OLMAMALIDIR.
- [ 7.5 /A-SR-1] Kamera önizlemesini döndürmemeniz veya yatay olarak yansıtmamanız KESİNLİKLE TAVSİYE EDİLİR.
- [ 7.5 /A-SR-2] En az 1,3 megapiksel çözünürlüğe sahip olmaları KESİNLİKLE TAVSİYE EDİLİR.
- Sabit odaklı veya EDOF (genişletilmiş alan derinliği) donanımına sahip OLMALIDIR.
- Kamera sürücüsünde donanım otomatik odaklama veya yazılım otomatik odaklama uygulanmış OLABİLİR.
Otomotiv cihaz uygulamaları bir veya daha fazla dış görüş kamerası içeriyorsa ve Dış Görüş Sistemi (EVS) hizmetini yüklüyorsa, bu tür bir kamera için bunlar:
- [ 7.5 /A-2-1] Kamera ön izlemesini döndürmemeli veya yatay olarak yansıtmamalıdır.
Otomotiv cihaz uygulamaları:
- Üçüncü taraf uygulamalarda kullanılabilen bir veya daha fazla kamera İÇEREBİLİR.
Otomotiv cihazı uygulamaları en az bir kamera içeriyorsa ve bunu üçüncü taraf uygulamaların kullanımına sunuyorsa:
- [ 7.5 /A-3-1]
android.hardware.camera.any
özellik işaretini bildirmeniz ZORUNLUDUR. - [ 7.5 /A-3-2] Kameranın bir sistem kamerası olduğu bildirilmemelidir ZORUNLU .
- Bölüm 7.5.3'te açıklanan harici kameraları destekleyebilir.
- Bölüm 7.5.1'de açıklandığı gibi arkaya bakan kameralarda mevcut olan özellikleri (otomatik odaklama vb.) İÇERMEZ.
Arkaya bakan kamera, aracın herhangi bir yerine yerleştirilebilen ve araç kabininin dışına bakan, dünyaya bakan bir kamera anlamına gelir; yani, arka görüş kamerası gibi araç gövdesinin uzak tarafındaki sahneleri görüntüler.
Öne bakan kamera, aracın herhangi bir yerine yerleştirilebilen ve araç kabininin içine bakan, kullanıcıya dönük bir kamera anlamına gelir; yani video konferans ve benzeri uygulamalar için kullanıcıyı görüntüler.
Otomotiv cihaz uygulamaları:
- [7.5/A-SR-1] Bir veya daha fazla dünyaya bakan kameranın dahil edilmesi KESİNLİKLE TAVSİYE EDİLİR.
- Bir veya daha fazla kullanıcıya yönelik kamera içerebilir.
- [7.5/A-SR-2] Birden fazla kameranın eş zamanlı akışını desteklemesi KESİNLİKLE ÖNERİR.
Otomotiv cihaz uygulamaları dünyaya bakan en az bir kamera içeriyorsa, böyle bir kamera için bunlar:
- [7.5/A-1-1] Kameranın uzun boyutu Android otomotiv sensör eksenlerinin XY düzlemiyle hizalanacak şekilde yönlendirilmelidir ZORUNLU.
- [7.5/A-SR-3] Sabit odaklı veya EDOF (Genişletilmiş Alan Derinliği) donanımına sahip olmaları KESİNLİKLE TAVSİYE EDİLİR.
- [7.5/A-1-2] En düşük kamera kimliğine sahip, dünyaya bakan kamera olarak dünyaya bakan birincil kameranın olması ZORUNLUDUR.
Otomotiv cihazı uygulamaları kullanıcıya dönük en az bir kamera içeriyorsa, böyle bir kamera için:
- [7.5/A-2-1] Kullanıcıya yönelik birincil kamera, en düşük kamera kimliğine sahip, kullanıcıya yönelik kamera OLMALIDIR.
- Kameranın uzun boyutu Android otomotiv sensör eksenlerinin XY düzlemiyle aynı hizada olacak şekilde yönlendirilmiş OLABİLİR.
Otomotiv cihaz uygulamaları, android.hardware.Camera
veya android.hardware.camera2
API aracılığıyla erişilebilen bir kamera içeriyorsa, o zaman:
- [7.5/A-3-1] Bölüm 7.5'teki temel kamera gerekliliklerine uygun OLMALIDIR.
Otomotiv cihaz uygulamaları, android.hardware.Camera
veya android.hardware.camera2
API aracılığıyla erişilemeyen bir kamera içeriyorsa, o zaman:
- [7.5/A-4-1] Genişletilmiş Görünüm Sistemi hizmeti aracılığıyla erişilebilir OLMALIDIR.
Otomotiv cihaz uygulamaları Genişletilmiş Görünüm Sistemi Hizmeti aracılığıyla erişilebilen bir veya daha fazla kamera içeriyorsa, böyle bir kamera için bunlar:
- [7.5/A-5-1] Kamera ön izlemesini döndürmemeli veya yatay olarak yansıtmamalıdır.
- [7.5/A-SR-4] En az 1,3 megapiksel çözünürlüğe sahip olmaları KESİNLİKLE TAVSİYE EDİLİR.
Otomotiv cihazı uygulamaları, hem Genişletilmiş Görünüm Sistemi Hizmeti hem de android.hardware.Camera
veya android.hardware.Camera2
API aracılığıyla erişilebilen bir veya daha fazla kamera içeriyorsa, bu tür bir kamera için bunlar:
- [7.5/A-6-1] aynı Kamera Kimliğini bildirmek ZORUNDADIR.
Otomotiv cihaz uygulamaları özel bir kamera API'si sağlıyorsa:
- [7.5/A-7-1] Böyle bir kamera API'sini
android.hardware.camera2
API'sini veya Extended View System API'sini kullanarak UYGULAMALIDIR.
Revizyonu görün
Otomotiv cihaz uygulamaları:
- [ 3.8 /A-0-1] Geçerli ön plan kullanıcısı olmayan tam ikincil kullanıcıların etkinlikleri başlatmasına ve herhangi bir ekranda kullanıcı arayüzüne erişmesine izin VERMEMELİDİR.
Revizyonu görün
Otomotiv cihaz uygulamaları android.hardware.microphone
olarak bildirirse:
- [ 9.8.2 /A-1-1] Bir uygulama mikrofondan ses verilerine erişirken mikrofon göstergesinin görüntülenmesi ZORUNLUDUR, ancak mikrofona yalnızca
HotwordDetectionService
,SOURCE_HOTWORD
,ContentCaptureService
veya bölümde belirtilen rollere sahip uygulamalar tarafından erişildiğinde bu görüntülenmemelidir. CDD tanımlayıcılı [C-4-X] 9.1 . - [ 9.8.2 /A-1-2] Görünür kullanıcı arayüzlerine veya doğrudan kullanıcı etkileşimine sahip sistem uygulamaları için mikrofon göstergesini GİZLEMEMELİDİR.
- [ 9.8.2 /A-1-3] Kullanıcıya Ayarlar uygulamasında mikrofonu değiştirebilme olanağı sağlamalıdır ZORUNLU.
Otomotiv cihaz uygulamaları android.hardware.camera.any
olarak bildirirse:
- [ 9.8.2 /A-2-1] Bir uygulama canlı kamera verilerine eriştiğinde kamera göstergesinin görüntülenmesi ZORUNLUDUR, ancak kameraya yalnızca Bölüm 9.1 İzinler'de
belirtilenrollere sahip olan uygulamalar tarafından erişildiği zaman görüntülenmemelidir. CDD tanımlayıcılı [C-4-X][C-3-X].
- [ 9.8.2 /A-2-3] Kullanıcıya Ayarlar uygulamasında kamerayı değiştirebilme olanağı sağlamalıdır ZORUNLU.
- [ 9.8.2 /A-2-4]
PermissionManager.getIndicatorAppOpUsageData()
öğesinden döndürülen kamerayı kullanan Son ve Aktif uygulamaları, bunlarla ilişkili tüm ilişkilendirme mesajlarıyla birlikte görüntülemesi ZORUNLUdur.
Cihaz uygulamalarında güvenli bir kilit ekranı varsa ve TrustAgentService
System API'sini uygulayan bir veya daha fazla güven aracısı içeriyorsa bunlar:
- [ 9.11.1 /A-1-1] Kullanıcıya önerilen birincil kimlik doğrulama yöntemlerinden biri (örneğin: PIN, desen, şifre) için her 336 saatte birden daha sık sorgulama ZORUNLUDUR.
3. Yazılım
3.1. Yönetilen API Uyumluluğu :
Revizyonu görün
Cihaz uygulamaları:
- [C-0-8] 23'ten daha düşük bir API düzeyini hedefleyen uygulamaların yüklenmesini desteklememelidir ZORUNLU.
3.2.3.5. Koşullu Uygulama Amaçları :
Revizyonu görün
Cihaz uygulamaları
android.hardware.nfc.uicc
veyaandroid.hardware.nfc.ese
raporunu veriyorsa:- [C-19-1] NFCAdapter.Action_transaction_Detected Amaç API'sını uygulamalıdır ( GSM Association teknik özellikleri Ts.26-NFC telefon gereksinimleri tarafından tanımlanan “EVT_TRANSACTION” olarak) .
3.3.1. Uygulama ikili arayüzleri :
Revizyona bakın
Cihaz Uygulamaları:
- [C-0-12] Çekirdek
Vulkan 1.0Vulkan 1.1 fonksiyon sembollerinin yanı sıraVK_KHR_surface
,VK_KHR_android_surface
,VK_KHR_maintenance1
veVK_KHR_get_physical_device_properties2
libvulkan.so
TOBLOVK_KHR_swapchain
Tüm sembollerin mevcut olması gerekse de, Bölüm 7.1.4.2, karşılık gelen her bir işlevin tam olarak uygulanmasının beklendiği gereksinimleri daha ayrıntılı olarak açıkladığını unutmayın.
- [C-0-12] Çekirdek
Revizyona bakın
Cihaz uygulamaları bir ekran veya video çıktısı içeriyorsa, bunlar:
- [C
SPRITZ
android.theme.customization.theme_styles
]Settings.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
TONAL_SPOT
FRUIT_SALAD
temaEXPRESSIVE
kullanarakMONOCHROMATIC
renk tonRAINBOW
üretmelidirVIBRANT
.
- [C
Revizyona bakın
Bölüm 7.2.3'te ayrıntılı olarak açıklandığı gibi Recents Fonksiyon Navigasyon Anahtarını içeren cihaz uygulamaları arayüzü değiştirirse, bunlar:
- [C-1-2] ekran sabitleme davranışını uygulamalı ve kullanıcıya özelliği değiştirecek bir ayar menüsü sağlamalıdır.
3.9.2 Yönetilen Profil Desteği :
Revizyona bakın
Cihaz uygulamaları
android.software.managed_users
bildirirse,:- [C-1-10] Ekran görüntüsü verilerinin, bir ekran görüntüsü odağına sahip bir
topActivity
penceresi (kullanıcının tüm etkinlikler arasında son olarak etkileşime girdiği) ve bir çalışma profiline ait olduğu bir ekran görüntüsü ile kaydedilmesini sağlamalıdır. uygulama . - [C-1-11] Çalışma profiline bir ekran görüntüsü kaydederken (kişisel profil verilerinin olduğundan emin olmak için iş profili uygulama penceresi/pencereleri dışında başka ekran içeriği (sistem çubuğu, bildirimler veya herhangi bir kişisel profil içeriği) yakalamamalıdır. iş profiline kaydedilmemiştir).
- [C-1-10] Ekran görüntüsü verilerinin, bir ekran görüntüsü odağına sahip bir
3.9.5 Cihaz Politikası Çözümü Çerçevesi : Yeni Bölüm
Revizyona bakın
Cihaz uygulamaları
android.software.device_admin
veyaandroid.software.managed_users
rapor ederse,:- [C-1], AOSP belgesinde belgelendiği gibi cihaz politikası çatışmalarını çözmelidir.
5. Multimedya uyumluluğu
Revizyona bakın
Cihaz uygulamaları aşağıdaki görüntü kodlamasının kodlanmasını desteklemelidir:
- [C-0-4] Avif
- Cihazlar
BITRATE_MODE_CQ
ve taban çizgisi profilini desteklemelidir.
- Cihazlar
- [C-0-4] Avif
Revizyona bakın
Cihaz uygulamaları aşağıdaki görüntü kodlamasının kodunun çözülmesini desteklemelidir:
[C-0-7] AVIF (taban çizgisi profili)
5.1.6. Image Codecs Ayrıntıları :
Revizyona bakın
Biçim/codec Detaylar Desteklenen Dosya Türleri/Konteyner Biçimleri JPEG Taban+ilerici JPEG (.jpg) GIF GIF (.GIF) PNG PNG (.png) BMP BMP (.bmp) WebP WebP (.Webp) Çiğ Arw (.arw), cr2 (.cr2), dng (.dng), nef (.nef), nrw (.nrw), orf (.orf), PEF (.pef), raf (.Ref), rw2 (RW2 ( .rw2), srw (.srw) Heif Resim, resim toplama, resim dizisi Heif (.heif), heic (.heic) AVIF (Baseline Profili) Resim, resim toplama, resim dizisi temel profil Heif Container (.AVIF) 5.1.8. Video Kodekler Listesi :
Revizyona bakın
Biçim/codec Detaylar Dosya türleri/kapsayıcı biçimleri desteklenecek H.263 - 3GPP (.3GP)
- MPEG-4 (.mp4)
- Matroska (.mkv, sadece kod çözün)
H.264 AVC Ayrıntılar için Bölüm 5.2 ve 5.3'e bakın - 3GPP (.3GP)
- MPEG-4 (.mp4)
- Mpeg-2 ts (.ts, aranamaz değil)
- Matroska (.mkv, sadece kod çözün)
H.265 HEVC Ayrıntılar için Bölüm 5.3'e bakın - MPEG-4 (.mp4)
- Matroska (.mkv, sadece kod çözün)
MPEG-2 Ana profil - Mpeg2-ts (.ts, aranamaz değil)
- MPEG-4 (.mp4, yalnızca kod çözün)
- Matroska (.mkv, sadece kod çözün)
MPEG-4 SP - 3GPP (.3GP)
- MPEG-4 (.mp4)
- Matroska (.mkv, sadece kod çözün)
VP8 Ayrıntılar için Bölüm 5.2 ve 5.3'e bakın - Webm (.Webm)
- Matroska (.mkv)
VP9 Ayrıntılar için Bölüm 5.3'e bakın - Webm (.Webm)
- Matroska (.mkv)
AV1 Ayrıntılar için Bölüm 5.2 ve Bölüm 5.3'e bakın - MPEG-4 (.mp4)
- Matroska (.mkv, sadece kod çözün)
5.1.10. Medya Kodek Karakterizasyonu :
Revizyona bakın
Cihaz uygulamaları video kodeklerini destekliyorsa:
- [C-2-1] Tüm video kodekleri, kodek tarafından desteklendiğinde aşağıdaki boyutlar için ulaşılabilir kare hızı verilerini yayınlamalıdır:
SD (düşük kalite) SD (yüksek kalite) HD 720p HD 1080p UHD Video çözünürlüğü - 176 x 144 px (H263, MPEG2, MPEG4)
- 352 x 288 px (MPEG4 kodlayıcı, H263, MPEG2)
- 320 x 180 piksel (VP8, VP8)
- 320 x 240 piksel (diğer)
- 704 X 576 PX (H263)
- 640 x 360 px (VP8, VP9)
- 640 x 480 px (MPEG4 kodlayıcı)
- 720 x 480 px (diğer, AV1 )
- 1408 x 1152 px (H263)
- 1280 x 720 px (diğer, AV1 )
1920 X 1080 PX (MPEG4, AV1 dışında) 3840 x 2160 px (HEVC, VP9, AV1 ) Revizyona bakın
Cihaz uygulamaları herhangi bir video kodlayıcıyı destekliyor ve üçüncü taraf uygulamalar için kullanılabilir hale getiriyorsa, bunlar:- İki kayar pencereden fazla, intraframe (i-frame) aralıkları arasındaki bit hızı üzerinde% 15'ten fazla olmamalıdır.
- 1 saniyelik bir sürgülü pencere üzerinde bit hızında% 100'den fazla olmamalıdır.
Cihaz uygulamaları herhangi bir video kodlayıcıyı destekliyor ve üçüncü taraf uygulamalar için kullanılabilir hale getiriyorsa ve
MediaFormat.KEY_BITRATE_MODE
-BITRATE_MODE_VBR
böylece kodlayıcı değişken bit hızı modunda çalışır, daha sonra, en az kalite zemini etkilemediği sürece, kodlanmış bit hızı:-
[C-5-1], bir sürgülü pencerenin üzerinde, iç içi (I-frame) aralıklar arasındaki bit hızına göre% 15'ten fazla olmamalıdır . -
[C-5-2]1 saniyelik bir sürgülü pencere üzerinden bit hızı üzerinde% 100'den fazla olmamalıdır .
Cihaz uygulamaları herhangi bir video kodlayıcıyı destekler ve üçüncü taraf uygulamalar için kullanılabilir hale getirir ve
MediaFormat.KEY_BITRATE_MODE
BITRATE_MODE_CBR
olarak ayarlarsa, kodlayıcı sabit bit hızı modunda, daha sonra kodlanmış bitrate:-
[C-6-1][C-SR-2] 'nin, 1 saniyelik bir sürgülü pencerede hedef bit hızı üzerinde% 15'ten fazla olmaması şiddetle tavsiye edilir .
Revizyona bakın
Cihaz uygulamaları H.263 kodlayıcıları destekliyor ve üçüncü taraf uygulamalar için kullanılabilir hale getiriyorsa, bunlar:
- [C-1] temel profil seviyesi 45 kullanarak QCIF çözünürlüğünü (176 x 144) desteklemelidir . SQCIF çözünürlüğü isteğe bağlıdır.
-
Desteklenen kodlayıcı için dinamik olarak yapılandırılabilir bit hatlarını desteklemelidir.
Revizyona bakın
Cihaz uygulamaları H.265 kodekini destekliyorsa, bunlar:
- [C-1], ana profil seviyesi 3'ü 512 x 512 çözünürlüğe kadar desteklemelidir.
-
Aşağıdaki tabloda belirtildiği gibi HD kodlama profillerini desteklemelidir. - [C-SR-1], bir donanım kodlayıcısı varsa, aşağıdaki tabloda belirtildiği gibi 720 x 480 SD profilini ve HD kodlama profillerini desteklemesi şiddetle tavsiye edilir.
5.2.6. AV1 : Yeni bölüm
Revizyona bakın
Cihaz uygulamaları AV1 Codec'i destekliyorsa,:
- [C-1] 8 bit ve 10 bit içerik içeren ana profili desteklemelidir.
[C-1-2] performans verilerini yayınlamalıdır, yani performans verilerini aşağıdaki tablodaki desteklenen çözünürlükler için
getSupportedFrameRatesFor()
veyagetSupportedPerformancePoints()
API'leri aracılığıyla yayınlamalıdır.[C-1-3] HDR meta verilerini kabul etmeli ve onu bit akışına çıkarmalı
AV1 kodlayıcısı donanım hızlandırılırsa, o zaman:
- [C-2-1] aşağıdaki tablodan HD1080P kodlama profilini desteklemeli ve desteklemelidir:
SD HD 720p HD 1080p UHD Video çözünürlüğü 720 x 480 px 1280 x 720 px 1920 x 1080 px 3840 x 2160 px Video kare hızı 30 fps 30 fps 30 fps 30 fps Video bit hızı 5 Mbps 8 Mbps 16 Mb/sn 50 Mb/sn Revizyona bakın
Cihaz uygulamaları H.263 kod çözücüleri destekliyorsa, bunlar:
- [C-1] temel profil seviye 30 (CIF, QCIF ve SQCIF çözünürlükleri @ 30fps 384kbps) ve seviye 45 (QCIF ve SQCIF çözünürlükleri @ 30fps 128kbps) desteklemelidir.
Revizyona bakın
Cihaz uygulamaları AV1 Codec'i destekliyorsa, bunlar:- [C-1], 10 bit içerik dahil olmak üzere profil 0'ı desteklemelidir.
Cihaz uygulamaları AV1 Codec'i destekliyor ve üçüncü taraf uygulamalar için kullanılabilir hale getiriyorsa, bunlar:
- [C-1] 8 bit ve 10 bit içerik içeren ana profili desteklemelidir.
Cihaz uygulamaları AV1 Codec'e bir donanım hızlandırılmış kod çözücü ile destek sağlarsa:
- [C-2-1], en az HD 720p video kod çözme profillerini
Display.getSupportedModes()
tarafından bildirilen yükseklik. - [C-2-2], en az HD 1080p video kod çözme profillerini
Display.getSupportedModes()
tarafından bildirilen yükseklik.
SD HD 720p HD 1080p UHD Video çözünürlüğü 720 x 480 px 1280 x 720 px 1920 x 1080 px 3840 x 2160 px Video kare hızı 30 fps 30 fps 30 fps 30 fps Video bit hızı 5 Mbps 8 Mbps 16 Mb/sn 50 Mb/sn Cihaz uygulamaları medya API'leri aracılığıyla HDR profilini destekliyorsa,:
- [C-3-1], HDR meta verilerinin bit akım ve/veya kaptan çıkarılmasını ve çıktısını desteklemelidir.
- [C-3-2] HDR içeriğini cihaz ekranında veya standart bir video çıkış bağlantı noktasında (örneğin HDMI) doğru şekilde görüntülemelidir.
5.4.2. Ses tanıma için yakalama :
Revizyona bakın
Cihaz uygulamaları
android.hardware.microphone
bildirirse,:- 90 dB ses basınç seviyesinde (SPL) (mikrofonun yanından
30 cm mesafedeölçülen) çalınan 1000 Hz sinüzoidal ton kaynağı olacak şekilde ses giriş duyarlılığını ayarlamalıdır. Ses tanıma ses kaynağını kaydetmek için kullanılan her bir mikrofon için 16 bit numunesi (veya yüzer nokta/çift hassas örnekler için -22.35 dB ± 3db tam ölçek) için 3530.
- 90 dB ses basınç seviyesinde (SPL) (mikrofonun yanından
Revizyona bakın
Cihaz uygulamaları
android.hardware.audio.output
özelliğini bildirirse,:- [C-1-4], kayan nokta girişi ve çıktı ile ses efektlerini desteklemelidir.
- [C-1-5] Ses efektlerinin FCC_LIMIT olarak da bilinen mikser kanal sayısına kadar birden çok kanalı desteklediğinden emin olmalıdır.
Revizyona bakın
Cihaz uygulamaları
android.hardware.audio.output
bildirirse, aşağıdaki gereksinimleri karşılamaları veya aşmaları şiddetle tavsiye edilir:- [C-SR-4] Audiotrack.getTimestamp ve
AAudioStream_getTimestamp
tarafından döndürülen çıkış zaman damgası +/- 1 ms için doğrudur.
- [C-SR-4]
AAudioStream_getTimestamp
tarafından döndürülen girdi ve çıkış zaman damgalarına dayanan hesaplanan gidiş-dönüş gecikmelerinin,AAUDIO_PERFORMANCE_MODE_NONE
veAAUDIO_PERFORMANCE_MODE_LOW_LATENCY
için hoparlörler ve kablosuz başlıklı ve kablosuz başlık için ölçülen gidiş-dönüş gecikmesinin 30 msn'si içinde olması önerilir.
- [C-SR-4] Audiotrack.getTimestamp ve
7. Donanım uyumluluğu
Revizyona bakın
Android, üçüncü taraf uygulamaların
çeşitli donanım yapılandırmalarında iyi çalışmasını sağlamak için cihaz için uygulama varlıklarını ve kullanıcı arayüzü düzenlerini otomatik olarak ayarlayan tesisler içerir.Çeşitli donanım ekranları ve yapılandırmalar. Android uyumlu bir ekran , Android geliştiricilerinde açıklanan tüm davranışları ve API'leri uygulayan bir görüntü ekranıdır-ekran uyumluluğuna genel bakış , bu bölüm (7.1) ve alt bölümleri ve ayrıca herhangi bir ek cihaz tipi özel davranış, Bu CDD.Tüm üçüncü taraf Android uyumlu uygulamaların çalışabileceği Android uyumlu ekranlarda, cihaz uygulamaları bu bölümde ayrıntılı olarak açıklandığı gibi bu API'leri ve davranışları düzgün bir şekilde uygulamalıdır.Yeni Gereksinimler Başlat
Cihaz Uygulamaları:
- [C-0-1] varsayılan olarak, üçüncü taraf uygulamalarını yalnızca Android uyumlu ekranlara dönüştürmelidir.
Bu bölümdeki gereksinimler tarafından atıfta bulunulan birimler aşağıdaki gibi tanımlanmıştır:
- fiziksel diyagonal boyut . Ekranın aydınlatılmış kısmının iki karşıt köşesi arasındaki inç cinsinden mesafe.
-
inç başına nokta (DPI)yoğunluğu . İnç başına piksel (PPI veya DPI) olarak ifade edilen, lineer bir yatay veya dikey 1 ”ile kapsilen piksel sayısı.DPIPPI ve DPI değerlerinin listelendiği durumlarda, hem yatay hem de dikey DPI listelenen aralık içine girmelidir. - En boy oranı . Daha uzun boyuttaki piksellerin ekranın daha kısa boyutuna oranı. Örneğin, 480x854 piksel ekran 854/480 = 1.779 veya kabaca “16: 9” olacaktır.
- Yoğunluktan bağımsız piksel (DP) .
160 DPIekran yoğunluğuna normalize edilenbirsanal piksel birimi 160. Bazı yoğunluk D ve bir dizi piksel için, yoğunluktan bağımsız piksel dp sayısı şu şekilde hesaplanır:piksel = dps * (yoğunluk/160)dp = (160 / d) * s .
7.1.1.1. Ekran boyutu ve şekli :
Revizyona bakın
Cihaz uygulamaları,
UI_MODE_TYPE_NORMAL
Boyut Yapılandırması'na sahip ekranları destekliyor ve bu ekranları oluşturmak için yuvarlak köşeleri olanAndroid uyumlukullanım fiziksel ekranlarını içeriyorsa, bunlar:- [C-1] , bu tür her ekran için aşağıdaki gereksinimlerden en az birinin karşılandığından emin olmalıdır:
- Yuvarlak köşelerin yarıçapı 38 dp'ye eşittir.
Mantıksal ekranın her köşesine 15 dp x 15 dp kutusu demirlendiğinde, ekranda her bir kutunun en az bir piksel görünür.
Dikdörtgen köşelerle ekran moduna geçmek için kullanıcı uygunluğunu içermelidir.
Yeni Gereksinimler Başlat
Cihaz uygulamaları yalnızca
NO_KEYS
klavye yapılandırması yapabiliyorsa veUI_MODE_TYPE_NORMAL
UI modu yapılandırması için destek bildirmek istiyorsa, bunlar:- [C-4-1], herhangi bir ekran kesimi hariç, en az 596 dp x 384 dp veya daha büyük bir düzen boyutuna sahip olmalıdır.
Cihaz uygulamaları, katlanabilir olan veya birden fazla ekran paneli arasında katlanır bir menteşe içeren Android uyumlu bir ekran (lar) içeriyorsa ve bu tür ekranları üçüncü taraf uygulamaları oluşturmak için kullanılabilir hale getirirse, bunlar:
- [C-2-1] , Window Manager Jetpack Kütüphanesi tarafından kullanılacak uzantılar API'sının en son kullanılabilir kararlı sürümünü veya Sidecar API'sının kararlı sürümünü uygulamalıdır.
Cihaz uygulamaları, katlanabilir olan veya birden fazla ekran paneli arasında katlanır bir menteşe içeren Android uyumlu bir ekran (lar) içeriyorsa ve menteşe veya kat tam ekran bir uygulama penceresini geçiyorsa, bunlar:
- [C-3-1] menteşenin konumunu, sınırlarını ve durumunu bildirmeli veya uygulamaya uzantılar veya sepet API'leri aracılığıyla katlanmalıdır.
Cihaz uygulamaları, katlanabilir bir veya daha fazla Android uyumlu ekran alanını içeriyorsa veya çoklu Android uyumlu ekran paneli alanları arasında katlanır bir menteşe içeriyorsa ve bu tür ekran alanlarını uygulamalar için kullanılabilir hale getirirse, bunlar:
- [C-4-1], önümüzdeki belgelerde açıklandığı gibi Pencere Yöneticisi Uzantıları API seviyesinin doğru sürümünü uygulamalıdır.
7.1.1.2. Ekran boy oranı : kaldırıldı
Revizyona bakın
Cihaz Uygulamaları:
- [C-0-1]
Varsayılan olarak, cihaz uygulamaları,DisplayMetrics
DENSITY_DEVICE_STABLE
API üzerinden listelenen Android çerçeve yoğunluklarındanyalnızcabirini rapor etmeli ve bu değer her fiziksel ekran için statik bir değer olmalı;Bununla birlikte,cihaz, ilk önyükleme işleminden sonra ayarlanan kullanıcı tarafından yapılan (örneğin, ekran boyutu) yapılan ekran yapılandırma değişikliklerine göre farklı birkeyfi yoğunlukluDisplayMetrics.density
bildirebilir.
- Cihaz uygulamaları, bu mantıksal yoğunluk, rapor edilen ekran boyutunu desteklenen minimumun altına itmedikçe, ekranın fiziksel yoğunluğuna sayısal olarak en yakın standart Android çerçeve yoğunluğunu tanımlamalıdır. Fiziksel yoğunluğa sayısal olarak en yakın olan standart Android çerçeve yoğunluğu, desteklenen en küçük uyumlu ekran boyutundan (320 dp genişliği) daha küçük bir ekran boyutuyla sonuçlanırsa, cihaz uygulamaları bir sonraki en düşük standart Android çerçeve yoğunluğunu bildirmelidir.
Yeni Gereksinimler Başlat
- Ekranın fiziksel yoğunluğuna sayısal olarak en yakın olan standart Android çerçeve yoğunluğunu veya el cihazının aynı eşdeğer açısal bakış alanı ölçümleriyle eşleşecek bir değeri tanımlamalıdır.
Cihaz uygulamaları, cihazın görüntüleme boyutunu değiştirmek için bir uygunluk sağlarsa
,bunlar :- [C-1]
Ekran boyutunun ölçeklendirilmemesi gerekir,ekranı 1,5 kat daha büyükDENSITY_DEVICE_STABLE
yerel yoğunluğuveya 320dp'den (kaynak niteleyicisi SW320DP'ye eşdeğer) daha küçük etkili bir minimum ekran boyutu üretmemelidir. - [C-1-2]
Ekran boyutunun ölçeklenmemesi gerekir Herhangi birekranıDENSITY_DEVICE_STABLE
doğal yoğunluğunun0,85 katından daha küçük ölçeklendirmemelidir.
- [C-0-1]
Revizyona bakın
Cihaz uygulamaları Vulkan
1.0 veya daha yüksekbir destek içeriyorsa, bunlar:[C-1-3], numaralandırılmış her
VkPhysicalDevice
içinVulkan 1.0Vulkan 1.1 API'lerini tam olarak uygulamalıdır.[C-1-5], uygulama
android:debuggable
Nitritbutetrue
olarak ayarlanmış veya meta verilercom.android.graphics.injectLayers.enable
olarak ayarlanabilir özniteliğe sahip olmadıkça, uygulama paketi dışında kütüphaneler tarafından sağlanan katmanları numaralandırmamalı veya Vulkan API'sını izlemenin veya engellemenin başka yollarını sağlamamalıdır.com.android.graphics.injectLayers.enable
Settrue
.
-
VkPhysicalDeviceProtectedMemoryFeatures
veVK_EXT_global_priority
desteklemelidir.
- [C-1-13] , Android Baseline 2021 profili tarafından belirtilen gereksinimleri karşılamalıdır.
[C-SR-5],
VkPhysicalDeviceProtectedMemoryFeatures.protectedMemory
veVK_EXT_global_priority
desteklemesi şiddetle tavsiye edilir.[C-SR-6], Hwui ile
SkiaVk
kullanması şiddetle tavsiye edilir.
Cihaz uygulamaları Vulkan 1.1 desteğini içeriyorsa ve burada açıklanan Vulkan özellik bayraklarından herhangi birini bildirirse, bunlar:
- [C-SR-7],
VK_KHR_external_fence_fd
uzantısının üçüncü taraf uygulamalar için kullanılabilir olması ve uygulamanın burada açıklandığı gibi POSIX dosya tanımlayıcılarından çit yükünü dışa aktarmasını ve içe aktarmasını sağlamak için şiddetle tavsiye edilir.
7.3.10. Biyometrik sensörler :
Revizyona bakın
Cihaz uygulamalarının birden fazla biyometrik sensörü varsa, bunlar:
[C-7-1], bir biyometrik kilitlendiğinde (yani, kullanıcı birincil kimlik doğrulama ile kilidini açana kadar biyometrik devre dışı bırakılır) veya zamana bağlı kilitleme gerekir (yani, kullanıcı bir zaman aralığı bekleyene kadar biyometrik geçici olarak devre dışı bırakılır) Çok fazla başarısız girişim nedeniyle, daha düşük bir biyometrik sınıfın diğer tüm biyometrilerini de kilitleyin. Zamana bağlı kilitleme durumunda, biyometrik doğrulama için geri çekilme süresi, zamana bağlı kilitlenmede tüm biyometrilerin maksimum geri tepmesi olmalıdır.
[C-SR-12], bir biyometrik kilitlendiğinde (yani kullanıcı birincil kimlik doğrulama ile kilidini açana kadar biyometrik devre dışı bırakıldığında) şiddetle tavsiye edilir (yani, kullanıcı bir süre bekleyene kadar biyometrik geçici olarak devre dışı bırakılır aralık) çok fazla başarısız girişim nedeniyle, aynı biyometrik sınıfın diğer tüm biyometrilerini de kilitlemek. Zamana bağlı kilitleme durumunda, biyometrik doğrulama için geri çekilme süresinin, zamana bağlı kilitlemede tüm biyometriin maksimum geri tepmesi olması şiddetle tavsiye edilir.
[C-7-2], bir biyometrik kilitlenmesi için kilitleme sayacını sıfırlamak için önerilen birincil kimlik doğrulama (örneğin: pim, desen, şifre) için kullanıcıya meydan okumalıdır. Sınıf 3 biyometri, aynı veya alt sınıfın kilitli bir biyometrik için kilitleme sayacını sıfırlamasına izin verilebilir. Sınıf 2 veya Sınıf 1 biyometri, herhangi bir biyometri için bir sıfırlama kilitleme işlemini tamamlamasına izin verilmemelidir.
Cihaz uygulamaları bir biyometrik sensörü sınıf 1 (eski kolaylık ) olarak ele almak istiyorsa:
[C-1-12] , Android Biyometri Test Protokolleri ile ölçüldüğü gibi, Sunum Saldırısı Aleti (PAI) türleri başına % 40'dan daha yüksek olmayan bir parodi ve imposter kabul oranına sahip olmalıdır.
[C-SR-13] , Android biyometri test protokolleri tarafından ölçüldüğü gibi, sunum saldırısı enstrümanı (PAI) türleri başına % 30'dan daha yüksek olmayan bir parodi ve imposter kabul oranına sahip olmaları şiddetle tavsiye edilir.
[C-SR-14], biyometrik sensörün biyometrik sınıfını ve bunu etkinleştirmenin karşılık gelen risklerini açıklamanız şiddetle tavsiye edilir.
[C-SR-17], yeni AIDL arayüzlerini (
IFace.aidl
veIFingerprint.aidl
gibi) uygulamak için şiddetle tavsiye edilir.
Cihaz uygulamaları bir biyometrik sensörü Sınıf 2 (eski adıyla zayıf ) olarak ele almak istiyorsa:
- [C-SR-15] , Android biyometri test protokolleri tarafından ölçüldüğü gibi, sunum saldırısı enstrümanı (PAI) türleri başına % 20'den yüksek olmayan bir parodi ve imposter kabul oranına sahip olmaları şiddetle tavsiye edilir.
- [C-2-3] Biyometrik eşleşmeyi, Güvenilir Yürütme Ortamı (TEE) gibi Android kullanıcısı veya çekirdek alanı dışındaki izole bir yürütme ortamında
veyaizole edilmiş yürütme ortamına güvenli bir kanallı veya korunan bir çipte gerçekleştirmelidir. Bölüm 9.17'deki gereksinimleri karşılayan sanal makine . - [C-2-4] , uygulama yönergelerinde belgelendiği gibi izole edilmiş yürütme ortamının dışında, izole edilmiş yürütme ortamına veya izole edilmiş yürütme ortamına güvenli bir kanala sahip bir çipin dışında edinilemeyecek, okunamayacak veya değiştirilemeyecek şekilde tüm tanımlanabilir verileri şifrelenmiş ve kriptografik olarak doğrulamalıdır. Android açık kaynak proje sitesinde veya hipervizör tarafından kontrol edilen ve Bölüm 9.17'deki gereksinimleri karşılayan korunan bir sanal makinede .
- [C-2-5] Kamera tabanlı biyometri için biyometrik tabanlı kimlik doğrulama veya kayıt olurken:
- Kamerayı, kamera çerçevelerinin izole edilmiş yürütme ortamı dışında okunmasını veya değiştirilmesini veya izole edilmiş yürütme ortamına güvenli bir kanal içeren bir çip veya Bölüm 9.17'deki gereksinimleri karşılayan korunan bir sanal makine veya korunan bir sanal makine ile çalıştırılmalıdır.
- RGB tek kamera çözümleri için, kamera çerçeveleri, kayıt için önizleme gibi işlemleri desteklemek için izole edilmiş yürütme ortamının dışında okunabilir, ancak yine de değiştirilemez olmalıdır.
- [C-2-7], tanımlanabilir biyometrik verilere veya kendinden türetilen herhangi bir veriye (gömme gibi) şifrelenmemiş erişime izin vermemelidir (gömme gibi) tee bağlamının dışındaki uygulama işlemcisine veya bölümdeki gereksinimleri karşılayan korunan sanal makine, korunan sanal makine 9.17 . Android sürüm 9 veya daha önceki sürümlerde başlatılan yükseltme cihazları C-2-7'den muaf değildir.
Cihaz uygulamaları bir biyometrik sensörü Sınıf 3 (eski adıyla güçlü ) olarak ele almak istiyorsa:
- [C-SR-16] , Android biyometri test protokolleri tarafından ölçüldüğü gibi, sunum saldırısı enstrümanı (PAI) türleri başına % 7'den daha yüksek olmayan bir parodi ve imposter kabul oranına sahip olmaları şiddetle tavsiye edilir.
7.3.13. IEEE 802.1.15.4 (UWB) :
Revizyona bakın
Cihaz uygulamaları 802.1.15.4 desteğini içeriyorsa ve işlevselliği üçüncü taraf bir uygulamaya maruz bırakıyorsa, bunlar:
- [C-1-2]
android.hardware.uwb
donanım özelliği bayrağını bildirmelidir. - [C-1-3] AOSP uygulamasında tanımlanan aşağıdaki tüm yapılandırma kümelerini ( FIRA UCI parametrelerinin önceden tanımlanmış kombinasyonları) desteklemelidir.
-
CONFIG_ID_1
: FIRA tanımlı tek noktayaSTATIC STS DS-TWR
Ranging, ertelenmiş mod, 240 ms aralık. -
CONFIG_ID_2
: FIRA tanımlı bir ila çokSTATIC STS DS-TWR
Ranging, ertelenmiş mod, değişen aralık 200 ms. Tipik kullanım durumu: Akıllı telefon birçok akıllı cihazla etkileşime girer. -
CONFIG_ID_3
: Vanal-of Valrival (AOA) verileri hariç,CONFIG_ID_1
ile aynı. -
CONFIG_ID_4
: P-STS güvenlik modu etkinleştirilmesi hariç,CONFIG_ID_1
ile aynı. -
CONFIG_ID_5
: p-sts güvenlik modu etkinleştirilmesi hariç,CONFIG_ID_2
ile aynı. -
CONFIG_ID_6
: p-sts güvenlik modu etkinleştirilmesi hariç,CONFIG_ID_3
ile aynı. -
CONFIG_ID_7
: P-STS ayrı ayrı kontrol tuş modu etkinleştirilmesi hariç,CONFIG_ID_2
ile aynı.
-
- [C-1-4], kullanıcının UWB Radyo'yu açma/kapama durumunu değiştirmesine izin vermek için bir kullanıcının uygunluğu sağlamalıdır.
- [C-1-5] UWB Radyo kullanarak uygulamaların
UWB_RANGING
iznini (NEARBY_DEVICES
izin grubu altında) tutmasını zorunlu kılmalıdır.
FIRA , CCC ve CSA dahil olmak üzere standart kuruluşlar tarafından tanımlanan ilgili uygunluk ve sertifikasyon testlerinin aktarılması, 802.1.15.4 işlevlerinin doğru bir şekilde sağlanmasına yardımcı olur.
- [C-1-2]
Revizyona bakın
Android API'leri tarafından kullanılan “Telefon” ve bu belge, özellikle sesli çağrılar yerleştirme ve SMS mesajları gönderme veya mobil (örneğin GSM, CDMA, LTE, NR) GSM veya CDMA ağı aracılığıyla mobil veri oluşturma ile ilgili donanıma atıfta bulunur. “Telefon” i destekleyen bir cihaz, aramanın bir kısmını veya tamamını, mesajlaşma ve veri hizmetlerini ürüne uygun olarak sunmayı seçebilir.
bir GSM veya CDMA ağı aracılığıyla. Bu sesli çağrılar paket değiştirilmiş olabilir veya olmayabilirken, Android'in aynı ağ kullanılarak uygulanabilecek herhangi bir veri bağlantısından bağımsız olarak kabul edilmesi içindir. Başka bir deyişle, Android “telefon” işlevselliği ve API'ler özellikle sesli çağrılara ve SMS'ye atıfta bulunur. Örneğin, veri bağlantısı için hücresel bir ağ kullanıp kullanmadıklarına bakılmaksızın, arama yapamayan veya SMS mesajları gönderemeyen veya alamayan cihaz uygulamaları bir telefon cihazı olarak kabul edilmez.Revizyona bakın
Cihaz uygulamaları 802.11 desteğini içeriyorsa ve işlevselliği üçüncü taraf bir uygulamaya maruz bırakıyorsa, bunlar:
- [C-1-4] Çok noktaya yayın DN'lerini (MDN'ler) desteklemeli ve herhangi bir çalışma zamanında MDNS paketlerini (224.0.0.251 veya ff02 :: fb ) filtrelememelidir, ekran aktif durumda olmadığı zamanlar da dahil olmak üzere, düşmedikçe veya aktif bir durumda olmadığında Bu paketlerin filtrelenmesi, hedef pazar için geçerli olan düzenleyici gereksinimlerin gerektirdiği güç tüketimi aralıklarında kalmak için gereklidir.
Android televizyon cihazı uygulamaları için, bekleme güç durumlarında bile.
- [C-1-4] Çok noktaya yayın DN'lerini (MDN'ler) desteklemeli ve herhangi bir çalışma zamanında MDNS paketlerini (224.0.0.251 veya ff02 :: fb ) filtrelememelidir, ekran aktif durumda olmadığı zamanlar da dahil olmak üzere, düşmedikçe veya aktif bir durumda olmadığında Bu paketlerin filtrelenmesi, hedef pazar için geçerli olan düzenleyici gereksinimlerin gerektirdiği güç tüketimi aralıklarında kalmak için gereklidir.
Revizyona bakın
Cihaz uygulamaları özelliği bildirirse, onlar:
- [C-SR-2], medyan BLE RSSI'nın
ADVERTISE_TX_POWER_HIGH
1m mesafede 1m mesafede -60dbm +/- 10 dB olmasını sağlamak için RX ofsetini ölçmek ve telafi etmesi şiddetle tavsiye edilir. Aynı yöne bakan ekranları olan 'paralel düzlemlerde'. - [C-SR-3], 1m mesafede konumlandırılmış bir referans cihazdan tarama yaparken ve cihazların yönlendirildiği yerlerde
ADVERTISE_TX_POWER_HIGH
aktarılırken medyan ble rssi'nin -60dbm +/- 10 dB olmasını sağlamak için TX ofsetini ölçmek ve telafi etmek şiddetle tavsiye edilir. öyle ki, aynı yöne bakan ekranlarla 'paralel uçaklar' üzerinde olacaklar.
- [C-10-3], medyan BLE RSSI'nın
ADVERTISE_TX_POWER_HIGH
bir referans cihazdan 1m mesafede -55dbm +/- 10 dB olmasını sağlamak için RX ofsetini ölçmeli ve telafi etmelidir. - [C-10-4], 1M mesafede konumlandırılmış bir referans cihazdan tarama yaparken ve
ADVERTISE_TX_POWER_HIGH
iletilen bir referans cihazdan tararken medyan ble RSSI'nın -55dbm +/- 10 dB olmasını sağlamak için TX ofsetini ölçmeli ve telafi etmelidir.
Cihaz uygulamaları Bluetooth sürüm 5.0'ı destekliyorsa,:
- [C-SR-4] şunları desteklemeniz şiddetle tavsiye edilir:
- Le 2m Phy
- Le codec phy
- LE reklam uzantısı
- Periyodik reklam
- En az 10 reklam seti
- En az 8 le eşzamanlı bağlantı. Her bağlantı her iki bağlantı topoloji rolünde olabilir.
- Le Link Katmanı Gizliliği
- "Listeyi Çözme" boyutu en az 8 giriş
- [C-SR-2], medyan BLE RSSI'nın
Revizyona bakın
- [C-1-7], referans cihazdan 1m'deki mesafe ölçümlerinin medyanının, DUT'un üst kenarından zemin gerçeği mesafesinin ölçüldüğünde [0.75m, 1.25m] içinde olmasını sağlamalıdır.
Yüz yukarı ve 45 derece eğik.
- [C-1-7], referans cihazdan 1m'deki mesafe ölçümlerinin medyanının, DUT'un üst kenarından zemin gerçeği mesafesinin ölçüldüğünde [0.75m, 1.25m] içinde olmasını sağlamalıdır.
Revizyona bakın
Arkaya bakan bir kamera, cihazın yanında ekranın karşısında bulunan bir kameradır; Yani, geleneksel bir kamera gibi cihazın uzak tarafındaki sahneleri görüntüler.
Arkaya bakan bir kamera, geleneksel bir kamera gibi cihazın uzak tarafındaki sahneleri görüntüleyen dünyaya bakan bir kameradır; El cihazlarında, cihazın ekranın karşısında bulunan bir kameradır.
Revizyona bakın
Öne bakan bir kamera, cihazın ekranla aynı tarafında bulunan bir kameradır; Yani, video konferans ve benzer uygulamalar gibi kullanıcıyı görüntülemek için kullanılan bir kamera.
Öne bakan bir kamera, video konferans ve benzeri uygulamalar gibi kullanıcıyı görüntülemek için tipik olarak kullanılan kullanıcıya bakan bir kameradır; El cihazlarında, cihazın ekranla aynı tarafında bulunan bir kameradır.
Revizyona bakın
Harici bir kamera, herhangi bir zamanda cihaz uygulamasından fiziksel olarak takılabilen veya ayrılabilen ve herhangi bir yönle karşılaşabilen bir kameradır; USB kameralar gibi.
Revizyona bakın
Cihaz uygulamaları, mevcut tüm kameralar için kamerayla ilgili API'ler için aşağıdaki davranışları uygulamalıdır. Cihaz Uygulamaları:
- [C-SR-1] Birden fazla RGB kamerası olan ve aynı yönde bakan cihazlar için,
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
listeleyen bir mantıksal kamera cihazını desteklemeniz şiddetle tavsiye edilir, bu da RGB kameralardan oluşan tüm RGB kameralardan oluşan tüm RGB kameralardan oluşan fiziksel alt tanımlar olarak.
- [C-SR-1] Birden fazla RGB kamerası olan ve aynı yönde bakan cihazlar için,
Revizyona bakın
Aşağıdaki kriterlerin tümünü karşılayan cihazlar yukarıdaki gereksinimden muaftır:
- Otomotiv cihazları gibi kullanıcı tarafından döndürülemeyen cihaz uygulamaları.
Revizyona bakın
El veya aşınmış olması amaçlanan cihazlar, zil sesleri, alarmlar, bildirimler ve genel dokunmatik geri bildirimler aracılığıyla dikkat çekmek de dahil olmak üzere uygulamalar için kullanılabilir genel amaçlı bir dokunsal aktüatör içerebilir.
Cihaz uygulamaları böyle genel amaçlı bir dokunsal aktüatör içermiyorsa, bunlar:
- [7.10/c]
Vibrator.hasVibrator()
için false döndürmelidir.
Cihaz uygulamaları en az bir genel amaçlı dokunsal aktüatör içeriyorsa, bunlar:
- [C-1]
Vibrator.hasVibrator()
için true dönmelidir. - Eksantrik dönen kütle (ERM) haptik aktüatör (vibratör) kullanmamalıdır.
-
android.view.HapticFeedbackConstants
tüm genel sabitleri uygulamalıdır (CLOCK_TICK
,CONTEXT_CLICK
,KEYBOARD_PRESS
,KEYBOARD_RELEASE
,KEYBOARD_TAP
,LONG_PRESS
,TEXT_HANDLE_MOVE
,VIRTUAL_KEY
,VIRTUAL_KEY_RELEASE
,CONFIRM
,REJECT
,GESTURE_START
veGESTURE_END
). -
android.os.VibrationEffect
tüm genel sabitleri uygulamalıdır (EFFECT_TICK
,EFFECT_CLICK
,EFFECT_HEAVY_CLICK
TICK
EFFECT_DOUBLE_CLICK
) veCLICK
LOW_TICK
android.os.VibrationEffect.Composition
tüm uygulanabilir genelPRIMITIVE_*
Sabitler.QUICK_FALL
,QUICK_RISE
,SLOW_RISE
,SPIN
,THUD
).LOW_TICK
veSPIN
gibi bu ilkellerin bazıları sadece vibratör nispeten düşük frekansları destekleyebiliyorsa mümkün olabilir. -
android.view.HapticFeedbackConstants
ortak sabitleri, önerilenandroid.os.VibrationEffect
sabitlerine karşılık gelen genlik ilişkileri ile eşleştirme rehberliğini izlemelidir. - Bu bağlantılı haptik sabit eşlemeleri kullanmalıdır.
-
createOneShot()
vecreateWaveform()
API'leri için kalite değerlendirmesini takip etmelidir. - Genel
android.os.Vibrator.hasAmplitudeControl()
API'sının sonucunun vibratörlerinin yeteneklerini doğru bir şekilde yansıttığını doğrulamalıdır. -
android.os.Vibrator.hasAmplitudeControl()
çalıştırarak genlik ölçeklenebilirliği için yetenekleri doğrulamalıdır.
Cihaz uygulamaları dokunsal sabitler eşlemeyi takip ederse, bunlar:
-
android.os.Vibrator.areAllEffectsSupported()
veandroid.os.Vibrator.arePrimitivesSupported()
API'lerini çalıştırarak uygulama durumunu doğrulamalıdır. - Dokunsal sabitler için bir kalite değerlendirmesi yapmalıdır.
- Sabitler için uygulama kılavuzunda açıklandığı gibi, desteklenmeyen ilkeller için geri dönüş yapılandırmasını doğrulamalı ve güncellemelidir.
- Burada açıklandığı gibi başarısızlık riskini azaltmak için geri dönüş desteği sağlamalıdır.
Cihaza özgü gereksinimler için Bölüm 2.2.1'e bakınız.
- [7.10/c]
9. Güvenlik Modeli Uyumluluğu
Revizyona bakın
Cihaz Uygulamaları:
- [C-0-4] her iki kullanıcı arayüzünün bir ve sadece bir uygulaması olmalıdır.
Cihaz uygulamaları Sistem UI istihbaratından herhangi birini tutan herhangi bir paketi önceden yükleyin, sistem ortam ses zekası , sistem ses zekası , sistem bildirimi zekası , sistem metni zekası veya sistem görsel zeka rolleri, paketler:
- [C-4-1] MUST fulfill all requirements outlined for device implementations in sections
"9.8.6 Content Capture""9.8.6 OS-level and ambient data and 9.8.15 Sandboxed API implementations".
- [C-4-2] MUST NOT have android.permission.INTERNET permission. This is stricter than the STRONGLY RECOMMENDED listed in section 9.8.6.
- [C-4-3] MUST NOT bind to other apps, except for the following system apps: Bluetooth, Contacts, Media, Telephony, SystemUI, and components providing Internet APIs. This is stricter than the STRONGLY RECOMMENDED listed in section 9.8.6.
If device implementations include a default application to support the
VoiceInteractionService
they:- [C-5-1] MUST NOT grant
ACCESS_FINE_LOCATION
as the default for that application.
See revision
If device implementations create the additional user profile discussed above, then they:
- [C-4-5] MUST visually distinguish the dual instance application icons when the icons are presented to users.
- [C-4-6] MUST provide a user-affordance to delete entire clone profile data.
- [C-4-7] MUST uninstall all Clone apps, delete the private app data directories and their content, and delete Clone profile data, when the user chooses to delete entire Clone profile data.
- SHOULD prompt the user to delete entire Clone Profile data when the last clone app is deleted.
- [C-4-8] MUST inform the user that app data will be deleted when the clone application is uninstalled, or provide an option to users to keep app data when the application is uninstalled from the device.
- [C-4-9] MUST delete the private app data directories and their content, when the user chooses to delete the data during uninstall.
[C-4-1] MUST allow the below intents originating from the additional profile to be handled by applications of the primary user on the device:
-
Intent.ACTION_VIEW
-
Intent.ACTION_SENDTO
-
Intent.ACTION_SEND
-
Intent.ACTION_EDIT
-
Intent.ACTION_INSERT
-
Intent.ACTION_INSERT_OR_EDIT
-
Intent.ACTION_SEND_MULTIPLE
-
Intent.ACTION_PICK
-
Intent.ACTION_GET_CONTENT
-
MediaStore.ACTION_IMAGE_CAPTURE
-
MediaStore.ACTION_VIDEO_CAPTURE
-
[C-4-2] MUST inherit all device policy user restrictions and selected non-user restrictions(list below) applied on the primary user of the device to this additional user profile.
[C-4-3] MUST only allow writing contacts from this additional profile via the following intents:
[C-4-4] MUST NOT have contact syncs running for applications running in this additional user profile.
- [C-4-14] MUST have separate permission and storage management for the applications running in this additional profile
- [C-4-5] MUST only allow applications in the additional profile that have a launcher activity to access contacts that are already accessible to the parent user profile.
See revision
A Memory Safety technology is a technology that mitigates at least the following classes of bugs with a high (> 90%) probability in applications that use the
android:memtagMode
manifest option:- heap buffer overflow
- use after free
- çift ücretsiz
- wild free (free of a non-malloc pointer)
Device implementations:
- [C-SR-15] Are STRONGLY RECOMMENDED to set
ro.arm64.memtag.bootctl_supported
.
If device implementations set the system property
ro.arm64.memtag.bootctl_supported
to true, they:[C-3-1] MUST allow the system property
arm64.memtag.bootctl
to accept a comma-separated list of the following values, with the desired effect applied on the next subsequent reboot:-
memtag
: a Memory Safety technology as defined above is enabled -
memtag-once
: a Memory Safety technology as defined above is transiently enabled, and is automatically disabled upon, next reboot -
memtag-off
: a Memory Safety technology as defined above is disabled
-
[C-3-2] MUST allow the shell user to set
arm64.memtag.bootctl
.[C-3-3] MUST allow any process to read
arm64.memtag.bootctl
.[C-3-4] MUST set
arm64.memtag.bootctl
to the currently requested state upon boot, it MUST also update the property, if the device implementation allows to modify the state without changing the system property.[C-SR-16] Are STRONGLY RECOMMENDED to show a Developer Setting that sets memtag-once and reboots the device. With a compatible bootloader, the Android Open Source Project meets the above requirements through the MTE bootloader protocol .
- [C-SR-17] Are STRONGLY RECOMMENDED to show a Setting in the Security Settings menu that allows the user to enable
memtag
.
See revision
Device implementations:
- [C-0-2] MUST display a user warning and obtain explicit user consent allowing any sensitive information that is displayed on the user's screen to be captured
enabled that includes exactly the same message as AOSPwhenevereach and every time a session to capture the screencasting or screen recordingisenabledstarted via theMediaProjection.createVirtualDisplay()
,VirtualDeviceManager.createVirtualDisplay()
, or proprietary APIs.MUST NOT provide users an affordance to disable future display of the user consent.
[C-SR-1] Are STRONGLY RECOMMENDED to display a user warning which is exactly the same message as implemented in AOSP but CAN be altered as long as the message clearly warns the user that any sensitive information on the user's screen is captured.
[C-0-4] MUST NOT provide users an affordance to disable future prompts of the user consent to capture the screen, unless the session is started by a system app that the user has allowed to
associate()
with theandroid.app.role.COMPANION_DEVICE_APP_STREAMING
or theandroid.app.role.COMPANION_DEVICE_NEARBY_DEVICE_STREAMING
device profile.
- [C-0-2] MUST display a user warning and obtain explicit user consent allowing any sensitive information that is displayed on the user's screen to be captured
9.8.6. OS-level and ambient data : This section was renamed from Content Capture and App Search to OS-level and ambient data .
See revision
Android, through the System APIs
, supports a mechanism for device implementations to capture the followingContentCaptureService
,AugmentedAutofillService
,AppSearchGlobalManager.query
, or by other proprietary meansapplication data interactions between the applications and the usersensitive data :- Any screen or other data sent via the
AugmentedAutofillService
to the system. - Any screen or other data accessible via
Content Capture
API. - Any screen or other data accessible via
FieldClassificationService
API - Any application data passed to the system via the
AppSearchManager
API and accessible viaAppSearchGlobalManager.query
.
- Any other events that an application provides to the system via the
Content Capture
API or orAppSearchManager
API a similarly capable Android and proprietary API.
- Audio data obtained as a result of using
SpeechRecognizer#onDeviceSpeechRecognizer()
by the Speech Recognizer Implementation. - Audio data obtained in background (continuously) through
AudioRecord
,SoundTrigger
or other Audio APIs, and not resulting in a user-visible indicator - Camera data obtained in background (continuously) through CameraManager or other Camera APIs, and not resulting in a user-visible indicator
If device implementations capture any of the data above, they:
[C-1-3] MUST only send all such data
and the logoff the device using a privacy-preserving mechanism , except with explicit user consent every time the data is shared . The privacy-preserving mechanism is defined as “those which allow only analysis in aggregate and prevent matching of logged events or derived outcomes to individual users”, to prevent any per-user data being introspectable (eg, implemented using a differential privacy technology such asRAPPOR
).[C-1-5] MUST NOT share such data with other OS components that don't follow requirements outlined in the current section (9.8.6
Content CaptureOS-level and ambient data ), except with explicit user consent every time it is Paylaşıldı. Unless such functionality is built as an Android SDK API (AmbientContext
,HotwordDetectionService
).[C-1-6] MUST provide user affordance to erase such data that the
implementation or the proprietary means collectsContentCaptureService
ifwhen the data is stored in any form on the device. If the user chooses to erase the data, MUST remove all collected historical data.
- [C-SR-3] Are STRONGLY RECOMMENDED to be implemented with Android SDK API or a similar OEM-owned open-source repository; and / or be performed in a Sandboxed implementation (see 9.8.15 Sandboxed API implementations).
Android, through
SpeechRecognizer#onDeviceSpeechRecognizer()
provides ability to perform speech recognition on the device, without involving the network. Any implementation of on-device SpeechRecognizer MUST follow the policies outlined in this section.- Any screen or other data sent via the
9.8.10. Connectivity Bug Report :
See revision
If device implementations declare the
android.hardware.telephony
feature flag, they:- [C-1-4] Reports generated using
BUGREPORT_MODE_TELEPHONY
MUST contain at least the following information:-
SubscriptionManagerService
dump
-
- [C-1-4] Reports generated using
9.8.14. Credential Manager : Removed
9.8.15. Sandboxed API Implementations : New section
See revision
Android, through a set of delegate APIs provides a mechanism to process secure OS-level and ambient data. Such processing can be delegated to a preinstalled apk with privileged access and reduced communication capabilities, known as a Sandboxed API Implementation.
Any Sandboxed API implementation:
- [C-0-1] MUST NOT request the INTERNET permission.
- [C-0-2] MUST only access the internet through structured APIs backed by publicly available open-source implementations using privacy-preserving mechanisms, or indirectly via Android SDK APIs. The privacy-preserving mechanism is defined as "those which allow only analysis in aggregate and prevent matching of logged events or derived outcomes to individual users", to prevent any per-user data being introspectable (eg, implemented using a differential privacy technology such as RAPPOR ).
- [C-0-3] MUST keep the services separate from other system components (eg not binding the service or sharing process IDs) except for the following:
- Telephony, Contacts, System UI, and Media
- [C-0-4] MUST NOT allow users to replace the services with a user-installable application or service
- [C-0-5] MUST only allow the preinstalled services to capture such data. Unless the replacement capability is built into AOSP (eg for Digital Assistant Apps).
- [C-0-6] MUST NOT allow any apps other than the preinstalled services mechanism to be able to capture such data. Unless such capture capability is implemented with an Android SDK API.
- [C-0-7] MUST provide user affordance to disable the services.
- [C-0-8] MUST NOT omit user affordance to manage Android permissions that are held by the services and follow the Android permissions model as described in Section 9.1. İzin .
9.8.16. Continuous Audio and Camera data : New section
See revision
In addition to requirements outlined in 9.8.2 Recording, 9.8.6 OS-level and ambient data, and 9.8.15 Sandboxed API implementations, implementations that make use of Audio data obtained in background (continuously) through AudioRecord, SoundTrigger or other Audio APIs OR Camera data obtained in background (continuously) through CameraManager or other Camera APIs:
- [C-0-1] MUST enforce a corresponding indicator (camera and/or microphone as per section 9.8.2 Recording), unless:
- This access is performed in a Sandboxed implementation (see 9.8.15 Sandboxed API implementation), through a package holding one or more of the following roles: System UI Intelligence , System Ambient Audio Intelligence , System Audio Intelligence , System Notification Intelligence , System Text Intelligence , or System Visual Intelligence .
- The access is performed through a sandbox, implemented and enforced via mechanisms in AOSP (
HotwordDetectionService
,WearableSensingService
,VisualQueryDetector
). - Audio access is performed for assistive purposes by the Digital Assistant application, supplying
SOURCE_HOTWORD
as an audio source. - The access is performed by the system and implemented with open-source code.
- [C-SR-1] Is STRONGLY RECOMMENDED to require user consent for every functionality utilizing such data, and be disabled by default.
- [C-SR-2] STRONGLY RECOMMENDED to apply the same treatment (ie follow the restrictions outlined in 9.8.2 Recording, 9.8.6 OS-level and ambient data, 9.8.15 Sandboxed API implementations, and 9.8.16 Continuous Audio and Camera data) to Camera data coming from a remote wearable device.
If the Camera data is supplied from a remote wearable device and accessed in an unencrypted form outside Android OS, sandboxed implementation or a sandboxed functionality built by
WearableSensingManager
, then they:- [C-1-1] MUST indicate to the remote wearable device to display an additional indicator there.
If devices provide capability to engage with a Digital Assistant Application without the assigned keyword (either handling generic user queries, or analyzing user presence through camera):
- [C-2-1] MUST ensure such implementation is provided by a package holding the
android.app.role.ASSISTANT
role. - [C-2-2] MUST ensure such implementation utilizes
HotwordDetectionService
and/orVisualQueryDetectionService
Android APIs.
- [C-0-1] MUST enforce a corresponding indicator (camera and/or microphone as per section 9.8.2 Recording), unless:
9.8.17. Telemetry : New section
See revision
Android stores system and app logs using StatsLog APIs. These logs are managed via StatsManager APIs which can be used by privileged system applications.
StatsManager also provides a way to collect data categorized as privacy sensitive from devices with a privacy preserving mechanism. In particular,
StatsManager::query
API provides the ability to query restricted metric categories defined in StatsLog .Any implementation querying and collecting restricted metrics from StatsManager:
- [C-0-1] MUST be the sole application/implementation on the device and hold the
READ_RESTRICTED_STATS
permission. - [C-0-2] MUST only send telemetry data and the log of the device using a privacy-preserving mechanism. The privacy-preserving mechanism is defined as "those which allow only analysis in aggregate and prevent matching of logged events or derived outcomes to individual users", to prevent any per-user data being introspectable (eg, implemented using a differential privacy technology such as RAPPOR ).
- [C-0-3] MUST NOT associate such data with any user identity (such as Account ) on the device.
- [C-0-4] MUST NOT share such data with other OS components that don't follow requirements outlined in the current section (9.8.17 Privacy-preserving Telemetry).
- [C-0-5] MUST provide a user affordance to enable/disable privacy-preserving telemetry collection, use, and sharing.
- [C-0-6] MUST provide user affordance to erase such data that the implementation collects if the data is stored in any form on the device. If the user chose to erase the data, MUST remove all data currently stored on the device.
- [C-0-7] MUST disclose underlying privacy-preserving protocol implementation in an open source repository.
- [C-0-8 ]MUST enforce data egress policies in this section to gate collection of data in restricted metric categories defined in StatsLog .
- [C-0-1] MUST be the sole application/implementation on the device and hold the
See revision
Device implementationsIf device implementations have the ability to verify file content on the per-page basis, then they :
[
C-0-3C-2-1 ] support cryptographically verifying file contentagainst a trusted keywithout reading the whole file.[
C-0-4C-2-2 ] MUST NOT allow the read requests on a protected file to succeed when the read contentdo not verify against a trusted keyis not verified per [C-2-1] above .
- [C-2-4] MUST return file checksum in O(1) for enabled files.
See revision
The Android Keystore System allows app developers to store cryptographic keys in a container and use them in cryptographic operations through the KeyChain API or the Keystore API . Device implementations:
- [C-0-3] MUST limit the number of failed primary authentication attempts.
- [C-SR-2] Are STRONGLY RECOMMENDED to implement an upper bound of 20 failed primary authentication attempts and if users consent and opt-in the feature, perform a "Factory Data Reset" after exceeding the limit of failed primary authentication attempts.
If device implementations add or modify the authentication methods to unlock the lock screen if based on a known secret and use a new authentication method to be treated as a secure way to lock the screen, then:
- [C-SR-3] A PIN is STRONGLY RECOMMENDED to have at least 6 digits, or equivalently a 20-bit entropy.
- [C-2-1] A PIN of a length less than 6 digits MUST NOT allow automatic entry without user interaction to avoid revealing the PIN length.
9.11.1. Secure Lock Screen, Authentication and Virtual Devices :
See revision
Device implementations:
- [C-0-1] MUST limit the number of failed primary authentication attempts.
- [C-SR-5] Are STRONGLY RECOMMENDED to implement an upper bound of 20 failed primary authentication attempts and if users consent and opt-in the feature, perform a "Factory Data Reset" after exceeding the limit of failed primary authentication attempts.
If device implementations set a numerical PIN as the recommended primary authentication method, then:
- [C-SR-6] A PIN is STRONGLY RECOMMENDED to have at least 6 digits, or equivalently a 20-bit entropy.
- [C-SR-7] A PIN of a length less than 6 digits is STRONGLY RECOMMENDED NOT to allow automatic entry without user interaction to avoid revealing the PIN length.
If device implementations have a secure lock screen and include one or more trust agent, which implements the
TrustAgentService
System API, they:[C-7-8] The user MUST be challenged for one of the recommended primary authentication (eg: PIN, pattern, password) methods at least once every 72 hours or less unless the safety of the user (eg driver distraction) is of kaygı.If device implementations allow applications to create secondary virtual displays and support associated input events such as via VirtualDeviceManager and the displays are not marked with VIRTUAL_DISPLAY_FLAG_SECURE, they:
[C-13-10] MUST disable installation of apps initiated from virtual devices.9.17. Android Virtualization Framework :
See revision
If the device implements support for the Android Virtualization Framework APIs (
android.system.virtualmachine.*
), the Android host:- [C-1-1] MUST support all the APIs defined by the
android.system.virtualmachine
package. - [C-1-2] MUST NOT modify the Android SELinux and permission model for the management of Protected Virtual Machines (pVM) .
- [C-1-3] MUST NOT modify, omit, or replace the neverallow rules present within the system/sepolicy provided in the upstream Android Open Source Project (AOSP) and the policy MUST compile with all neverallow rules present.
- [C-1-4] MUST only allow platform signed code & privileged apps
MUST NOT allow untrusted code (eg 3p apps)to create and run aProtected Virtual MachinepVM . Note: This might change in future Android releases.
- [C-1-5] MUST NOT allow a
Protected Virtual MachinepVM to execute code that is not part of the factory image or their updates.Anything that is not covered by Android Verified Boot (eg files downloaded from the Internet or sideloaded) MUST NOT be allowed to be run in a Protected Virtual Machine.
- [C-1-5] MUST only allow a non-debuggable pVM to execute code from the factory image or their platform updates which also includes any updates to privileged apps.
If the device implements support for the Android Virtualization Framework APIs (
android.system.virtualmachine.*
), then anyProtected Virtual MachinepVM instance:- [C-2-1] MUST be able to run all operating systems available in the virtualization APEX in a
Protected Virtual MachinepVM . - [C-2-2] MUST NOT allow a
Protected Virtual MachinepVM to run an operating system that is not signed by the device implementor or OS vendor. - [C-2-3] MUST NOT allow a
Protected Virtual MachinepVM to execute data as code (eg SELinux neverallow execmem).
- [C-2-4] MUST NOT modify, omit, or replace the neverallow rules present within the system/sepolicy/microdroid provided in the upstream Android Open Source Project (AOSP).
- [C-2-5] MUST implement
Protected Virtual MachinepVM defense-in-depth mechanisms (eg SELinux for pVMs) even for non-Microdroid operating systems. - [C-2-6] MUST ensure that the pVM fails
firmware refusesto boot ifit cannot verify the initialimages that the VM will run cannot be verified. The verification MUST be done inside the VM. - [C-2-7] MUST ensure that the pVM fails
firmware refusesto boot if the integrity of the instance.img is compromised.
If the device implements support for the Android Virtualization Framework APIs (
android.system.virtualmachine.*
), then the hypervisor:- [C-3-1] MUST ensure that memory pages exclusively owned by a VM (either pVM or host VM) are accessible only to the virtual machine itself or the hypervisor, not by other virtual machines - either protected or non-protected.
MUST NOT allow any pVM to have access to a page belonging to another entity (ie other pVM or hypervisor), unless explicitly shared by the page owner. This includes the host VM. This applies to both CPU and DMA accesses. - [C-3-2] MUST wipe a page after it is used by a pVM and before it is returned to the host (eg the pVM is destroyed).
- [C-
3-3SR-1 ] Is STRONGLY RECOMMENDED to ensureMUST ensurethat that the pVM firmware is loaded and executed prior to any code in a pVM. - [C-3-4] MUST ensure that each VM derives a per-VM secret which
{Boot Certificate Chain (BCC) and Compound Device Identifier (CDIs) provided to a pVM instancecan only be derived by that particular VM instance and changes upon factory reset and OTA.
If the device implements support for the Android Virtualization Framework APIs, then across all areas:
- [C-4-1] MUST NOT provide functionality to a pVM that allows bypassing the Android Security Model.
If the device implements support for the Android Virtualization Framework APIs, then:
- [C-5-1] MUST be capable to support Isolated Compilation but may disable Isolated Compilation feature on the device shipment
of an ART runtime update.
If the device implements support for the Android Virtualization Framework APIs, then for Key Management:
- [C-6-1] MUST root DICE chain at a point that the user cannot modify, even on unlocked devices. (To ensure it cannot be spoofed).
- [C- SR-2
6-2] Is STRONGLY RECOMMENDED to use DICE as the per-VM secret derivation mechanism.MUST do DICE properly ie provide the correct values.
- [C-1-1] MUST support all the APIs defined by the