Android 14
26 มิถุนายน 2024
2. ประเภทอุปกรณ์
-
ดูการแก้ไข
- [7.6.1/H-1-1] ต้องรองรับ ABI เดียวเท่านั้น (64 บิตเท่านั้นหรือ 32 บิตเท่านั้น)
ดูการแก้ไข
เริ่มข้อกำหนดใหม่
หากการใช้งานอุปกรณ์พกพารวมถึงการรองรับ Vulkan จะมีการดำเนินการต่อไปนี้
- [7.1.4.2/H-1-1] ต้องเป็นไปตามข้อกำหนด ที่ระบุไว้ใน โปรไฟล์ Android Baseline 2021
-
ดูการแก้ไข
เริ่มข้อกำหนดใหม่
หากการติดตั้งใช้งานอุปกรณ์นาฬิการองรับ Vulkan จะมีการดำเนินการต่อไปนี้
- [7.1.4.2/W-1-1] ต้องเป็นไปตามข้อกำหนด ที่ระบุไว้ในโปรไฟล์ Android Baseline 2021
-
ดูการแก้ไข
เริ่มข้อกำหนดใหม่
หากการติดตั้งใช้งานอุปกรณ์ Automotive รวมการรองรับ Vulkan จะมีการดำเนินการต่อไปนี้
- [7.1.4.2/A-1-1] ต้องเป็นไปตามข้อกำหนดที่ระบุไว้ในโปรไฟล์ Android Baseline 2021
3. ซอฟต์แวร์
-
สำหรับพารามิเตอร์ ODM_SKU:
ดูการแก้ไข
ค่าของช่องนี้ต้องเข้ารหัสเป็น ASCII แบบ 7 บิต และตรงกับนิพจน์ทั่วไป
^([0-9A-Za-z.,_-]+)$
5. ความเข้ากันได้กับมัลติมีเดีย
5.1.3 รายละเอียดตัวแปลงสัญญาณเสียง
เพิ่มรายละเอียดสำหรับรูปแบบ/ตัวแปลงรหัส Vorbis:
ดูการแก้ไข
การถอดรหัส: รองรับเนื้อหาแบบโมโน, สเตอริโอ, 5.0 และ 5.1 ที่มีอัตราการสุ่มตัวอย่างเป็น 8000, 12000, 16000, 24000 และ 48000 Hz
การเข้ารหัส: รองรับเนื้อหาแบบโมโนและสเตอริโอที่มีอัตราสุ่มเป็น 8000, 0.200 Hz และ 8000, 0400 Hz
7. ความเข้ากันได้ของฮาร์ดแวร์
-
ดูการแก้ไข
- [C-1-13] ต้องเป็นไปตามข้อกำหนดที่ระบุไว้ในโปรไฟล์ Android Baseline 2021
-
การนำ:
ดูการแก้ไข
- ไม่ควรใช้เสียง AOAv2 ที่ระบุในเอกสารประกอบ Android Open Accessory Protocol 2.0 เลิกใช้งานเสียง AOAv2 แล้วตั้งแต่ Android เวอร์ชัน 8.0 (API ระดับ 26)
9. ความเข้ากันได้กับโมเดลความปลอดภัย
-
เรียงลำดับเลข [C-SR-1] ใหม่เป็น [C-SR-7] เพื่อนำเนื้อหาที่ซ้ำกันออกและลบออก [C-SR-8]:
ดูการแก้ไข
[C-SR-1] แนะนำอย่างยิ่งให้เก็บข้อมูลเคอร์เนล ซึ่งเขียนเฉพาะในช่วงเริ่มต้นที่มีการทำเครื่องหมายเป็นอ่านอย่างเดียวหลังจาก การเริ่มต้น (เช่น
__ro_after_init
)[C-SR-2] ขอแนะนำอย่างยิ่งให้สุ่มเลย์เอาต์ของโค้ดเคอร์เนลและหน่วยความจำ และเพื่อหลีกเลี่ยงการรับแสงที่อาจส่งผลต่อการสุ่ม (เช่น
CONFIG_RANDOMIZE_BASE
ที่มีเอนโทรปี Bootloader ผ่าน/chosen/kaslr-seed Device Tree node
หรือEFI_RNG_PROTOCOL
)[C-SR-3] ขอแนะนำอย่างยิ่งให้เปิดใช้ความสมบูรณ์ของโฟลว์การควบคุม (CFI) ในเคอร์เนล เพื่อเสริมการป้องกันการโจมตีโดยใช้โค้ดซ้ำ (เช่น
CONFIG_CFI_CLANG
และCONFIG_SHADOW_CALL_STACK
)[C-SR-4] แนะนำอย่างยิ่งไม่ให้ปิดใช้ Control-Flow Integrity (CFI), Shadow Call Stack (SCS) หรือ Integer Overflow Sanitization (IntSan) บนคอมโพเนนต์ที่เปิดใช้
[C-SR-5] ขอแนะนำอย่างยิ่งให้เปิดใช้ CFI, SCS และ IntSan สำหรับคอมโพเนนต์พื้นที่ผู้ใช้ที่ละเอียดอ่อนด้านความปลอดภัยเพิ่มเติมตามที่อธิบายไว้ใน CFI และ IntSan
[C-SR-6] ขอแนะนำอย่างยิ่งให้เปิดใช้การเริ่มต้นสแต็กในเคอร์เนลเพื่อป้องกันการใช้ตัวแปรภายในที่ไม่ได้กำหนดค่าเริ่มต้น (
CONFIG_INIT_STACK_ALL
หรือCONFIG_INIT_STACK_ALL_ZERO
) นอกจากนี้ การใช้งานอุปกรณ์ไม่ควรคิดค่าที่คอมไพเลอร์ใช้เพื่อเริ่มต้นในเครื่อง[C-SR-7] แนะนำอย่างยิ่งให้เปิดใช้การเริ่มต้นฮีปในเคอร์เนลเพื่อป้องกันการใช้งานการจัดสรรฮีปที่ไม่ได้เริ่มต้น (
CONFIG_INIT_ON_ALLOC_DEFAULT_ON
) และไม่ควรคาดเดาค่าที่เคอร์เนลใช้ในการเริ่มต้นการจัดสรรเหล่านั้น
-
ดูการแก้ไข
- [C-1-6] ต้องรองรับสิ่งใดสิ่งหนึ่งต่อไปนี้
- IKeymasterDevice 3.0
- IKeymasterDevice 4.0
- IKeymasterDevice 4.1
- IKeyMintDevice เวอร์ชัน 1 หรือ
- IKeyMintDevice เวอร์ชัน 2
- [C-1-6] ต้องรองรับสิ่งใดสิ่งหนึ่งต่อไปนี้
9.11.1 การล็อกหน้าจอที่ปลอดภัย การตรวจสอบสิทธิ์ และอุปกรณ์เสมือน
ดูการแก้ไข
- [C-8-3] ต้องไม่เปิดเผย API สำหรับแอปของบุคคลที่สามเพื่อเปลี่ยนสถานะการล็อก
ดูการแก้ไข
- [C-12-4] ต้องโทรหา
TrustManagerService.revokeTrust()
- หลังจากผ่านไปไม่เกิน 24 ชั่วโมงนับจากที่ให้สิทธิ์ หรือ
- หลังจากไม่มีการใช้งานนาน 8 ชั่วโมง หรือ
- หากการติดตั้งใช้งานไม่ได้ใช้ความปลอดภัยแบบเข้ารหัสและมีช่วงที่ถูกต้องตามที่กำหนดไว้ใน [C-12-5] เมื่อการเชื่อมต่อพื้นฐานกับอุปกรณ์จริงที่ใกล้เคียงกันสูญหาย
- [C-12-5] การใช้งานที่อาศัยระยะที่ปลอดภัยและถูกต้องเพื่อให้เป็นไปตามข้อกำหนดของ [C-12-4] ต้องใช้โซลูชันข้อใดข้อหนึ่งต่อไปนี้
- การติดตั้งใช้งานโดยใช้ UWB
- ต้องเป็นไปตามข้อกำหนด การรับรอง ความถูกต้อง และข้อกำหนดการปรับเทียบสำหรับ UWB ที่อธิบายไว้ใน 7.4.9
- ต้องใช้โหมดความปลอดภัย P-STS โหมดใดโหมดหนึ่งที่ระบุไว้ใน 7.4.9
- การติดตั้งใช้งานโดยใช้ Wi-Fi Neighborhood Networking (NAN)
- ต้องเป็นไปตามข้อกำหนดด้านความแม่นยำใน 2.2.1 [7.4.2.5/H-SR-1] ใช้แบนด์วิดท์ 160 MHz (หรือสูงกว่า) และทำตามขั้นตอนการตั้งค่าการวัดที่ระบุไว้ในการปรับเทียบสถานที่ตั้ง
- ต้องใช้ LTF ที่ปลอดภัยตามที่ระบุไว้ใน IEEE 802.11az
- การติดตั้งใช้งานโดยใช้ UWB
8 เมษายน 2024
2. ประเภทอุปกรณ์
-
ดูการแก้ไข
เริ่มข้อกำหนดใหม่
หากการใช้งานอุปกรณ์พกพาประกาศเป็น
FEATURE_BLUETOOTH_LE
สิ่งที่จะเกิดขึ้นมีดังนี้- [7.4.3/H-1-3] ต้องวัดและชดเชยค่าออฟเซ็ต Rx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -50dBm +/-15 dB ที่ระยะห่าง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งที่
ADVERTISE_TX_POWER_HIGH
- [7.4.3/H-1-4] ต้องวัดและชดเชยค่าออฟเซ็ต Tx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -50dBm +/-15 dB เมื่อสแกนจากอุปกรณ์อ้างอิงที่อยู่ในตำแหน่งระยะ 1 เมตรและส่งสัญญาณที่
ADVERTISE_TX_POWER_HIGH
- [7.4.3/H-1-3] ต้องวัดและชดเชยค่าออฟเซ็ต Rx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -50dBm +/-15 dB ที่ระยะห่าง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งที่
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพารองรับ System API
HotwordDetectionService
หรือกลไกอื่นสำหรับการตรวจหาคำสั่งให้ดำเนินการโดยไม่มีสัญญาณการเข้าถึงไมค์ ระบบจะดำเนินการดังต่อไปนี้- [9.8/H-1-6] ต้องไม่ส่งข้อมูลเกิน 100 ไบต์ออกจากบริการตรวจจับคำสั่งให้ดำเนินการในผลลัพธ์คำสั่งที่ประสบความสำเร็จแต่ละรายการ ยกเว้นข้อมูลเสียงที่ส่งผ่าน HotwordAudioStream
ดูการแก้ไข
เปลี่ยน [9.8/H-1-13] เป็น
- [9.8/H-SR-3] ขอแนะนำอย่างยิ่งให้รีสตาร์ทกระบวนการที่โฮสต์บริการตรวจจับคำสั่งลัดอย่างน้อย 1 ครั้งทุกชั่วโมงหรือทุก 30 เหตุการณ์ทริกเกอร์ฮาร์ดแวร์ ขึ้นอยู่กับว่ากรณีใดจะเกิดขึ้นก่อน
ดูการแก้ไข
นำข้อกำหนด [9.8.2/H-4-3], [9.8.2/H-4-4], [9.8.2/H-5-3] ออก
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพาแสดงผล
android.os.Build.VERSION_CODES.U
สำหรับandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
ระบบจะดำเนินการดังต่อไปนี้- [7.5/H-1-3] ต้องรองรับพร็อพเพอร์ตี้
android.info.supportedHardwareLevel
เป็นFULL
หรือดีกว่าสำหรับกล้องหลักด้านหลัง และLIMITED
หรือดีกว่าสำหรับกล้องหลักหน้า
- [7.5/H-1-3] ต้องรองรับพร็อพเพอร์ตี้
-
ดูการแก้ไข
หากอุปกรณ์ทีวีไม่มีจอแสดงผลในตัว แต่รองรับจอแสดงผลภายนอกที่เชื่อมต่อผ่าน HDMI แทน ระบบจะดำเนินการดังต่อไปนี้
- [5.8/T-0-1] ต้องตั้งค่าโหมดเอาต์พุต HDMI เป็นความละเอียดสูงสุดสำหรับรูปแบบพิกเซลที่เลือกซึ่งใช้งานได้กับอัตราการรีเฟรช 50 Hz หรือ 60 Hz สำหรับจอแสดงผลภายนอก ขึ้นอยู่กับอัตราการรีเฟรชวิดีโอในภูมิภาคที่ขายอุปกรณ์
ต้องตั้งค่าโหมดเอาต์พุต HDMI ให้เลือกความละเอียดสูงสุดที่รองรับอัตราการรีเฟรช 50 Hz หรือ 60 Hz
- [5.8/T-0-1] ต้องตั้งค่าโหมดเอาต์พุต HDMI เป็นความละเอียดสูงสุดสำหรับรูปแบบพิกเซลที่เลือกซึ่งใช้งานได้กับอัตราการรีเฟรช 50 Hz หรือ 60 Hz สำหรับจอแสดงผลภายนอก ขึ้นอยู่กับอัตราการรีเฟรชวิดีโอในภูมิภาคที่ขายอุปกรณ์
3. ซอฟต์แวร์
-
ดูการแก้ไข
- นำข้อกำหนดออกแล้ว [C-1-9]
5. ความเข้ากันได้กับมัลติมีเดีย
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์ประกาศการรองรับตัวถอดรหัส Dolby Vision ผ่าน
HDR_TYPE_DOLBY_VISION
สิ่งที่จะเกิดขึ้นมีดังนี้- [C-1-3] ต้องตั้งค่ารหัสแทร็กของเลเยอร์ฐานที่เข้ากันได้แบบย้อนหลัง (หากมี) ให้เหมือนกับรหัสแทร็กของเลเยอร์ Dolby Vision แบบรวม
7. ความเข้ากันได้ของฮาร์ดแวร์
7.1.1.1 ขนาดและรูปร่างของหน้าจอ
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รองรับหน้าจอที่กำหนดค่าขนาดได้
UI_MODE_TYPE_NORMAL
และใช้การแสดงผลจริงที่มีมุมโค้งมนในการแสดงผลหน้าจอเหล่านี้ สิ่งที่จะเกิดขึ้นมีดังนี้- [C-1-1] ต้องตรวจสอบว่าการแสดงผลแต่ละรายการเป็นไปตามข้อกำหนดต่อไปนี้อย่างน้อย 1 ข้อ
- เมื่อกล่อง dp ของ
1518 dp x1518 ตรึงอยู่ที่มุมของจอแสดงผลเชิงตรรกะ อย่างน้อย 1 พิกเซลของแต่ละกล่องจะปรากฏบนหน้าจอ
- เมื่อกล่อง dp ของ
- [C-1-1] ต้องตรวจสอบว่าการแสดงผลแต่ละรายการเป็นไปตามข้อกำหนดต่อไปนี้อย่างน้อย 1 ข้อ
-
ดูการแก้ไข
คืนสถานะข้อกำหนดต่อไปนี้
การใช้งานอุปกรณ์จะประกาศ
FEATURE_BLUETOOTH_LE
ดังต่อไปนี้[C-SR-2] ขอแนะนำอย่างยิ่งให้วัดและชดเชยออฟเซ็ต Rx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -60dBm +/-10 dB ที่ระยะห่าง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งสัญญาณที่
ADVERTISE_TX_POWER_HIGH
โดยที่อุปกรณ์อยู่ในแนว "ระนาบคู่ขนาน" โดยหน้าจอหันไปในทิศทางเดียวกัน[C-SR-3] ขอแนะนำอย่างยิ่งให้วัดและชดเชยออฟเซ็ต Tx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -60dBm +/-10 dB เมื่อสแกนจากอุปกรณ์อ้างอิงที่อยู่ในตำแหน่งระยะ 1 เมตรและส่งที่
ADVERTISE_TX_POWER_HIGH
โดยที่อุปกรณ์อยู่ในทิศทางเดียวกับหน้าจอที่หันหน้าไปทาง "ระนาบคู่ขนาน"
ดูการแก้ไข
ย้ายข้อกำหนด [C-10-3] และ [C-10-4] ไปยัง 2.2.1 ฮาร์ดแวร์
- [C-10-3] ต้องวัดและค่าชดเชย Rx เพื่อให้แน่ใจว่าค่ามัธยฐานของ BLE RSSI คือ -55dBm +/-10 dB ที่ระยะทาง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งที่
ADVERTISE_TX_POWER_HIGH
- [C-10-4] ต้องวัดและชดเชยค่าชดเชย Tx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -55dBm +/-10 dB เมื่อสแกนจากอุปกรณ์อ้างอิงที่อยู่ในตำแหน่งระยะ 1 เมตรและส่งสัญญาณที่
ADVERTISE_TX_POWER_HIGH
20 พฤศจิกายน 2023
2. ประเภทอุปกรณ์
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพาประกาศว่ารองรับ ABI 64 บิต (มีหรือไม่มี ABI แบบ 32 บิต) ให้ทำดังนี้
-
ดูการแก้ไข
- [7.5/H-1-13] ต้องรองรับความสามารถ
LOGICAL_MULTI_CAMERA
สำหรับกล้องหลังหลักหากมีกล้องหลัง RGB มากกว่า 1 ตัว
- [7.5/H-1-13] ต้องรองรับความสามารถ
-
ดูการแก้ไข
[5.8/T-0-1] ต้องตั้งค่าโหมดเอาต์พุต HDMI เป็นความละเอียดสูงสุดสำหรับรูปแบบ SDR หรือ HDR ที่เลือก ซึ่งใช้งานได้กับอัตราการรีเฟรช 50 Hz หรือ 60 Hz สำหรับจอแสดงผลภายนอก
ต้องตั้งค่าโหมดเอาต์พุต HDMI ให้เลือกความละเอียดสูงสุดที่รองรับอัตราการรีเฟรชเป็น 50Hz หรือ 60Hz
-
ดูการแก้ไข
- [9/W-0-1] ต้องประกาศ
android.hardware.security.model.compatible feature
- [9/W-0-1] ต้องประกาศ
6. เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์และความเข้ากันได้ของตัวเลือก
6.1 เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์
ดูการแก้ไข
- [C-0-12] ต้องเขียน
LMK_KILL_OCCURRED_FIELD_NUMBER
Atom ไปยัง
ดูการแก้ไข
- [C-0-13] ต้องใช้คำสั่ง Shell
dumpsys gpu --gpuwork
เพื่อแสดง
- [C-0-12] ต้องเขียน
9. ความเข้ากันได้กับโมเดลความปลอดภัย
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์ใช้เคอร์เนลของ Linux ที่รองรับ SELinux จะ
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์ใช้เคอร์เนลอื่นที่ไม่ใช่ Linux หรือ Linux โดยไม่มี SELinux จะเกิดสิ่งต่อไปนี้
4 ตุลาคม 2023
2. ประเภทอุปกรณ์
-
ดูการแก้ไข
การใช้งานอุปกรณ์ Android จัดว่าเป็นอุปกรณ์พกพาหากเป็นไปตามเกณฑ์ต่อไปนี้ทั้งหมด
- หน้าจอมีขนาดตามจริงในช่วง
4 นิ้ว
3.3 นิ้ว (หรือ 2.5 นิ้วสำหรับการติดตั้งใช้งานอุปกรณ์ซึ่งจัดส่งใน API ระดับ 29 หรือ ก่อนหน้า)ถึง 8 นิ้ว
เริ่มข้อกำหนดใหม่
- มีอินเทอร์เฟซอินพุตแบบหน้าจอสัมผัส
- หน้าจอมีขนาดตามจริงในช่วง
4 นิ้ว
-
ดูการแก้ไข
การใช้งานอุปกรณ์เคลื่อนที่
- [7.1.1.1/H-0-1] ต้องมี
จอแสดงผลที่ใช้ได้กับ Android อย่างน้อย 1 จอที่ตรงตามข้อกำหนดทั้งหมดที่อธิบายไว้ในเอกสารนี้จอแสดงผลที่วัดอย่างน้อย 2.2 นิ้วตามขอบด้านสั้นและ 3.4 นิ้วตามขอบด้านยาว
หากการใช้งานอุปกรณ์พกพารองรับการหมุนหน้าจอซอฟต์แวร์ อุปกรณ์เหล่านั้นจะมีลักษณะดังนี้
- [7.1.1.1/H-1-1]* ต้องทำให้หน้าจอเชิงตรรกะที่พร้อมใช้งานสำหรับแอปพลิเคชันของบุคคลที่สามมีขนาดอย่างน้อย 2 นิ้วสำหรับด้านสั้นและ 2.7 นิ้วสำหรับด้านยาว อุปกรณ์ที่จัดส่ง Android API ระดับ 29 หรือเก่ากว่าอาจได้รับการยกเว้นจากข้อกำหนดนี้
หากการใช้งานอุปกรณ์พกพาไม่รองรับการหมุนหน้าจอซอฟต์แวร์ อุปกรณ์เหล่านั้นจะมีลักษณะดังนี้
- [7.1.1.1/H-2-1]* ต้องทำให้หน้าจอเชิงตรรกะที่พร้อมใช้งานสำหรับแอปพลิเคชันของบุคคลที่สามมีขนาดอย่างน้อย 2.7 นิ้วในด้านขอบสั้นๆ อุปกรณ์ที่จัดส่ง Android API ระดับ 29 หรือเก่ากว่าอาจได้รับการยกเว้นจากข้อกำหนดนี้
เริ่มข้อกำหนดใหม่
[7.1.1.1/H-0-3]* ต้องจับคู่จอแสดงผล
UI_MODE_NORMAL
แต่ละจอที่พร้อมใช้งานสำหรับแอปพลิเคชันของบุคคลที่สามเข้ากับพื้นที่แสดงผลจริงที่ไม่มีสิ่งกีดขวาง ซึ่งมีขนาดอย่างน้อย 2.2 นิ้วที่ขอบสั้น และ 3.4 นิ้วที่ขอบยาว[7.1.1.3/H-0-1]* ต้องตั้งค่า
DENSITY_DEVICE_STABLE
ให้เป็น 92% หรือมากกว่าความหนาแน่นจริงของความหนาแน่น ของจอแสดงผลที่เกี่ยวข้อง
หากการใช้งานอุปกรณ์พกพาประกาศเป็น
android.hardware.audio.output
และandroid.hardware.microphone
สิ่งที่จะเกิดขึ้นมีดังนี้[5.6/H-1-1] ต้องมีค่าตอบสนองช่วงรับส่งข้อมูลเฉลี่ยต่อเนื่องที่ 300 มิลลิวินาทีหรือน้อยกว่าในการวัด 5 ครั้ง โดยมีค่าเบี่ยงเบนเฉลี่ยค่าเบี่ยงเบนน้อยกว่า 30 มิลลิวินาที ในเส้นทางข้อมูลดังต่อไปนี้ "ลำโพงกับไมโครโฟน", อะแดปเตอร์แบบวนกลับ 3.5 มม. (หากรองรับ)
[5.6/H-1-2] ต้องมีเวลาในการตอบสนอง "แตะเพื่อโทนเสียง" โดยเฉลี่ย ที่ 300 มิลลิวินาทีหรือน้อยกว่า สำหรับการวัดค่าระหว่างลำโพงสู่ไมโครโฟนอย่างน้อย 5 ครั้ง
หากการใช้งานอุปกรณ์พกพามีตัวกระตุ้นการโต้ตอบแบบรู้สึกได้อย่างน้อย 1 ตัว สิ่งที่จะเกิดขึ้นมีดังนี้
- [7.10/H]* ไม่ควรใช้ตัวขับเคลื่อนแบบรู้สึกได้ (การสั่น) แบบหมุนศูนย์กลาง (ERM)
- [7.10/H]* ควรใช้ค่าคงที่สาธารณะทั้งหมดสำหรับการโต้ตอบการสัมผัส ใน android.view.HapticFeedbackConstants ซึ่งก็คือ (CLOCK_TICK, CONTEXT_CLICK, KEYBOARD_PRESS, KEYBOARD_RELEASE, KEYUREBOARD_VITUALE,HANDKEYLE_KEY,
- [7.10/H]* ควรใช้ค่าคงที่สาธารณะทั้งหมดสำหรับการโต้ตอบแบบรู้สึกได้ชัดเจน
ใน android.os.VibrationEffect
ได้แก่ (EFFECT_TICK, EFFECT_CLICK, EFFECT_HEAVY_CLICK และ
EFFECT_DOUBLE_CLICK) และ easible Public feasible
ที่สุด
PRIMITIVE_*
constantion ของที่สมบูรณ์ ตัวแปรพื้นฐานเหล่านี้ เช่น LOW_TICK และ SPIN อาจใช้ได้ก็ต่อเมื่อการสั่นรองรับความถี่ได้ค่อนข้างต่ำเท่านั้น - [7.10/H]* ควรปฏิบัติตามคำแนะนำในการแมปค่าคงที่สาธารณะใน android.view.HapticFeedbackConstants กับค่าคงที่ android.os.VibrationEffect ที่แนะนำ พร้อมความสัมพันธ์แอมพลิจูดที่สอดคล้องกัน
- [7.10/H]* ควรปฏิบัติตาม การประเมินคุณภาพ สำหรับ API ของ createOneShot() และ createWaveform()
- [7.10/H]* ควรตรวจสอบว่าผลลัพธ์ของ API สาธารณะ android.os.Vibrator.hasAmplitudeControl() แสดงความสามารถของการสั่นอย่างถูกต้อง
- [7.10/H]* ควรวางตำแหน่งของตัวเปิดใช้งานใกล้กับตำแหน่งที่มักถือหรือสัมผัสอุปกรณ์ด้วยมือ
หากการใช้งานอุปกรณ์พกพามี ตัวดำเนินการทั่วไป 7.10 อย่างน้อย 1 ตัว เงื่อนไขต่อไปนี้
- [7.10/H] ควรวางตำแหน่งของอุปกรณ์เปิดใช้งานใกล้กับตำแหน่งที่มักถือหรือสัมผัสอุปกรณ์ด้วยมือ
- [7.10/H] ควรย้ายตัวดำเนินการการโต้ตอบแบบรู้สึกได้ในแกน X (ซ้าย-ขวา) ของการวางแนว
แนวตั้งตามธรรมชาติของอุปกรณ์
หากการใช้งานอุปกรณ์มือถือมีตัวดำเนินการแบบรู้สึกได้ สำหรับจุดประสงค์ทั่วไป ซึ่งเป็นตัวแอคชูเอเตอร์เชิงเส้นแกน X (LRA) สิ่งที่จะเกิดขึ้นมีดังนี้
- [7.10/H] ความถี่เรโซนาของ LRA ในแกน X ควรต่ำกว่า 200 Hz
- [7.1.1.1/H-0-1] ต้องมี
-
ดูการแก้ไข
การใช้งานอุปกรณ์มือถือต้องรองรับรูปแบบการเข้ารหัสวิดีโอต่อไปนี้ และทำให้รูปแบบดังกล่าวพร้อมใช้งานกับแอปพลิเคชันของบุคคลที่สาม
- [5.2/H-0-3] AV1
การใช้งานอุปกรณ์มือถือต้องรองรับรูปแบบการถอดรหัสวิดีโอต่อไปนี้ และทำให้ใช้งานกับแอปพลิเคชันของบุคคลที่สามได้
- [5.3/H-0-6] AV1
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์รวมถึงคีย์การนำทางฟังก์ชันล่าสุดตามที่อธิบายไว้โดยละเอียดในส่วน 7.2.3 ส่งผลให้อินเทอร์เฟซเปลี่ยนไป
- [3.8.3/H-1-1] ต้องใช้ลักษณะการปักหมุดหน้าจอ และให้เมนูการตั้งค่าแก่ผู้ใช้เพื่อสลับฟีเจอร์
หากการใช้งานอุปกรณ์พกพารวมถึงการรองรับ API ของ
ControlsProviderService
และControl
และอนุญาตให้แอปพลิเคชันของบุคคลที่สามเผยแพร่ระบบควบคุมอุปกรณ์ ระบบจะดำเนินการต่อไปนี้- [3.8.16/H-1-6] การใช้งานอุปกรณ์
ต้องแสดงผลราคาต่อผู้ใช้อย่างถูกต้องดังนี้
- หากอุปกรณ์ตั้งค่า
config_supportsMultiWindow=true
ไว้และแอปประกาศข้อมูลเมตาMETA_DATA_PANEL_ACTIVITY
ในการประกาศControlsProviderService
รวมถึง ComponentName ของกิจกรรมที่ถูกต้อง (ตามที่ API กำหนด) แอปจะต้องฝังกิจกรรมดังกล่าวไว้ในค่าตอบแทนของผู้ใช้นี้ - หากแอปไม่ได้ประกาศข้อมูลเมตา
META_DATA_PANEL_ACTIVITY
แอปจะต้องแสดงผลช่องที่ระบุตามที่ControlsProviderService
API ระบุไว้ รวมถึงช่องที่ระบุโดย Control API
- หากอุปกรณ์ตั้งค่า
- [3.8.16/H-1-7] หากแอปประกาศข้อมูลเมตา
META_DATA_PANEL_ACTIVITY
แอปต้องส่งค่าของการตั้งค่าที่ระบุไว้ใน [3.8.16/H-1-5] โดยใช้EXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS
เมื่อเปิดใช้กิจกรรมที่ฝัง
หากการติดตั้งใช้งานอุปกรณ์ช่วยให้ผู้ใช้โทรออกได้ทุกประเภท
- [7.4.1.2/H-0-1] ต้องประกาศแฟล็กฟีเจอร์
android.software.telecom
- [7.4.1.2/H-0-2] ต้องใช้เฟรมเวิร์กโทรคมนาคม
-
ดูการแก้ไข
การใช้งานอุปกรณ์เคลื่อนที่
- [8.5/H-0-1] ต้องมี
ค่าใช้จ่ายของผู้ใช้
ในเมนูการตั้งค่าเพื่อดูแอปทั้งหมดที่มีบริการที่ทำงานอยู่เบื้องหน้าหรืองานที่เริ่มต้นโดยผู้ใช้ รวมถึงระยะเวลาของบริการแต่ละบริการนับตั้งแต่เริ่มตามที่อธิบายไว้ในเอกสาร SDKและความสามารถในการหยุดแอปที่เรียกใช้บริการที่ทำงานอยู่เบื้องหน้าหรืองานที่เริ่มต้นโดยผู้ใช้- แอปบางแอปอาจได้รับการยกเว้นไม่ต้องถูกหยุดหรือระบุไว้ในราคาของผู้ใช้ตามที่อธิบายไว้ในเอกสาร SDK
- [8.5/H-0-2]ต้องมีค่าใช้จ่ายของผู้ใช้ในการหยุดแอปที่เรียกใช้บริการที่ทำงานอยู่เบื้องหน้าหรืองานที่เริ่มต้นโดยผู้ใช้
- [8.5/H-0-1] ต้องมี
ค่าใช้จ่ายของผู้ใช้
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์ประกาศการรองรับ
android.hardware.telephony
ระบบจะดำเนินการต่อไปนี้- [9.5/H-1-1] ต้องไม่ตั้งค่า
UserManager.isHeadlessSystemUserMode
เป็นtrue
หากการติดตั้งใช้งานอุปกรณ์มีหน้าจอล็อกที่ปลอดภัยและมีเอเจนต์ความน่าเชื่อถืออย่างน้อย 1 รายการ ซึ่งใช้
TrustAgentService
System API อุปกรณ์ดังกล่าวจะทำสิ่งต่อไปนี้- [9.11.1/H-1-1] ต้องตั้งคำถามผู้ใช้สำหรับวิธีการตรวจสอบสิทธิ์หลักที่แนะนำวิธีใดวิธีหนึ่ง (เช่น PIN, รูปแบบ, รหัสผ่าน) บ่อยกว่า 1 ครั้งในทุกๆ 72 ชั่วโมง
หากการใช้งานอุปกรณ์เคลื่อนที่ตั้งค่า
UserManager.isHeadlessSystemUserMode
เป็นtrue
หากการใช้งานอุปกรณ์พกพารองรับ System API
HotwordDetectionService
หรือกลไกอื่นสำหรับการตรวจหาคำสั่งให้ดำเนินการโดยไม่มีสัญญาณการเข้าถึงไมค์ ระบบจะดำเนินการดังต่อไปนี้- [9.8/H-1-1] ต้องตรวจสอบว่าบริการตรวจจับคำที่นิยมส่งข้อมูลไปยังระบบ
ContentCaptureService
หรือบริการจดจำคำพูดในอุปกรณ์ที่สร้างโดยSpeechRecognizer#createOnDeviceSpeechRecognizer()
เท่านั้น - [9.8/H-1-6] ต้องไม่อนุญาตข้อมูลขนาดเกิน 100 ไบต์ (ไม่รวมสตรีมเสียง) ที่จะส่งออกจากบริการตรวจจับคำสั่งให้ดำเนินการในผลลัพธ์คำสั่งลัดแต่ละรายการที่ประสบความสำเร็จ
- [9.8/H-1-15] ต้องตรวจสอบว่าสตรีมเสียงที่ให้ไว้ในผลลัพธ์ของคำที่นิยมที่ประสบความสำเร็จนั้นส่งทางเดียวจากบริการตรวจจับคำสั่งให้ดำเนินการไปยังบริการโต้ตอบด้วยเสียง
หากการใช้งานอุปกรณ์มีแอปพลิเคชันที่ใช้ System API
HotwordDetectionService
หรือกลไกที่คล้ายกันสำหรับการตรวจหาคำสั่งให้ดำเนินการโดยไม่มีสัญญาณบอกสถานะการใช้งานไมค์ แอปพลิเคชันจะดำเนินการดังนี้- [9.8/H-2-3] ต้องไม่ส่งจากบริการตรวจจับคำสั่งให้ดำเนินการ ข้อมูลเสียง ข้อมูลที่นำมาใช้เพื่อสร้างเสียงใหม่ (ทั้งหมดหรือบางส่วน) หรือเนื้อหาเสียงที่ไม่เกี่ยวข้องกับคำสั่งให้ดำเนินการได้ ยกเว้น
ContentCaptureService
หรือบริการจดจำเสียงพูดในอุปกรณ์
หากการใช้งานอุปกรณ์พกพารองรับ System API
VisualQueryDetectionService
หรือกลไกอื่นสำหรับการตรวจหาการค้นหาโดยไม่มีสัญญาณบอกสถานะการเข้าถึงไมค์และ/หรือกล้อง สิ่งที่จะเกิดขึ้นมีดังนี้- [9.8/H-3-1] ต้องตรวจสอบว่าบริการตรวจจับการค้นหาสามารถส่งข้อมูลไปยังระบบ หรือ
ContentCaptureService
หรือบริการจดจำคำพูดในอุปกรณ์เท่านั้น (สร้างโดยSpeechRecognizer#createOnDeviceSpeechRecognizer()
) - [9.8/H-3-2] ต้องไม่อนุญาตให้ส่งข้อมูลเสียงหรือวิดีโอออกจาก
VisualQueryDetectionService
ยกเว้นไปยังContentCaptureService
หรือบริการรู้จำคำพูดในอุปกรณ์ - [9.8/H-3-3] ต้องแสดงการแจ้งเตือนผู้ใช้ใน UI ของระบบเมื่ออุปกรณ์ตรวจพบว่าผู้ใช้มีเจตนาที่จะมีส่วนร่วมกับแอปพลิเคชันผู้ช่วยดิจิทัล (เช่น โดยการตรวจหาบุคคลในบ้านผ่านกล้อง)
- [9.8/H-3-4] ต้องแสดงสัญญาณบอกสถานะไมโครโฟนและแสดงการค้นหาของผู้ใช้ที่ตรวจพบใน UI ทันทีหลังจากที่ตรวจพบการค้นหาของผู้ใช้
- [9.8/H-3-5] ต้องไม่อนุญาตแอปพลิเคชันที่ผู้ใช้ติดตั้งได้เพื่อให้บริการตรวจจับการค้นหาภาพ
- [9.5/H-1-1] ต้องไม่ตั้งค่า
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพาแสดงผล
android.os.Build.VERSION_CODES.T
เป็นเวลาandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
ระบบจะดำเนินการดังต่อไปนี้- ต้องมีคุณสมบัติตรงตามข้อกำหนดเกี่ยวกับสื่อที่ระบุไว้ในส่วน CDD ของ Android 13 ส่วน 2.2.7.1
เริ่มข้อกำหนดใหม่
หากการใช้งานอุปกรณ์พกพาแสดงผลandroid.os.Build.VERSION_CODES.U
สำหรับandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
ระบบจะดำเนินการดังต่อไปนี้- [5.1/H-1-1] ต้องโฆษณาจำนวนเซสชันสูงสุดของตัวถอดรหัสวิดีโอฮาร์ดแวร์
ที่เรียกใช้พร้อมกันในชุดค่าผสมตัวแปลงรหัสใดก็ได้ผ่านเมธอด
CodecCapabilities.getMaxSupportedInstances()
และVideoCapabilities.getSupportedPerformancePoints()
- [5.1/H-1-2] ต้องรองรับเซสชันตัวถอดรหัสวิดีโอฮาร์ดแวร์ 8 บิต (SDR) 6 อินสแตนซ์ (AVC, HEVC, VP9, AV1 ขึ้นไป) ในชุดค่าผสมตัวแปลงรหัสใดๆ ที่ทำงานพร้อมกันกับ 3 เซสชันที่ความละเอียด 1080p AVS และ 3 เซสชันที่ความละเอียด 4k ยกเว้น 30.fps ตัวแปลงรหัส AV1 ต้องรองรับความละเอียด 1080p เท่านั้น แต่ยังต้องรองรับอินสแตนซ์ 6 ตัวที่ 1080p30fps ด้วย
- [5.1/H-1-3] ต้องโฆษณาจำนวนเซสชันสูงสุดของโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์ที่เรียกใช้พร้อมกันได้ในการรวมตัวแปลงรหัสอย่างไรผ่านเมธอด
CodecCapabilities.getMaxSupportedInstances()
และVideoCapabilities.getSupportedPerformancePoints()
- [5.1/H-1-4] ต้องรองรับเซสชันโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์ 8 บิต (SDR) 6 อินสแตนซ์ (AVC, HEVC, VP9, AV1 ขึ้นไป) ในชุดค่าผสมตัวแปลงรหัสใดๆ ที่ทำงานพร้อมกันกับ 4 เซสชันที่ความละเอียด 1080p ที่ความละเอียด 30 fps และ 2 เซสชันที่ความละเอียด 4k AV1.s ยกเว้น AV1.s ตัวแปลงรหัส AV1 ต้องรองรับความละเอียด 1080p เท่านั้น แต่ยังต้องรองรับอินสแตนซ์ 6 ตัวที่ 1080p30fps ด้วย
- [5.1/H-1-5] ต้องโฆษณาจำนวนเซสชันสูงสุดของโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์และ
เซสชันโปรแกรมถอดรหัสที่เรียกใช้พร้อมกันในชุดค่าผสมใดๆ ของตัวแปลงรหัสผ่านเมธอด
CodecCapabilities.getMaxSupportedInstances()
และVideoCapabilities.getSupportedPerformancePoints()
- [5.1/H-1-6] ต้องรองรับตัวถอดรหัสวิดีโอฮาร์ดแวร์ 8 บิต (SDR) 6 อินสแตนซ์ และเซสชันโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์ (AVC, HEVC, VP9, AV1 ขึ้นไป) ในชุดค่าผสมตัวแปลงรหัสใดๆ ที่ทำงานพร้อมกันกับ 3 เซสชันที่ความละเอียด 4K@30fps ความละเอียด (ยกเว้น AV1) โดยไม่เกิน 302 เซสชัน โดยเป็นโปรแกรมเปลี่ยนไฟล์ที่มีความละเอียดไม่เกิน 302 เซสชัน ตัวแปลงรหัส AV1 ต้องรองรับความละเอียด 1080p เท่านั้น แต่ยังต้องรองรับอินสแตนซ์ 6 ตัวที่ 1080p30fps ด้วย
- [5.1/H-1-19] ต้องรองรับตัวถอดรหัสวิดีโอฮาร์ดแวร์ 10 บิต (HDR) 3 อินสแตนซ์และเซสชันโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์ (AVC, HEVC, VP9, AV1 หรือใหม่กว่า) ในชุดค่าผสมตัวแปลงรหัสใดๆ ที่ทำงานพร้อมกันที่ความละเอียด 4K@30fps (ยกเว้นว่า AV1) จะมีการกำหนดค่าไม่เกิน 1A0 ในรูปแบบอินพุต GL0 คุณไม่จำเป็นต้องสร้างข้อมูลเมตา HDR โดยโปรแกรมเปลี่ยนไฟล์หากเข้ารหัสจากแพลตฟอร์ม GL เซสชันตัวแปลงรหัส AV1 จำเป็นต้องรองรับความละเอียด 1080p เท่านั้น แม้ว่าข้อกำหนดนี้ต้องใช้ความละเอียดระดับ 4K ก็ตาม
- [5.1/H-1-7] ต้องมีเวลาในการตอบสนองของการเริ่มต้นตัวแปลงรหัสไม่เกิน 40 มิลลิวินาทีสำหรับเซสชันการเข้ารหัสวิดีโอขนาด 1080p หรือต่ำกว่าสำหรับโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์ทั้งหมดเมื่ออยู่ระหว่างการโหลด "โหลดที่นี่" หมายถึงเซสชันการแปลงวิดีโอเท่านั้นที่มีความละเอียด 1080p ถึง 720p พร้อมกันโดยใช้ตัวแปลงรหัสวิดีโอฮาร์ดแวร์ร่วมกับการเริ่มต้นการบันทึกเสียง 1080p สำหรับตัวแปลงรหัส Dolby Vision เวลาในการตอบสนองการเริ่มต้นของตัวแปลงรหัสต้องไม่เกิน 50 มิลลิวินาที
- [5.1/H-1-8] ต้องมีเวลาในการตอบสนองของการเริ่มต้นตัวแปลงรหัสไม่เกิน 30 มิลลิวินาทีสำหรับเซสชันการเข้ารหัสเสียงที่มีอัตราบิต 128 Kbps หรือต่ำกว่าสำหรับโปรแกรมเปลี่ยนไฟล์เสียงทั้งหมดเมื่ออยู่ระหว่างการโหลด "โหลดที่นี่" หมายถึงเซสชันการแปลงวิดีโอเท่านั้นที่มีความละเอียด 1080p ถึง 720p พร้อมกันโดยใช้ตัวแปลงรหัสวิดีโอฮาร์ดแวร์ร่วมกับการเริ่มต้นการบันทึกเสียง 1080p
- [5.1/H-1-9] ต้องรองรับเซสชันตัวถอดรหัสวิดีโอฮาร์ดแวร์ที่ปลอดภัย 2 อินสแตนซ์ (AVC, HEVC, VP9, AV1 หรือใหม่กว่า) ในชุดค่าผสมตัวแปลงรหัสใดๆ ที่ทำงานพร้อมกันที่ความละเอียด 4K@30 FPS (ยกเว้น AV1) สำหรับเนื้อหา HDR ทั้ง 8 บิต (SDR) และ 10 บิต เซสชันตัวแปลงรหัส AV1 จำเป็นต้องรองรับความละเอียด 1080p เท่านั้น แม้ว่าข้อกำหนดนี้ต้องใช้ความละเอียดระดับ 4K ก็ตาม
- [5.1/H-1-10] ต้องรองรับเซสชันตัวถอดรหัสวิดีโอฮาร์ดแวร์ที่ไม่ปลอดภัย 3 อินสแตนซ์ ร่วมกับเซสชันตัวถอดรหัสวิดีโอฮาร์ดแวร์ที่ปลอดภัย 1 อินสแตนซ์ (ทั้งหมด 4 อินสแตนซ์) (AVC, HEVC, VP9, AV1 หรือใหม่กว่า) ในชุดค่าผสมตัวแปลงรหัสใดๆ ที่ทำงานพร้อมกันกับ 3 เซสชันที่ความละเอียด 4K-secure-0fps สูงสุด 1 เซสชัน ซึ่งจะมีความละเอียด 4K-secure@30 ที่ความละเอียด 1 เซสชันตัวแปลงรหัส AV1 จำเป็นต้องรองรับความละเอียด 1080p เท่านั้น แม้ว่าข้อกำหนดนี้ต้องใช้ความละเอียดระดับ 4K ก็ตาม
- [5.1/H-1-11] ต้องรองรับตัวถอดรหัสที่ปลอดภัยสำหรับฮาร์ดแวร์ AVC, HEVC, VP9 หรือตัวถอดรหัส AV1 ทั้งหมดในอุปกรณ์
- [5.1/H-1-12] ต้องมีเวลาในการตอบสนองของการเริ่มต้นตัวแปลงรหัสไม่เกิน 40 มิลลิวินาทีสำหรับเซสชันการถอดรหัสวิดีโอขนาด 1080p หรือต่ำกว่าสำหรับตัวถอดรหัสวิดีโอฮาร์ดแวร์ทั้งหมดเมื่ออยู่ระหว่างการโหลด "โหลดที่นี่" หมายถึงเซสชันการแปลงวิดีโอเท่านั้นที่มีความละเอียด 1080p ถึง 720p พร้อมกันโดยใช้ตัวแปลงรหัสวิดีโอฮาร์ดแวร์ร่วมกับการเริ่มต้นเล่นวิดีโอเสียง 1080p สำหรับตัวแปลงรหัส Dolby Vision เวลาในการตอบสนองการเริ่มต้นของตัวแปลงรหัสต้องไม่เกิน 50 มิลลิวินาที
- [5.1/H-1-13] ต้องมีเวลาในการตอบสนองของการเริ่มต้นตัวแปลงรหัสไม่เกิน 30 มิลลิวินาทีสำหรับเซสชันการถอดรหัสเสียงที่มีอัตราบิต 128 Kbps หรือต่ำกว่าสำหรับตัวถอดรหัสเสียงทั้งหมดเมื่ออยู่ระหว่างการโหลด "โหลดที่นี่" หมายถึงเซสชันการแปลงวิดีโอเท่านั้นที่มีความละเอียด 1080p ถึง 720p พร้อมกันโดยใช้ตัวแปลงรหัสวิดีโอฮาร์ดแวร์ร่วมกับการเริ่มต้นเล่นเสียง-วิดีโอ 1080p
- [5.1/H-1-14] ต้องรองรับตัวถอดรหัสฮาร์ดแวร์ AV1 Main 10, ระดับ 4.1 และเนื้อฟิล์ม
- [5.1/H-1-15] ต้องมีตัวถอดรหัสวิดีโอฮาร์ดแวร์อย่างน้อย 1 ตัวที่รองรับ 4K60
- [5.1/H-1-16] ต้องมีโปรแกรมเปลี่ยนไฟล์วิดีโอฮาร์ดแวร์อย่างน้อย 1 โปรแกรมที่รองรับ 4K60
- [5.3/H-1-1] ต้องไม่วางเฟรมเกิน 1 เฟรมใน 10 วินาที (นั่นคือ การลดลงของเฟรมน้อยกว่า 0.167 เปอร์เซ็นต์) สำหรับเซสชันวิดีโอความละเอียด 4K 60 fps ระหว่างโหลด
- [5.3/H-1-2] ต้องไม่วางภาพลงมากกว่า 1 เฟรมใน 10 วินาทีระหว่างการเปลี่ยนความละเอียดของวิดีโอในเซสชันวิดีโอ 60 FPS ภายใต้การโหลดสำหรับเซสชัน 4K
- [5.6/H-1-1] ต้องมีเวลาในการตอบสนองของการแตะเพื่อโทนไม่เกิน 80 มิลลิวินาทีเมื่อใช้การทดสอบการแตะเพื่อโทนของ CTS Verifier
- [5.6/H-1-2] ต้องมีเวลาในการตอบสนองของเสียงไป-กลับ 80 มิลลิวินาทีหรือน้อยกว่า สำหรับเส้นทางข้อมูลที่รองรับอย่างน้อย 1 เส้นทาง
- [5.6/H-1-3] ต้องรองรับเสียง >=24 บิตสำหรับเอาต์พุตสเตอริโอผ่านช่องเสียบเสียง 3.5 มม.
หากมีและผ่านเสียง USB หากรองรับผ่านเส้นทางข้อมูลทั้งหมด
สำหรับเวลาในการตอบสนองต่ำและการกำหนดค่าสตรีมมิง สำหรับการกำหนดค่าที่มีเวลาในการตอบสนองต่ำ แอปควรใช้ AAudio ในโหมด Callback ที่มีเวลาในการตอบสนองต่ำ แอปควรใช้ Java AudioTrack สำหรับการกำหนดค่าสตรีมมิง ทั้งสำหรับการกำหนดค่าสตรีมมิงและเวลาในการตอบสนองต่ำ ซิงก์เอาต์พุต HAL ควรยอมรับ
AUDIO_FORMAT_PCM_24_BIT
,AUDIO_FORMAT_PCM_24_BIT_PACKED
,AUDIO_FORMAT_PCM_32_BIT
หรือAUDIO_FORMAT_PCM_FLOAT
สำหรับรูปแบบเอาต์พุตเป้าหมาย - [5.6/H-1-4] ต้องรองรับอุปกรณ์เสียง USB ที่มีช่องสัญญาณ >=4 ช่อง (ตัวควบคุมของดีเจจะใช้สำหรับการแสดงตัวอย่างเพลง)
- [5.6/H-1-5] ต้องรองรับอุปกรณ์ MIDI ที่เป็นไปตามข้อกำหนดของคลาสและประกาศแฟล็กฟีเจอร์ MIDI
- [5.6/H-1-9] ต้องรองรับการผสมช่องเสียงอย่างน้อย 12 ช่อง ซึ่งหมายความว่าคุณสามารถเปิด AudioTrack โดยใช้มาสก์แชนเนล 7.1.4 และมีการแบ่งพื้นที่หรือดาวน์มิกซ์ทุกช่องให้เป็นสเตอริโอได้อย่างเหมาะสม
- [5.6/H-SR] ขอแนะนำอย่างยิ่งให้รองรับช่อง 24 ช่องควบคู่กันไป โดยอย่างน้อยรองรับมาสก์ของช่อง 9.1.6 และ 22.2
- [5.7/H-1-2] ต้องรองรับ
MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL
ที่มีความสามารถในการถอดรหัสเนื้อหาด้านล่าง
ขนาดการสุ่มตัวอย่างขั้นต่ำ 4 MiB จำนวนตัวอย่างย่อยขั้นต่ำ - H264 หรือ HEVC 28 จำนวนตัวอย่างย่อยขั้นต่ำ - VP9 9 จำนวนตัวอย่างย่อยขั้นต่ำ - AV1 288 ขนาดบัฟเฟอร์ของตัวอย่างย่อยขั้นต่ำ 1 MiB ขนาดบัฟเฟอร์คริปโตทั่วไปขั้นต่ำ 500 KiB จํานวนเซสชันที่เกิดขึ้นพร้อมกันขั้นต่ำ 30 จำนวนคีย์ขั้นต่ำต่อเซสชัน 20 จำนวนคีย์ทั้งหมดขั้นต่ำ (เซสชันทั้งหมด) 80 จำนวนคีย์ DRM ทั้งหมดขั้นต่ำ (เซสชันทั้งหมด) 6 ขนาดข้อความ 16 KiB เฟรมที่ถอดรหัสต่อวินาที 60 FPS - [5.1/H-1-17] ต้องมีตัวถอดรหัสรูปภาพฮาร์ดแวร์อย่างน้อย 1 ตัวที่รองรับ AVIF โปรไฟล์พื้นฐาน
- [5.1/H-1-18] ต้องรองรับโปรแกรมเปลี่ยนไฟล์ AV1 ซึ่งเข้ารหัสได้สูงสุดความละเอียด 480p ที่ 30 FPS และ 1 Mbps
[5.12/H-1-1] ต้อง[5.12/H-SR] ขอแนะนำอย่างยิ่งให้รองรับฟีเจอร์Feature_HdrEditing
สำหรับฮาร์ดแวร์เปลี่ยนไฟล์ AV1 และ HEVC ทั้งหมดที่มีในอุปกรณ์- [5.12/H-1-2] ต้องรองรับรูปแบบสี RGBA_1010102 สำหรับฮาร์ดแวร์เปลี่ยนไฟล์ AV1 และ HEVC ทั้งหมดที่มีอยู่ในอุปกรณ์
- [5.12/H-1-3] ต้องโฆษณาการรองรับส่วนขยาย EXT_YUV_target เพื่อสุ่มตัวอย่างจากพื้นผิว YUV ทั้งแบบ 8 และ 10 บิต
- [7.1.4/H-1-1] ต้องมีการวางซ้อนฮาร์ดแวร์อย่างน้อย 6 รายการในเครื่องเขียนฮาร์ดแวร์ (HWC) ของหน่วยประมวลผลข้อมูล (DPU) โดยเครื่องมืออย่างน้อย 2 เครื่องสามารถแสดงเนื้อหาวิดีโอ 10 บิต
หากการใช้งานอุปกรณ์พกพาแสดงผล
android.os.Build.VERSION_CODES.U
สำหรับandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
และมีการรองรับโปรแกรมเปลี่ยนไฟล์ AVC หรือ HEVC ด้วยฮาร์ดแวร์- [5.2/H-2-1] ต้องตรงตามเป้าหมายคุณภาพขั้นต่ำที่กำหนดโดยเส้นโค้งอัตราการบิดเบี้ยวของโปรแกรมเปลี่ยนไฟล์วิดีโอสำหรับตัวแปลงรหัส AVC และ HEVC ของฮาร์ดแวร์ ตามที่ระบุไว้ในเอกสารประกอบที่กำลังจะมาถึง
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพาแสดงผลandroid.os.Build.VERSION_CODES.U
สำหรับandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
ระบบจะดำเนินการดังต่อไปนี้- [7.5/H-1-1] ต้องมีกล้องหลังตัวหลักที่มีความละเอียดอย่างน้อย 12 ล้านพิกเซล ซึ่งรองรับการบันทึกวิดีโอที่ 4k@30fps กล้องหลังตัวหลักคือกล้องหลังที่มีรหัสกล้องต่ำสุด
- [7.5/H-1-2] ต้องมีกล้องหน้าหลักที่มีความละเอียดอย่างน้อย 6 เมกะพิกเซลและรองรับการบันทึกวิดีโอที่ 1080p@30 FPS กล้องหน้าหลักคือกล้องหน้าที่มีรหัสกล้องต่ำสุด
- [7.5/H-1-3] ต้องรองรับพร็อพเพอร์ตี้
android.info.supportedHardwareLevel
เป็น "FULL" หรือดีกว่าสำหรับกล้องหลักทั้ง 2 ตัว - [7.5/H-1-4] ต้องรองรับ
CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
สำหรับกล้องหลักทั้ง 2 ตัว - [7.5/H-1-5] ต้องมีเวลาในการตอบสนองในการจับภาพ Camera2 JPEG < 1,000
900มิลลิวินาที สำหรับความละเอียด 1080p ตามที่วัดโดย PerformanceTest ของกล้อง CTS ภายใต้สภาพแสงของ ITS (3,000 K) สำหรับกล้องหลักทั้ง 2 ตัว - [7.5/H-1-6] ต้องมีเวลาในการตอบสนองเริ่มต้น Camera2 (เปิดกล้องเพื่อดูเฟรมตัวอย่างแรก) < 500 มิลลิวินาทีซึ่งวัดโดยการทดสอบประสิทธิภาพของกล้อง CTS ภายใต้เงื่อนไขแสงของ ITS (3,000 K) สำหรับกล้องหลักทั้ง 2 ตัว
- [7.5/H-1-8] ต้องรองรับ
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_RAW
และandroid.graphics.ImageFormat.RAW_SENSOR
สำหรับกล้องหลังหลัก - [7.5/H-1-9] ต้องมีกล้องหลักที่ด้านหลังที่รองรับความละเอียด 720p หรือ 1080p @ 240fps
- [7.5/H-1-10] ต้องมีขั้นต่ำ ZOOM_RATIO < 1.0 สำหรับกล้องหลักหากมีกล้อง RGB มุมกว้างพิเศษที่หันไปในทิศทางเดียวกัน
- [7.5/H-1-11] ต้องใช้การสตรีมหน้าหลังพร้อมกันในกล้องหลัก
- [7.5/H-1-12] ต้องรองรับ
CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION
สำหรับทั้งกล้องหน้าและกล้องหลังหลัก - [7.5/H-1-13] ต้องรองรับความสามารถ
LOGICAL_MULTI_CAMERA
สำหรับกล้องหลักหากมีกล้อง RGB มากกว่า 1 ตัวที่หันไปในทิศทางเดียวกัน - [7.5/H-1-14] ต้องรองรับความสามารถ
STREAM_USE_CASE
สำหรับทั้งกล้องหน้าและกล้องหลังหลัก - [7.5/H-1-15] ต้องรองรับ
โบเก้และส่วนขยายโหมดกลางคืนผ่านทั้งส่วนขยาย CameraX และ Camera2 สำหรับกล้องหลัก - [7.5/H-1-16] ต้องรองรับความสามารถ DYNAMIC_RANGE_TEN_BIT สำหรับกล้องหลัก
- [7.5/H-1-17] ต้องรองรับ CONTROL_SCENE_MODE_FACE_PRIORITY และการตรวจจับใบหน้า (STATISTICS_FACE_DETECT_MODE_SIMPLE หรือ STATISTICS_FACE_DETECT_MODE_FULL) สำหรับกล้องหลัก
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพาแสดงผลandroid.os.Build.VERSION_CODES.U
สำหรับandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
ระบบจะดำเนินการดังต่อไปนี้- [7.1.1.1/H-2-1] ต้องมีความละเอียดหน้าจออย่างน้อย 1080p
- [7.1.1.3/H-2-1] ต้องมีความหนาแน่นของหน้าจออย่างน้อย 400 dpi
- [7.1.1.3/H-3-1] ต้องมีจอแสดงผล HDR ที่รองรับค่าเฉลี่ยอย่างน้อย 1,000 นิต
- [7.6.1/H-2-1] ต้องมีหน่วยความจำจริงอย่างน้อย 8 GB
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์พกพาแสดงผลandroid.os.Build.VERSION_CODES.U
สำหรับandroid.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
ระบบจะดำเนินการดังต่อไปนี้- [8.2/H-1-1] ต้องตรวจสอบประสิทธิภาพการเขียนตามลำดับอย่างน้อย 150 MB/วินาที
- [8.2/H-1-2] ต้องตรวจสอบประสิทธิภาพการเขียนแบบสุ่มอย่างน้อย 10 MB/วินาที
- [8.2/H-1-3] ต้องมีประสิทธิภาพการอ่านตามลำดับอย่างน้อย 250 MB/วินาที
- [8.2/H-1-4] ต้องตรวจสอบประสิทธิภาพการอ่านแบบสุ่มอย่างน้อย 100 MB/วินาที
- [8.2/H-1-5] ต้องตรวจสอบว่าการอ่านและเขียนตามลำดับพร้อมกันมีประสิทธิภาพการอ่าน 2 เท่าและมีประสิทธิภาพการเขียน 1 เท่าอย่างน้อย 50 MB/วินาที
-
ดูการแก้ไข
การใช้งานอุปกรณ์โทรทัศน์ต้องรองรับรูปแบบการเข้ารหัสวิดีโอต่อไปนี้ และทำให้ใช้งานกับแอปพลิเคชันของบุคคลที่สามได้
- [5.2/T-0-3] AV1
การใช้งานอุปกรณ์ทีวีต้องรองรับรูปแบบการถอดรหัสวิดีโอต่อไปนี้ และทำให้ใช้งานกับแอปพลิเคชันของบุคคลที่สามได้
- [5.3.2/T-0-7] AV1
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์มีหน้าจอล็อกที่ปลอดภัยและมีเอเจนต์ความน่าเชื่อถืออย่างน้อย 1 รายการ ซึ่งใช้
TrustAgentService
System API อุปกรณ์ดังกล่าวจะทำสิ่งต่อไปนี้- [9.11.1/W-1-1] ต้องตั้งคำถามผู้ใช้สำหรับวิธีการตรวจสอบสิทธิ์หลักที่แนะนำวิธีใดวิธีหนึ่ง (เช่น PIN, รูปแบบ, รหัสผ่าน) บ่อยกว่า 1 ครั้งในทุกๆ 72 ชั่วโมง
-
ดูการแก้ไข
หากการติดตั้งอุปกรณ์มีการสนับสนุนวิทยุกระจายเสียง AM/FM และแสดงฟังก์ชันการทำงานไปยังแอปพลิเคชันต่างๆ อุปกรณ์เหล่านั้นจะมีลักษณะดังนี้
- [7.4
.10/A-0-1] ต้องประกาศการรองรับFEATURE_BROADCAST_RADIO
กล้องมุมมองภายนอกคือกล้องที่ใช้ถ่ายภาพฉากนอกเหนือการใช้งานอุปกรณ์ เช่น กล้องมองหลัง
การติดตั้งใช้งานอุปกรณ์ในรถยนต์:
- ควรมีกล้องมุมมองภายนอกอย่างน้อย 1 ตัว
หากการใช้งานอุปกรณ์ยานยนต์มีกล้องมองภายนอกสำหรับกล้องดังกล่าว สิ่งที่จะเกิดขึ้นมีดังนี้
- [7.5/A-1-1] ต้องไม่มีกล้องมุมมองภายนอกที่เข้าถึงได้ ผ่าน Android Camera API เว้นแต่จะเป็นไปตามข้อกำหนดหลักของกล้อง
- [7.5/A-SR-1] ขอแนะนำว่า อย่าหมุนหรือสะท้อนภาพตัวอย่างจากกล้องในแนวนอน
- [7.5/A-SR-2] ขอแนะนำอย่างยิ่งให้มีความละเอียดอย่างน้อย 1.3 เมกะพิกเซล
- ควรมีฮาร์ดแวร์โฟกัสคงที่หรือ EDOF (ระยะชัดลึกที่ขยาย)
- อาจใช้การโฟกัสอัตโนมัติด้วยฮาร์ดแวร์หรือซอฟต์แวร์การโฟกัสอัตโนมัติในไดรเวอร์กล้อง
หากการใช้งานอุปกรณ์ยานยนต์มีกล้องมุมมองภายนอกอย่างน้อย 1 ตัว และโหลดบริการระบบมุมมองภายนอก (EVS) กล้องจะทำหน้าที่ดังนี้
- [7.5/A-2-1] ต้องไม่หมุนหรือมิเรอร์ในแนวนอนของตัวอย่างกล้อง
การติดตั้งใช้งานอุปกรณ์ในรถยนต์:
- อาจมีกล้องอย่างน้อย 1 ตัวที่พร้อมใช้งานกับแอปพลิเคชันของบุคคลที่สาม
หากการติดตั้งใช้งานอุปกรณ์ในรถยนต์มีกล้องอย่างน้อย 1 ตัว และใช้กับแอปพลิเคชันของบุคคลที่สามได้ อุปกรณ์เหล่านั้นจะมีลักษณะดังนี้
- [7.5/A-3-1] ต้องรายงานแฟล็กฟีเจอร์
android.hardware.camera.any
- [7.5/A-3-2] ต้องไม่ประกาศว่ากล้องเป็นกล้องของระบบ
- อาจรองรับกล้องภายนอกที่อธิบายไว้ในหัวข้อ 7.5.3
- อาจมีฟีเจอร์ (เช่น การโฟกัสอัตโนมัติ ฯลฯ) ที่ใช้ได้กับกล้องหลังตามที่อธิบายไว้ในส่วนที่ 7.5.1
กล้องหลังหมายถึง กล้องที่หันออกทางโลกซึ่งอาจอยู่ในตำแหน่งใดก็ได้บนรถและหันไปด้านนอกห้องโดยสารของรถ กล่าวคือ ภาพที่ถ่ายจากด้านที่ไกลออกไปของตัวถังรถ เช่น กล้องมองหลัง
กล้องหน้าหมายถึง กล้องที่ผู้ใช้หันหน้าไปวางไว้ที่ตำแหน่งใดก็ได้บนรถและหันไปมองภายในห้องโดยสารของรถ ซึ่งก็คือรูปภาพที่ผู้ใช้ใช้ เช่น สำหรับการประชุมทางวิดีโอและแอปพลิเคชันที่คล้ายกัน
การติดตั้งใช้งานอุปกรณ์ในรถยนต์:
- [7.5/A-SR-1] ขอแนะนำอย่างยิ่งให้ใส่กล้องแบบหันออกทางโลกอย่างน้อย 1 ตัว
- อาจมีกล้องที่แสดงต่อผู้ใช้อย่างน้อย 1 ตัว
- [7.5/A-SR-2] ขอแนะนำอย่างยิ่งให้รองรับการสตรีมพร้อมกันของกล้องหลายตัว
หากการใช้งานอุปกรณ์ยานยนต์มีกล้องอย่างน้อย 1 ตัวที่หันหน้าจอได้ 1 ตัวสำหรับกล้องประเภทนี้ สิ่งที่จะเกิดขึ้นมีดังนี้
- [7.5/A-1-1] ต้องปรับทิศทางเพื่อให้ด้านยาวของกล้องอยู่ในแนวเดียวกับระนาบ X-Y ของแกนเซ็นเซอร์ยานยนต์ของ Android
- [7.5/A-SR-3] ขอแนะนำเป็นอย่างยิ่งให้ใช้ฮาร์ดแวร์โฟกัสคงที่หรือฮาร์ดแวร์ EDOF (ระยะชัดลึกที่ขยาย)
- [7.5/A-1-2] ต้องมีกล้องแบบใช้งานทั่วโลกเป็นกล้องหลัก โดยมีรหัสกล้องต่ำสุด
หากการใช้งานอุปกรณ์ยานยนต์มีกล้องอย่างน้อย 1 ตัวที่แสดงต่อผู้ใช้ สำหรับกล้องดังกล่าว
- [7.5/A-2-1] กล้องหลักที่แสดงต่อผู้ใช้ต้องเป็นกล้องที่มีรหัสกล้องต่ำที่สุด
- อาจอยู่ในแนว เพื่อให้ด้านยาวของกล้องอยู่ในแนวเดียวกับระนาบ X-Y ของแกนเซ็นเซอร์ยานยนต์ของ Android
หากการติดตั้งใช้งานอุปกรณ์ Automotive มีกล้องที่เข้าถึงได้ผ่าน
android.hardware.Camera
หรือandroid.hardware.camera2
API ระบบจะดำเนินการดังต่อไปนี้- [7.5/A-3-1] ต้องเป็นไปตามข้อกำหนดหลักของกล้องในส่วน 7.5
หากการใช้งานอุปกรณ์ยานยนต์มีกล้องที่เข้าถึงผ่าน API ของ
android.hardware.Camera
หรือandroid.hardware.camera2
ไม่ได้ สิ่งต่อไปนี้- [7.5/A-4-1] ต้องเข้าถึงได้ผ่านบริการ Extended View System
หากการใช้งานอุปกรณ์ยานยนต์มีกล้องอย่างน้อย 1 ตัวที่เข้าถึงได้ผ่านบริการระบบมุมมองเพิ่มเติม สำหรับกล้องดังกล่าว สิ่งที่จะเกิดขึ้นมีดังนี้
- [7.5/A-5-1] ต้องไม่หมุนหรือสะท้อนภาพตัวอย่างจากกล้องในแนวนอน
- [7.5/A-SR-4] ขอแนะนำอย่างยิ่งให้มีความละเอียดอย่างน้อย 1.3 ล้านพิกเซล
หากการใช้งานอุปกรณ์ในรถยนต์มีกล้องอย่างน้อย 1 ตัวที่เข้าถึงได้ผ่านทางบริการ Extended View System Service และ
android.hardware.Camera
หรือandroid.hardware.Camera2
API กล้องดังกล่าวจะต้องมีคุณสมบัติดังนี้- [7.5/A-6-1] ต้องรายงานรหัสกล้องเดียวกัน
หากการใช้งานอุปกรณ์ยานยนต์มี API กล้องที่เป็นกรรมสิทธิ์ สิ่งที่จะเกิดขึ้นมีดังนี้
- [7.5/A-7-1] ต้องใช้ API กล้องดังกล่าวโดยใช้
android.hardware.camera2
API หรือ Extended View System API
- [7.4
-
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์ในรถยนต์:
- [3.8/A-0-1] ต้องไม่อนุญาตให้ผู้ใช้รองเต็มรูปแบบที่ไม่ใช่ผู้ใช้เบื้องหน้าปัจจุบันสามารถเริ่มต้นกิจกรรมและมีสิทธิ์เข้าถึง UI บนจอแสดงผล
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์ยานยนต์ประกาศ
android.hardware.microphone
สิ่งต่อไปนี้- [9.8.2/A-1-1] ต้องแสดงสัญญาณบอกสถานะไมโครโฟนเมื่อแอปเข้าถึงข้อมูลเสียงจากไมโครโฟน แต่ไม่ใช่เมื่อมีการเข้าถึงไมโครโฟนโดย
HotwordDetectionService
,SOURCE_HOTWORD
,ContentCaptureService
หรือแอปที่มีบทบาทในส่วนที่ 9.1 ด้วยตัวระบุ CDD [C-4-X] เท่านั้น - [9.8.2/A-1-2] ต้องไม่ซ่อนสัญญาณบอกสถานะไมโครโฟนสำหรับแอประบบที่มีอินเทอร์เฟซผู้ใช้ที่มองเห็นได้ หรือการโต้ตอบของผู้ใช้โดยตรง
- [9.8.2/A-1-3] ต้องระบุราคาของผู้ใช้ในการสลับไมโครโฟนในแอปการตั้งค่า
หากการติดตั้งใช้งานอุปกรณ์ยานยนต์ประกาศ
android.hardware.camera.any
สิ่งต่อไปนี้- [9.8.2/A-2-1] ต้องแสดงสัญญาณบอกสถานะกล้องเมื่อแอป
กำลังเข้าถึงข้อมูลกล้องแบบสด แต่ไม่ใช่เมื่อกล้อง
เข้าถึงกล้องเฉพาะในแอปที่มีบทบาทตามที่กำหนดไว้
เรียกใช้ใน ส่วนที่ 9.1 สิทธิ์ ที่มีตัวระบุ CDD [C-4-X][C-3-X]
หากการติดตั้งใช้งานอุปกรณ์มีหน้าจอล็อกที่ปลอดภัยและมีเอเจนต์ความน่าเชื่อถืออย่างน้อย 1 รายการซึ่งใช้
TrustAgentService
System API อุปกรณ์ดังกล่าวจะทำสิ่งต่อไปนี้- [9.11.1/A-1-1] ต้องทดสอบวิธีการตรวจสอบสิทธิ์หลักวิธีหนึ่งที่แนะนำให้กับผู้ใช้ (เช่น PIN, รูปแบบ, รหัสผ่าน) บ่อยกว่า 1 ครั้งในทุกๆ 336 ชั่วโมง
- [9.8.2/A-1-1] ต้องแสดงสัญญาณบอกสถานะไมโครโฟนเมื่อแอปเข้าถึงข้อมูลเสียงจากไมโครโฟน แต่ไม่ใช่เมื่อมีการเข้าถึงไมโครโฟนโดย
3. ซอฟต์แวร์
3.1 ความเข้ากันได้กับ API ที่มีการจัดการ
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์
- [C-0-8] ต้องไม่รองรับการติดตั้งแอปพลิเคชันที่กำหนดเป้าหมายที่ระดับ API ต่ำกว่า 23
3.2.3.5 Intent ของแอปพลิเคชันแบบมีเงื่อนไข
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รายงาน
android.hardware.nfc.uicc
หรือandroid.hardware.nfc.ese
ระบบจะดำเนินการต่อไปนี้- [C-19-1] ต้องใช้ NfcAdapter.ACTION_TRANSACTION_DETECTED Intent API (เป็น “EVT_TRANSACTION” ตามข้อกำหนดทางเทคนิคของการเชื่อมโยง GSM TS.26 - ข้อกำหนดของเครื่องโทรศัพท์ NFC)
3.3.1 อินเทอร์เฟซแบบไบนารีของแอปพลิเคชัน:
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์
- [C-0-12] ต้องส่งออกสัญลักษณ์ฟังก์ชันสำหรับ
Vulkan 1.0หลัก สัญลักษณ์ของฟังก์ชัน Vulkan 1.1 รวมทั้งVK_KHR_surface
,VK_KHR_android_surface
,VK_KHR_swapchain
,VK_KHR_maintenance1
และส่วนขยายVK_KHR_get_physical_device_properties2
ผ่านไลบรารีlibvulkan.so
โปรดทราบว่าแม้สัญลักษณ์ทั้งหมดต้องมีอยู่ ส่วนที่ 7.1.4.2 ได้อธิบายรายละเอียดเพิ่มเติมถึงข้อกำหนดในการติดตั้งใช้งานฟังก์ชันที่เกี่ยวข้องแต่ละรายการอย่างครบถ้วน
- [C-0-12] ต้องส่งออกสัญลักษณ์ฟังก์ชันสำหรับ
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์มีหน้าจอหรือเอาต์พุตวิดีโอ ระบบจะดำเนินการดังต่อไปนี้
- [C-1-5] ต้องสร้างชุดโทนสีแบบไดนามิกโดยใช้รูปแบบธีมสี
ที่แจกแจงไว้ในเอกสารประกอบ
Settings.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
(ดูandroid.theme.customization.theme_styles
) ได้แก่TONAL_SPOT
,VIBRANT
,EXPRESSIVE
,SPRITZ
,RAINBOW
,FRUIT_SALAD
, และMONOCHROMATIC
- [C-1-5] ต้องสร้างชุดโทนสีแบบไดนามิกโดยใช้รูปแบบธีมสี
ที่แจกแจงไว้ในเอกสารประกอบ
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์รวมถึงคีย์การนำทางฟังก์ชันล่าสุดตามที่อธิบายไว้ในส่วนที่ 7.2.3 ส่งผลให้อินเทอร์เฟซเปลี่ยนไป
- [C-1-2] ต้องใช้ลักษณะการตรึงหน้าจอ และให้เมนูการตั้งค่าแก่ผู้ใช้เพื่อสลับฟีเจอร์นี้
3.9.2 การรองรับโปรไฟล์ที่มีการจัดการ:
ดูการแก้ไข
การใช้งานอุปกรณ์จะประกาศ
android.software.managed_users
ดังต่อไปนี้- [C-1-10] ต้องตรวจสอบว่าได้บันทึกข้อมูลภาพหน้าจอไว้ในพื้นที่เก็บข้อมูลของโปรไฟล์งานเมื่อจับภาพหน้าจอด้วยหน้าต่าง
topActivity
ที่มีโฟกัส (อันที่ผู้ใช้โต้ตอบด้วยเป็นลำดับสุดท้ายในทุกกิจกรรม) และเป็นของแอปโปรไฟล์งาน - [C-1-11] ต้องไม่บันทึกเนื้อหาหน้าจออื่นๆ (แถบระบบ การแจ้งเตือน หรือเนื้อหาโปรไฟล์ส่วนตัวใดๆ) ยกเว้นหน้าต่าง/หน้าต่างแอปพลิเคชันโปรไฟล์งาน เมื่อบันทึกภาพหน้าจอลงในโปรไฟล์งาน (เพื่อให้แน่ใจว่าจะไม่มีการบันทึกข้อมูลโปรไฟล์ส่วนตัวในโปรไฟล์งาน)
- [C-1-10] ต้องตรวจสอบว่าได้บันทึกข้อมูลภาพหน้าจอไว้ในพื้นที่เก็บข้อมูลของโปรไฟล์งานเมื่อจับภาพหน้าจอด้วยหน้าต่าง
3.9.5 เฟรมเวิร์กการแก้ปัญหานโยบายด้านอุปกรณ์: ส่วนใหม่
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รายงาน
android.software.device_admin
หรือandroid.software.managed_users
ระบบจะดำเนินการต่อไปนี้- [C-1-1] ต้องแก้ไขความขัดแย้งของนโยบายด้านอุปกรณ์ตามที่ระบุไว้ในเอกสารประกอบของ AOSP
5. ความเข้ากันได้กับมัลติมีเดีย
-
ดูการแก้ไข
การใช้งานอุปกรณ์ต้องรองรับการเข้ารหัสการเข้ารหัสรูปภาพต่อไปนี้
- [C-0-4] AVIF
- อุปกรณ์ต้องรองรับ
BITRATE_MODE_CQ
และโปรไฟล์พื้นฐาน
- อุปกรณ์ต้องรองรับ
- [C-0-4] AVIF
-
ดูการแก้ไข
การใช้งานอุปกรณ์ต้องรองรับการถอดรหัสการเข้ารหัสรูปภาพต่อไปนี้
[C-0-7] AVIF (โปรไฟล์พื้นฐาน)
5.1.6 รายละเอียดตัวแปลงรหัสรูปภาพ
ดูการแก้ไข
รูปแบบ/ตัวแปลงรหัส รายละเอียด รูปแบบไฟล์/รูปแบบคอนเทนเนอร์ที่รองรับ JPEG ฐาน +โพรเกรสซีฟ JPEG (.jpg) GIF GIF (.gif) PNG PNG (.png) BMP BMP (.bmp) WebP WebP (.webp) แบบข้อมูลดิบ ARW (.arw), CR2 (.cr2), DNG (.dng), NEF (.nef), NRW (.nrw), ORF (.orf), PEF (.pef), RAF (.raf), RW2 (.rw2), SRW (.srw) HEIF รูปภาพ คอลเล็กชันรูปภาพ ลำดับรูปภาพ HEIF (.heif), HEIC (.heic) AVIF (โปรไฟล์พื้นฐาน) รูปภาพ คอลเล็กชันรูปภาพ โปรไฟล์ Baseline ของลำดับรูปภาพ คอนเทนเนอร์ HEIF (.avif) -
ดูการแก้ไข
รูปแบบ/ตัวแปลงรหัส รายละเอียด ประเภทไฟล์/รูปแบบคอนเทนเนอร์ที่จะรองรับ H.263 - 3GPP (.3gp)
- MPEG-4 (.mp4)
- Matroska (.mkv, ถอดรหัสเท่านั้น)
H.264 AVC ดูรายละเอียดได้ในส่วนที่ 5.2 และ 5.3 - 3GPP (.3gp)
- MPEG-4 (.mp4)
- MPEG-2 TS (.ts, ไม่สามารถค้นหาได้)
- Matroska (.mkv, ถอดรหัสเท่านั้น)
HEVC ของ H.265 ดูรายละเอียดในส่วนที่ 5.3 - MPEG-4 (.mp4)
- Matroska (.mkv, ถอดรหัสเท่านั้น)
MPEG-2 โปรไฟล์หลัก - MPEG2-TS (.ts, ไม่สามารถค้นหาได้)
- MPEG-4 (.mp4, ถอดรหัสเท่านั้น)
- Matroska (.mkv, ถอดรหัสเท่านั้น)
MPEG-4 SP - 3GPP (.3gp)
- MPEG-4 (.mp4)
- Matroska (.mkv, ถอดรหัสเท่านั้น)
VP8 ดูรายละเอียดได้ในส่วนที่ 5.2 และ 5.3 - WebM (.webm)
- Matroska (.mkv)
VP9 ดูรายละเอียดในส่วนที่ 5.3 - WebM (.webm)
- Matroska (.mkv)
AV1 โปรดดูรายละเอียดในส่วนที่ 5.2 และส่วนที่ 5.3 - MPEG-4 (.mp4)
- Matroska (.mkv, ถอดรหัสเท่านั้น)
5.1.10 การจำแนกลักษณะของตัวแปลงรหัสสื่อ:
ดูการแก้ไข
หากการใช้งานอุปกรณ์รองรับตัวแปลงรหัสวิดีโอ ให้ทำดังนี้
- [C-2-1] ตัวแปลงรหัสวิดีโอทั้งหมดต้องเผยแพร่ข้อมูลอัตราเฟรมที่ทำได้สำหรับขนาดต่อไปนี้ หากตัวแปลงรหัสรองรับ
SD (คุณภาพต่ำ) SD (คุณภาพสูง) HD 720p HD 1080p UHD ความละเอียดของวิดีโอ - 176 x 144 พิกเซล (H263, MPEG2, MPEG4)
- 352 x 288 พิกเซล (โปรแกรมเปลี่ยนไฟล์ MPEG4, H263, MPEG2)
- 320 x 180 พิกเซล (VP8, VP8)
- 320 x 240 พิกเซล (อื่นๆ)
- 704 x 576 พิกเซล (H263)
- 640 x 360 พิกเซล (VP8, VP9)
- 640 x 480 พิกเซล (โปรแกรมเปลี่ยนไฟล์ MPEG4)
- 720 x 480 พิกเซล (อื่นๆ, AV1)
- 1408 x 1152 พิกเซล (H263)
- 1280 x 720 พิกเซล (อื่นๆ, AV1)
1920 x 1080 พิกเซล (นอกเหนือจาก MPEG4, AV1) 3840 x 2160 พิกเซล (HEVC, VP9, AV1) -
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รองรับโปรแกรมเปลี่ยนไฟล์วิดีโอและทำให้แอปของบุคคลที่สามใช้งานได้ การใช้งานจะต้องมีคุณสมบัติดังนี้- ไม่ควรเกิน 15% ของอัตราบิตระหว่างช่วงเวลาภายในเฟรม (I-Frame) บนหน้าต่างเลื่อน 2 หน้าต่าง
- ไม่ควรเกิน 100% ของอัตราบิตในหน้าต่างเลื่อน 1 วินาที
หากการใช้งานอุปกรณ์รองรับโปรแกรมเปลี่ยนไฟล์วิดีโอและพร้อมใช้งานกับแอปของบุคคลที่สาม และตั้งค่า
MediaFormat.KEY_BITRATE_MODE
เป็นBITRATE_MODE_VBR
เพื่อให้โปรแกรมเปลี่ยนไฟล์ทำงานในโหมดอัตราบิตที่ปรับเปลี่ยนได้ ตราบใดที่ไม่ส่งผลกระทบต่อราคาพื้นด้านคุณภาพขั้นต่ำ อัตราบิตที่เข้ารหัสจะเป็นดังนี้[C-5-1] ต้องไม่ควรอยู่ในหน้าต่างเลื่อน 1 หน้าต่าง เกิน 15% ของอัตราบิตระหว่างช่วงเวลาภายในเฟรม (I-frame)[C-5-2] ต้องไม่ควรเกิน 100% ของอัตราบิตในหน้าต่างเลื่อน 1 วินาที
หากการใช้งานอุปกรณ์รองรับโปรแกรมเปลี่ยนไฟล์วิดีโอและทำให้แอปของบุคคลที่สามใช้งานได้ รวมถึงตั้งค่า
MediaFormat.KEY_BITRATE_MODE
เป็นBITRATE_MODE_CBR
เพื่อให้โปรแกรมเปลี่ยนไฟล์ทำงานในโหมดอัตราบิตคงที่ อัตราบิตที่เข้ารหัสจะเป็นดังนี้[C-6-1] ต้อง[C-SR-2] แนะนำอย่างยิ่งให้ อัตราบิตเป้าหมายไม่เกิน 15% ในหน้าต่างเลื่อน 1 วินาที
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์รองรับโปรแกรมเปลี่ยนไฟล์ H.263 และทำให้ใช้งานกับแอปของบุคคลที่สามได้ การดำเนินการดังกล่าวจะส่งผลดังนี้
- [C-1-1] ต้องรองรับความละเอียด QCIF (176 x 144) โดยใช้ Baseline Profile ระดับ 45 คุณจะระบุความละเอียด SQCIF หรือไม่ก็ได้
ควรรองรับอัตราบิตที่กำหนดค่าแบบไดนามิกสำหรับโปรแกรมเปลี่ยนไฟล์ที่รองรับ
-
ดูการแก้ไข
หากอุปกรณ์รองรับตัวแปลงรหัส H.265 อุปกรณ์จะทำงานดังนี้
- [C-1-1] ต้องรองรับโปรไฟล์หลักระดับ 3 สูงสุด 512 x 512
ควรรองรับโปรไฟล์การเข้ารหัส HD ตามที่ระบุไว้ในตารางต่อไปนี้- [C-SR-1] ขอแนะนำอย่างยิ่งให้รองรับโปรไฟล์ SD ขนาด 720 x 480 และโปรไฟล์การเข้ารหัส HD ตามที่ระบุไว้ในตารางต่อไปนี้หากมีโปรแกรมเปลี่ยนไฟล์ฮาร์ดแวร์
5.2.6 AV1: ส่วนใหม่
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รองรับตัวแปลงรหัส AV1 อุปกรณ์เหล่านี้จะมีลักษณะดังนี้
- [C-1-1] ต้องสนับสนุนโปรไฟล์หลัก ซึ่งรวมถึงเนื้อหาแบบ 8 บิตและ 10 บิต
[C-1-2] ต้องเผยแพร่ข้อมูลประสิทธิภาพ เช่น รายงานข้อมูลประสิทธิภาพผ่าน API ของ
getSupportedFrameRatesFor()
หรือgetSupportedPerformancePoints()
สำหรับความละเอียดที่รองรับในตารางด้านล่าง[C-1-3] ต้องยอมรับข้อมูลเมตา HDR และเอาต์พุตไปยังบิตสตรีม
หากโปรแกรมเปลี่ยนไฟล์ AV1 เร่งฮาร์ดแวร์ ระบบจะดำเนินการต่อไปนี้
- [C-2-1] ต้องรองรับและรวมโปรไฟล์การเข้ารหัส HD1080p จากตารางด้านล่าง
SD HD 720p HD 1080p UHD ความละเอียดของวิดีโอ 720 x 480 พิกเซล 1280 x 720 พิกเซล 1920 x 1080 พิกเซล 3840 x 2160 พิกเซล อัตราเฟรมของวิดีโอ 30 fps 30 fps 30 fps 30 fps อัตราบิตของวิดีโอ 5 Mbps 8 Mbps 16 Mbps 50 Mbps -
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รองรับตัวถอดรหัส H.263 สิ่งที่จะเกิดขึ้นมีดังนี้
- [C-1-1] ต้องรองรับความละเอียดระดับ Baseline Profile 30 (ความละเอียด CIF, QCIF และ SQCIF @ 30fps 384kbps) และระดับ 45 (ความละเอียด QCIF และ SQCIF @ 30fps 128kbps)
-
ดูการแก้ไข
หากอุปกรณ์รองรับตัวแปลงรหัส AV1 อุปกรณ์จะทำงานดังนี้- [C-1-1] ต้องรองรับโปรไฟล์ 0 ที่รวมเนื้อหาแบบ 10 บิต
หากการติดตั้งใช้งานอุปกรณ์รองรับตัวแปลงรหัส AV1 และทำให้แอปพลิเคชันของบุคคลที่สามใช้งานได้ ตัวแปลงรหัสจะมีลักษณะดังนี้
- [C-1-1] ต้องสนับสนุนโปรไฟล์หลัก ซึ่งรวมถึงเนื้อหาแบบ 8 บิตและ 10 บิต
หากการติดตั้งใช้งานอุปกรณ์รองรับตัวแปลงรหัส AV1 ที่มีตัวถอดรหัสแบบเร่งฮาร์ดแวร์ ระบบจะดำเนินการต่อไปนี้
- [C-2-1] ต้องถอดรหัสโปรไฟล์การถอดรหัสวิดีโอความละเอียดสูง 720p เป็นอย่างน้อยจากตารางด้านล่างได้เมื่อความสูงที่รายงานโดยเมธอด
Display.getSupportedModes()
เท่ากับหรือมากกว่า 720p - [C-2-2] ต้องถอดรหัสโปรไฟล์การถอดรหัสวิดีโอความละเอียดสูง 1080p เป็นอย่างน้อยจากตารางด้านล่างได้เมื่อความสูงที่รายงานโดยเมธอด
Display.getSupportedModes()
เท่ากับหรือมากกว่า 1080p
SD HD 720p HD 1080p UHD ความละเอียดของวิดีโอ 720 x 480 พิกเซล 1280 x 720 พิกเซล 1920 x 1080 พิกเซล 3840 x 2160 พิกเซล อัตราเฟรมของวิดีโอ 30 fps 30 fps 30 fps 30 fps อัตราบิตของวิดีโอ 5 Mbps 8 Mbps 16 Mbps 50 Mbps หากการติดตั้งใช้งานอุปกรณ์รองรับโปรไฟล์ HDR ผ่าน Media API ระบบจะดำเนินการดังต่อไปนี้
- [C-3-1] ต้องรองรับการดึงและเอาต์พุตข้อมูลเมตา HDR จากบิตสตรีมและ/หรือคอนเทนเนอร์
- [C-3-2] ต้องแสดงเนื้อหา HDR อย่างถูกต้องในหน้าจอของอุปกรณ์หรือบนพอร์ตเอาต์พุตวิดีโอมาตรฐาน (เช่น HDMI)
5.4.2 จับภาพสำหรับการจดจำเสียง:
ดูการแก้ไข
การใช้งานอุปกรณ์จะประกาศ
android.hardware.microphone
ดังต่อไปนี้- ควรตั้งค่าความไวของอินพุตเสียงให้แหล่งสัญญาณเสียงไซนัสโซอิดัล 1000 Hz เล่นที่ระดับความดันเสียง (SPL) 90 dB (วัด
ที่ระยะห่าง 30 ซม.)ข้างๆ ไมโครโฟน) ให้การตอบสนองสัญญาณเสียงในอุดมคติตั้งแต่ 1-5 บิต ต่อไมโครโฟน 1200-2503 สำหรับการรับรู้เสียงแบบ 30 dB และระดับเสียง 30 dB (วัดที่ระยะ 30 ซม.) ข้างๆ ไมโครโฟน) ให้การตอบสนองเสียงในอุดมคติของตัวอย่างเสียง RMS 2503 ถึงระดับ 170bd30 สำหรับตัวอย่างเสียง 170-2503 ในช่วง 17 ดักซ์
- ควรตั้งค่าความไวของอินพุตเสียงให้แหล่งสัญญาณเสียงไซนัสโซอิดัล 1000 Hz เล่นที่ระดับความดันเสียง (SPL) 90 dB (วัด
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์ประกาศฟีเจอร์
android.hardware.audio.output
ระบบจะดำเนินการดังต่อไปนี้- [C-1-4] ต้องรองรับเอฟเฟกต์เสียงที่มี อินพุตและเอาต์พุตจุดลอยตัว
- [C-1-5] ต้องตรวจสอบว่าเอฟเฟกต์เสียงรองรับช่องสัญญาณเสียงหลายช่อง จนถึงจำนวนช่องมิกซ์หรือที่เรียกว่า FCC_LIMIT
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์ประกาศว่า
android.hardware.audio.output
เราขอแนะนำอย่างยิ่งให้ปฏิบัติตามหรือเกินข้อกำหนดต่อไปนี้- [C-SR-4] การประทับเวลาเอาต์พุตที่แสดงผลโดย
AudioTrack.getTimestamp
และ
AAudioStream_getTimestamp
มีความแม่นยำที่ +/- 1 มิลลิวินาที
- [C-SR-4] เวลาในการตอบสนองไป-กลับที่คำนวณตามการประทับเวลา
อินพุตและเอาต์พุตซึ่งแสดงผลโดย
AAudioStream_getTimestamp
ขอแนะนำอย่างหนัก ให้อยู่ภายใน 30 มิลลิวินาทีของเวลาในการตอบสนองไป-กลับที่วัดได้สำหรับAAUDIO_PERFORMANCE_MODE_NONE
และAAUDIO_PERFORMANCE_MODE_LOW_LATENCY
สำหรับลำโพง ชุดหูฟังแบบมีสายและไร้สาย
- [C-SR-4] การประทับเวลาเอาต์พุตที่แสดงผลโดย
AudioTrack.getTimestamp
และ
7. ความเข้ากันได้ของฮาร์ดแวร์
-
ดูการแก้ไข
Android มีหน่วยงานที่ปรับเนื้อหาแอปพลิเคชันและเลย์เอาต์ UI ให้เหมาะสมกับอุปกรณ์โดยอัตโนมัติ เพื่อดูแลให้แอปพลิเคชันของบุคคลที่สามทำงานได้อย่างดีบน
การกำหนดค่าฮาร์ดแวร์ที่หลากหลายหน้าจอและการกำหนดค่าฮาร์ดแวร์ที่หลากหลาย จอแสดงผลที่เข้ากันได้กับ Android คือหน้าจอแสดงผลที่ใช้ลักษณะการทำงานและ API ทั้งหมดที่อธิบายไว้ในนักพัฒนาแอป Android - ภาพรวมความเข้ากันได้ของหน้าจอ ส่วนนี้ (7.1) และส่วนย่อย รวมถึงลักษณะการทำงานเฉพาะเพิ่มเติมของอุปกรณ์ตามที่ระบุไว้ในส่วนที่ 2 ของ CDD นี้ในจอแสดงผลที่เข้ากันได้กับ Android ซึ่งแอปพลิเคชันของบุคคลที่สามที่รองรับ Android ได้ทั้งหมด การติดตั้งใช้งานอุปกรณ์ต้องติดตั้งใช้งาน API และลักษณะการทำงานเหล่านี้อย่างถูกต้องตามรายละเอียดในส่วนนี้เริ่มข้อกำหนดใหม่
การติดตั้งใช้งานอุปกรณ์
- [C-0-1] โดยค่าเริ่มต้น แอปพลิเคชันของบุคคลที่สามต้องแสดงผลบน จอแสดงผลที่รองรับ Android เท่านั้น
หน่วยที่อ้างอิงตามข้อกำหนดในส่วนนี้มีการกำหนดไว้ดังนี้
- ขนาดแนวทแยงมุมจริง ระยะห่างเป็นนิ้วระหว่างมุม 2 ด้านที่ตรงข้ามกันของส่วนที่สว่างของจอแสดงผล
จุดต่อนิ้ว (dpi)ความหนาแน่น จำนวนพิกเซลที่ครอบคลุมโดยช่วงแนวตั้งหรือแนวนอนแบบเชิงเส้น 1 นิ้วซึ่งแสดงเป็นพิกเซลต่อนิ้ว (ppi หรือ dpi) เมื่อมีการแสดงค่าdpippi และ dpi ทั้ง DPI แนวนอนและแนวตั้งจะต้องอยู่ในช่วงที่แสดง- อัตราส่วน อัตราส่วนของพิกเซลด้านที่ยาวกว่ากับขนาดที่สั้นกว่าของหน้าจอ เช่น จอแสดงผลขนาด 480x854 พิกเซล จะมีขนาด 854/480 = 1.779 หรือโดยประมาณเป็น "16:9"
- ความหนาแน่นของพิกเซลอิสระ (dp)
หน่วยพิกเซลเสมือน ได้รับการทำให้เป็นมาตรฐานเป็นหน้าจอ 160 dpiความหนาแน่นของหน้าจอ 160 สำหรับความหนาแน่นบางส่วน d และจำนวนพิกเซล p จำนวนความหนาแน่นของพิกเซลอิสระ dp จะคำนวณเป็นพิกเซล = dps * (ความหนาแน่น/160)dp = (160 / d) * p
7.1.1.1 ขนาดและรูปร่างของหน้าจอ
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รองรับหน้าจอที่รองรับการกำหนดค่าขนาด
UI_MODE_TYPE_NORMAL
และรวมอุปกรณ์ที่เข้ากันได้กับ Androidใช้จอแสดงผลจริงที่มีมุมโค้งมนในการแสดงผลหน้าจอเหล่านี้ สิ่งที่จะเกิดขึ้นมีดังนี้- [C-1-1] ต้องตรวจสอบว่าเป็นไปตามข้อกำหนดต่อไปนี้อย่างน้อย 1 ข้อสำหรับการแสดงผลดังกล่าวแต่ละรายการ
- รัศมีของมุมโค้งน้อยกว่าหรือเท่ากับ 38 dp
เมื่อกล่อง 15 dp x 15 dp ตรึงอยู่ที่มุมของจอแสดงผลเชิงตรรกะแต่ละมุม อย่างน้อย 1 พิกเซลของแต่ละกล่องจะปรากฏบนหน้าจอ
ควรรวมทางเลือกของผู้ใช้ในการเปลี่ยนไปใช้โหมดการแสดงผลด้วยมุมสี่เหลี่ยมผืนผ้า
เริ่มข้อกำหนดใหม่
หากการใช้งานอุปกรณ์สามารถกำหนดค่าแป้นพิมพ์แบบ
NO_KEYS
ได้เท่านั้น และตั้งใจที่จะรายงานการรองรับการกำหนดค่าโหมด UI ของUI_MODE_TYPE_NORMAL
ระบบจะดำเนินการดังต่อไปนี้- [C-4-1] ต้องมีขนาดเลย์เอาต์โดยไม่รวมหน้าจอรอยบากอย่างน้อย 596 dp x 384 dp หรือสูงกว่า
หากการใช้งานอุปกรณ์มีจอแสดงผลที่ใช้งานได้กับ Android ที่พับได้ หรือมีบานพับที่พับได้ระหว่างแผงจอแสดงผลหลายแผงและทำให้จอแสดงผลดังกล่าวพร้อมแสดงผลแอปของบุคคลที่สาม สิ่งที่จะเกิดขึ้นมีดังนี้
- [C-2-1] ต้องใช้ extensions API เวอร์ชันเสถียรล่าสุดที่มีให้ใช้งาน หรือ sidecar API เวอร์ชันเสถียรที่จะใช้โดยไลบรารี Window Manager Jetpack
หากการใช้งานอุปกรณ์รวมถึงจอแสดงผลที่ใช้งานได้กับ Android ซึ่งพับได้หรือมีบานพับที่พับได้ระหว่างแผงจอแสดงผลหลายแผง และหากบานพับหรือพับพาดผ่านหน้าต่างแอปพลิเคชันแบบเต็มหน้าจอ อุปกรณ์เหล่านั้นจะมีลักษณะดังนี้
- [C-3-1] ต้องรายงานตำแหน่ง ขอบเขต และสถานะของบานพับหรือพับผ่าน API ส่วนขยายหรือไฟล์ช่วยเหลือไปยังแอปพลิเคชัน
หากการใช้งานอุปกรณ์มีพื้นที่แสดงผลที่ใช้ได้กับ Android อย่างน้อย 1 พื้นที่ ซึ่งเป็นที่พับได้หรือมีบานพับที่พับได้ระหว่างพื้นที่จอแสดงผลต่างๆ ที่ใช้ร่วมกับ Android ได้ และทำให้พื้นที่แสดงผลดังกล่าวพร้อมใช้งานสำหรับแอปพลิเคชันต่างๆ การดำเนินการต่อไปนี้
- [C-4-1] ต้องใช้ระดับ API ของ Window Manager Extensions เวอร์ชันที่ถูกต้องตามที่อธิบายไว้ในเอกสารที่กำลังจะมาถึง
7.1.1.2 สัดส่วนภาพหน้าจอ: นำออกแล้ว
-
ดูการแก้ไข
การใช้งานอุปกรณ์
- [C-0-1]
โดยค่าเริ่มต้น การใช้งานอุปกรณ์ต้องรายงานเฉพาะความหนาแน่นของเฟรมเวิร์ก Android อย่างใดอย่างหนึ่งที่แสดงอยู่ในDisplayMetrics
ผ่านDENSITY_DEVICE_STABLE
API และค่านี้ต้องเป็นค่าคงที่สำหรับการแสดงผลจริงแต่ละรายการต้องไม่เปลี่ยนแปลง{}10} การแสดงผลเริ่มต้นตามความหนาแน่นของผู้ใช้:อย่างไรก็ตามDisplayMetrics.density
- การใช้งานอุปกรณ์ควรกำหนดความหนาแน่นของเฟรมเวิร์ก Android มาตรฐานที่ใกล้เคียงตัวเลขความหนาแน่นของหน้าจอมากที่สุด เว้นแต่ความหนาแน่นเชิงตรรกะนั้นจะทำให้ขนาดหน้าจอที่รายงานต่ำกว่าค่าต่ำสุดที่รองรับ หากความหนาแน่นของเฟรมเวิร์ก Android มาตรฐานซึ่งใกล้เคียงกับความหนาแน่นจริงมากที่สุดส่งผลให้มีขนาดหน้าจอที่เล็กกว่าขนาดหน้าจอที่เข้ากันได้ซึ่งเล็กที่สุด (ความกว้าง 320 dp) การใช้งานอุปกรณ์ควรรายงานความหนาแน่นของเฟรมเวิร์ก Android มาตรฐานที่ต่ำที่สุดในลำดับถัดไป
เริ่มข้อกำหนดใหม่
- ควรกำหนดความหนาแน่นของเฟรมเวิร์ก Android มาตรฐานที่ใกล้เคียงตัวเลขความหนาแน่นจริงของหน้าจอ หรือค่าที่จะจับคู่กับการวัดค่าขอบเขตการมองเห็นเชิงมุมที่เท่ากันของอุปกรณ์มือถือ
หากการใช้งานอุปกรณ์ทำให้
สามารถเปลี่ยนแปลงขนาดการแสดงผลของอุปกรณ์ได้ สิ่งที่จะเกิดขึ้นมีดังนี้- [C-1-1]
ไม่ต้องปรับขนาดการแสดงผลใดๆต้องไม่ปรับขนาดจอแสดงผล ให้ใหญ่กว่า 1.5 เท่าDENSITY_DEVICE_STABLE
ความหนาแน่นดั้งเดิมหรือสร้างขนาดหน้าจอขั้นต่ำที่มีประสิทธิภาพน้อยกว่า 320dp (เทียบเท่ากับตัวระบุทรัพยากร sw320dp) ขึ้นอยู่กับว่ากรณีใดจะเกิดขึ้นก่อน - [C-1-2]
ไม่ต้องปรับขนาดการแสดงผลต้องไม่ปรับขนาดการแสดงผล ให้เล็กกว่า 0.85 เท่าของความหนาแน่นดั้งเดิมของDENSITY_DEVICE_STABLE
- [C-0-1]
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์รองรับ Vulkan
1.0 ขึ้นไประบบจะดำเนินการดังนี้[C-1-3] ต้องใช้ API
Vulkan 1.0อย่างเต็มรูปแบบ Vulkan 1.1 สำหรับการแจกแจงแต่ละรายการVkPhysicalDevice
[C-1-5] ต้องไม่แจกแจงเลเยอร์ที่มาจากไลบรารีที่อยู่นอกแพ็กเกจแอปพลิเคชัน หรือระบุวิธีอื่นๆ ในการติดตามหรือสกัดกั้น Vulkan API เว้นแต่แอปพลิเคชันจะตั้งค่าแอตทริบิวต์
android:debuggable
เป็นtrue
หรือข้อมูลเมตาcom.android.graphics.injectLayers.enable
ที่ตั้งค่าเป็นtrue
- ควรรองรับ
VkPhysicalDeviceProtectedMemoryFeatures
และVK_EXT_global_priority
- [C-1-13] ต้องเป็นไปตามข้อกำหนดที่ระบุไว้ในโปรไฟล์ Android Baseline 2021
[C-SR-5] แนะนําอย่างยิ่งให้สนับสนุน
VkPhysicalDeviceProtectedMemoryFeatures.protectedMemory
และVK_EXT_global_priority
[C-SR-6] ขอแนะนำอย่างยิ่งให้ใช้
SkiaVk
กับ HWUI
หากการติดตั้งใช้งานอุปกรณ์มีการรองรับ Vulkan 1.1 และประกาศแฟล็กฟีเจอร์ Vulkan ใดๆ ตามที่อธิบายไว้ที่นี่ จะมีการดำเนินการดังนี้
- [C-SR-7] ขอแนะนำอย่างยิ่งให้ทำให้ส่วนขยาย
VK_KHR_external_fence_fd
พร้อมใช้งานสำหรับแอปพลิเคชันของบุคคลที่สาม และช่วยให้แอปพลิเคชันส่งออกเพย์โหลดของรั้วไปยังและนำเข้าเพย์โหลดของรั้วจากตัวอธิบายไฟล์ POSIX ได้ตามที่อธิบายไว้ ที่นี่
-
ดูการแก้ไข
หากอุปกรณ์มีเซ็นเซอร์ไบโอเมตริกหลายตัว ระบบจะดำเนินการต่อไปนี้
[C-7-1] ต้องล็อกข้อมูลไบโอเมตริก (เช่น ระบบปิดใช้ข้อมูลไบโอเมตริกจนกว่าผู้ใช้จะปลดล็อกด้วยการตรวจสอบสิทธิ์หลัก) หรือการล็อกเอาต์แบบกำหนดเวลา (เช่น ระบบปิดใช้ข้อมูลไบโอเมตริกชั่วคราวจนกว่าผู้ใช้จะรอช่วงเวลา) เนื่องจากมีข้อมูลไบโอเมตริกที่ไม่สำเร็จบ่อยเกินไป และก็จะล็อกข้อมูลไบโอเมตริกอื่นๆ ทั้งหมดของคลาสข้อมูลไบโอเมตริกที่ต่ำกว่าด้วย ในกรณีของการล็อกแบบจำกัดเวลา เวลาแบ็คออฟสำหรับการยืนยันข้อมูลไบโอเมตริกจะต้องเป็นเวลา Backoff สูงสุดของข้อมูลไบโอเมตริกทั้งหมดในการล็อกแบบกำหนดเวลา
[C-SR-12] แนะนําอย่างยิ่งเมื่อข้อมูลไบโอเมตริกไม่สามารถล็อกได้ (เช่น ระบบปิดใช้ข้อมูลไบโอเมตริกจนกว่าผู้ใช้จะปลดล็อกด้วยการตรวจสอบสิทธิ์หลัก) หรือการล็อกแบบจำกัดเวลา (เช่น ระบบปิดใช้ข้อมูลไบโอเมตริกชั่วคราวจนกว่าผู้ใช้จะรอในช่วงเวลาหนึ่ง) เนื่องจากมีความพยายามที่ล้มเหลวหลายครั้งเกินไป ทำให้ระบบล็อกข้อมูลไบโอเมตริกอื่นๆ ทั้งหมดออกด้วย ในกรณีที่มีการล็อกการใช้งานตามช่วงเวลา เวลาแบ็คออฟสำหรับการยืนยันข้อมูลไบโอเมตริกจะแนะนำให้เป็นเวลา Backoff สูงสุดของข้อมูลไบโอเมตริกทั้งหมดในการล็อกกรอบเวลา
[C-7-2] ต้องขอให้ผู้ใช้ตรวจสอบสิทธิ์หลักที่แนะนำ (เช่น PIN, รูปแบบ, รหัสผ่าน) เพื่อรีเซ็ตตัวนับการเข้าใช้งานสำหรับข้อมูลไบโอเมตริกที่ถูกล็อก ข้อมูลไบโอเมตริกคลาส 3 อาจได้รับอนุญาตให้รีเซ็ตตัวนับล็อกเอาต์สำหรับข้อมูลไบโอเมตริกที่ล็อกไว้ของคลาสเดียวกันหรือต่ำกว่า ข้อมูลไบโอเมตริกคลาส 2 หรือคลาส 1 ต้องไม่ได้รับอนุญาตให้ดำเนินการล็อกการรีเซ็ตสำหรับข้อมูลไบโอเมตริกใดๆ
หากการใช้งานอุปกรณ์ต้องการให้เซ็นเซอร์ข้อมูลไบโอเมตริกเป็นคลาส 1 (เดิมชื่อความสะดวก) อุปกรณ์ดังกล่าวจะมีลักษณะดังนี้
[C-1-12] ต้องมีอัตราการยอมรับการปลอมแปลงและตัวปลอมสูงกว่า 40% ต่อสปีชีส์ประเภทเครื่องมือโจมตี (PAI) สำหรับการนำเสนอ ตามที่วัดโดย โปรโตคอลการทดสอบไบโอเมตริกของ Android
[C-SR-13] ขอแนะนำเป็นอย่างยิ่งให้มีอัตราการยอมรับการปลอมแปลงและตัวปลอมสูงกว่า 30% ต่อสปีชีส์ประเภทเครื่องมือโจมตี (PAI) สำหรับการนำเสนอ โดยวัดจากโปรโตคอลการทดสอบไบโอเมตริกของ Android
[C-SR-14] ขอแนะนำอย่างยิ่งให้เปิดเผยคลาสข้อมูลไบโอเมตริกของเซ็นเซอร์ไบโอเมตริกและความเสี่ยงที่เกี่ยวข้องในการเปิดใช้เซ็นเซอร์ดังกล่าว
[C-SR-17] แนะนำอย่างยิ่งให้ใช้อินเทอร์เฟซ AIDL ใหม่ (เช่น
IFace.aidl
และIFingerprint.aidl
)
หากการใช้งานอุปกรณ์ต้องการจัดการเซ็นเซอร์ไบโอเมตริกเป็นคลาส 2 (เดิมชื่อไม่รัดกุม) อุปกรณ์ดังกล่าวจะมีลักษณะดังนี้
- [C-SR-15] ขอแนะนำเป็นอย่างยิ่งให้มีอัตราการยอมรับการปลอมแปลงและการปลอมแปลงไม่เกิน 20% ต่อประเภทเครื่องมือโจมตีสำหรับการนำเสนอ (PAI) ตามที่วัดโดยโปรโตคอลการทดสอบไบโอเมตริกของ Android
- [C-2-3] ต้องดำเนินการจับคู่ข้อมูลไบโอเมตริกในสภาพแวดล้อมการดำเนินการแยกต่างหากนอกผู้ใช้ Android หรือพื้นที่เคอร์เนล เช่น สภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE)
หรือบนชิปที่มีช่องทางที่ปลอดภัยไปยังสภาพแวดล้อมการดำเนินการที่แยกต่างหากหรือในเครื่องเสมือนที่มีการป้องกันที่เป็นไปตามข้อกำหนดในส่วนที่ 9.17 - [C-2-4] ต้องมีข้อมูลที่ระบุตัวตนได้ทั้งหมดที่เข้ารหัสและตรวจสอบสิทธิ์แบบเข้ารหัสลับเพื่อที่จะไม่สามารถได้มา อ่าน หรือเปลี่ยนแปลงนอกสภาพแวดล้อมการดำเนินการที่แยกไว้ หรือชิปที่มีช่องทางที่ปลอดภัยสำหรับสภาพแวดล้อมการดำเนินการที่แยกไว้ดังที่ระบุในหลักเกณฑ์การใช้งาน ในเว็บไซต์โปรเจ็กต์โอเพนซอร์ส Android หรือเครื่องเสมือนที่มีการป้องกันซึ่งควบคุมโดย Hypervisor ที่เป็นไปตามข้อกำหนดในส่วนที่ 9.17
- [C-2-5] สำหรับข้อมูลไบโอเมตริกที่ใช้กล้องขณะที่การตรวจสอบสิทธิ์หรือลงทะเบียนด้วยข้อมูลไบโอเมตริก
- ต้องใช้กล้องในโหมดที่ป้องกันไม่ให้อ่านหรือเปลี่ยนแปลงเฟรมกล้องภายนอกสภาพแวดล้อมการดำเนินการที่แยกต่างหาก หรือชิปที่มีช่องทางที่ปลอดภัยในสภาพแวดล้อมการดำเนินการแยกต่างหากหรือเครื่องเสมือนที่มีการป้องกันซึ่งควบคุมโดย Hypervisor ที่เป็นไปตามข้อกำหนดในส่วนที่ 9.17
- สำหรับโซลูชันกล้องเดี่ยว RGB เฟรมกล้องจะอ่านได้นอกสภาพแวดล้อมการดำเนินการที่แยกออกมาเพื่อสนับสนุนการดำเนินการ เช่น การแสดงตัวอย่างสำหรับการลงทะเบียน แต่ต้องไม่สามารถแก้ไขได้
- [C-2-7] ต้องไม่อนุญาตการเข้าถึงข้อมูลไบโอเมตริกที่ระบุตัวตนได้หรือข้อมูลใดก็ตามที่ได้มาจากข้อมูลดังกล่าว (เช่น การฝัง) ไปยังตัวประมวลผลแอปพลิเคชันโดยไม่เข้ารหัส นอกบริบทของ TEE หรือเครื่องเสมือนที่มีการป้องกันที่ควบคุมโดย Hypervisor ซึ่งเป็นไปตามข้อกำหนดในข้อ 9.17 การอัปเกรดอุปกรณ์ที่เปิดตัวใน Android เวอร์ชัน 9 หรือก่อนหน้าจะไม่ได้รับการยกเว้นจาก C-2-7
หากการใช้งานอุปกรณ์ต้องการให้เซ็นเซอร์ข้อมูลไบโอเมตริกเป็นคลาส 3 (เดิมชื่อรัดกุม) อุปกรณ์ดังกล่าวจะมีลักษณะดังนี้
- [C-SR-16] ขอแนะนำเป็นอย่างยิ่งให้มีอัตราการยอมรับการปลอมแปลงและผู้แอบอ้างไม่เกิน 7% ต่อสปีชีส์ประเภทเครื่องมือโจมตี (PAI) สำหรับการนำเสนอ ตามที่วัดโดยโปรโตคอลการทดสอบไบโอเมตริกของ Android
-
ดูการแก้ไข
หากการติดตั้งใช้งานอุปกรณ์มีการรองรับ 802.1.15.4 และแสดงฟังก์ชันดังกล่าวแก่แอปพลิเคชันของบุคคลที่สาม การใช้งานจะมีลักษณะดังนี้
- [C-1-2] ต้องรายงานแฟล็กฟีเจอร์ฮาร์ดแวร์
android.hardware.uwb
- [C-1-3] ต้องรองรับชุดการกำหนดค่าต่อไปนี้ทั้งหมด (ชุดค่าผสมพารามิเตอร์ FIRA UCI ที่กำหนดไว้ล่วงหน้า)
ซึ่งกำหนดไว้ในการใช้งาน AOSP
CONFIG_ID_1
: ช่วง UnicastSTATIC STS DS-TWR
ที่กำหนดโดย FiRa, โหมดหน่วงเวลา ช่วงเวลา 240 มิลลิวินาทีCONFIG_ID_2
: ช่วง 1 ต่อSTATIC STS DS-TWR
ที่ FiRa กำหนด, โหมดหน่วงเวลา, ช่วงเวลา 200 มิลลิวินาที กรณีการใช้งานทั่วไป: สมาร์ทโฟน โต้ตอบกับอุปกรณ์อัจฉริยะจำนวนมากCONFIG_ID_3
: เหมือนกับCONFIG_ID_1
ยกเว้นข้อมูลมุมขาเข้า (AoA)CONFIG_ID_4
: เหมือนกับCONFIG_ID_1
แต่มีการเปิดใช้โหมดความปลอดภัย P-STSCONFIG_ID_5
: เหมือนกับCONFIG_ID_2
แต่มีการเปิดใช้โหมดความปลอดภัย P-STSCONFIG_ID_6
: เหมือนกับCONFIG_ID_3
แต่มีการเปิดใช้โหมดความปลอดภัย P-STSCONFIG_ID_7
: เหมือนกับCONFIG_ID_2
ยกเว้นโหมดคีย์ตัวควบคุมของ P-STS แต่ละรายการเปิดอยู่
- [C-1-4] ต้องระบุค่าบริการเพื่อให้ผู้ใช้สามารถสลับสถานะเปิด/ปิดวิทยุ UWB
- [C-1-5] ต้องบังคับใช้ว่าแอปที่ใช้วิทยุ UWB ถือสิทธิ์
UWB_RANGING
(ภายใต้กลุ่มสิทธิ์NEARBY_DEVICES
)
การผ่านการทดสอบความสอดคล้องและการรับรองที่เกี่ยวข้องที่กำหนดโดยองค์กรมาตรฐาน รวมถึง FIRA, CCC และ CSA ช่วยให้มั่นใจได้ว่า 802.1.15.4 ทำงานได้อย่างถูกต้อง
- [C-1-2] ต้องรายงานแฟล็กฟีเจอร์ฮาร์ดแวร์
-
ดูการแก้ไข
"โทรศัพท์" ตามที่ใช้โดย API ของ Android และเอกสารนี้หมายถึงฮาร์ดแวร์ที่เกี่ยวข้องกับการโทรออกด้วยเสียงและการส่งข้อความ SMS หรือการจัดทำข้อมูลมือถือผ่านระบบมือถือ (เช่น GSM, CDMA, LTE, NR)GSM หรือเครือข่าย CDMA อุปกรณ์ที่รองรับ "โทรศัพท์" อาจเลือกเสนอบริการการโทร การรับส่งข้อความ และข้อมูลบางส่วนหรือทั้งหมดก็ได้ตามความเหมาะสมของผลิตภัณฑ์
ผ่านทางเครือข่าย GSM หรือ CDMA แม้ว่าการโทรด้วยเสียงเหล่านี้อาจมีหรือไม่มีการเปลี่ยนแปลงแบบแพ็กเก็ต แต่ก็มีขึ้นเพื่อวัตถุประสงค์ของ Android ที่ถือว่าไม่เกี่ยวข้องกับการเชื่อมต่อข้อมูลใดๆ ที่อาจเกิดขึ้นโดยใช้เครือข่ายเดียวกัน กล่าวคือ ฟังก์ชันและ API ด้าน "โทรศัพท์" ของ Android หมายถึงการโทรด้วยเสียงและ SMS โดยเฉพาะ เช่น การใช้งานอุปกรณ์ที่โทรออกหรือส่ง/รับข้อความ SMS ไม่ได้จะไม่ถือว่าเป็นอุปกรณ์โทรศัพท์ ไม่ว่าอุปกรณ์จะใช้เครือข่ายมือถือสำหรับการเชื่อมต่อข้อมูลหรือไม่ก็ตาม -
ดูการแก้ไข
หากการใช้งานอุปกรณ์มีการรองรับ 802.11 และมีฟังก์ชันการทำงานนี้แก่แอปพลิเคชันของบุคคลที่สาม ฟังก์ชันดังกล่าวจะส่งผลดังนี้
- [C-1-4] ต้องรองรับ Multicast DNS (mDNS) และต้องไม่กรองแพ็กเก็ต mDNS
(224.0.0.251 or ff02::fb)
ได้ทุกเมื่อที่ต้องการ รวมถึงเมื่อหน้าจอไม่ได้อยู่ในสถานะทำงานอยู่ เว้นแต่ความจำเป็นในการลดหรือกรองแพ็กเก็ตเหล่านี้เพื่อให้อยู่ภายในช่วงข้อกำหนดของตลาดเป้าหมายตามข้อกำหนดด้านการใช้พลังงานเป้าหมาย
สำหรับการใช้งานอุปกรณ์ Android TV แม้ว่าจะอยู่ในสถานะกำลังสแตนด์บาย
- [C-1-4] ต้องรองรับ Multicast DNS (mDNS) และต้องไม่กรองแพ็กเก็ต mDNS
(224.0.0.251 or ff02::fb)
ได้ทุกเมื่อที่ต้องการ รวมถึงเมื่อหน้าจอไม่ได้อยู่ในสถานะทำงานอยู่ เว้นแต่ความจำเป็นในการลดหรือกรองแพ็กเก็ตเหล่านี้เพื่อให้อยู่ภายในช่วงข้อกำหนดของตลาดเป้าหมายตามข้อกำหนดด้านการใช้พลังงานเป้าหมาย
-
ดูการแก้ไข
หากการใช้งานอุปกรณ์ประกาศ FEATURE_BLUETOOTH_LE ระบบจะดำเนินการดังต่อไปนี้
- [C-SR-2] ขอแนะนำอย่างยิ่งให้วัดและชดเชยออฟเซ็ต Rx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -60dBm +/-10 dB ที่ระยะห่าง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งสัญญาณที่
ADVERTISE_TX_POWER_HIGH
โดยที่อุปกรณ์อยู่ในแนว "ระนาบคู่ขนาน" โดยหน้าจอหันไปในทิศทางเดียวกัน - [C-SR-3] ขอแนะนำอย่างยิ่งให้วัดและชดเชยค่าออฟเซ็ต Tx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -60dBm +/-10 dB เมื่อสแกนจากอุปกรณ์อ้างอิงที่อยู่ในตำแหน่งระยะ 1 เมตรและส่งที่
ADVERTISE_TX_POWER_HIGH
โดยที่อุปกรณ์จะอยู่ในทิศทางเดียวกันโดยอยู่ใน "ระนาบคู่ขนาน" เมื่อหน้าจออยู่ในทิศทางเดียวกัน
- [C-10-3] ต้องวัดและค่าชดเชย Rx เพื่อให้แน่ใจว่าค่ามัธยฐานของ BLE RSSI คือ -55dBm +/-10 dB ที่ระยะทาง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งที่
ADVERTISE_TX_POWER_HIGH
- [C-10-4] ต้องวัดและชดเชยค่าชดเชย Tx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -55dBm +/-10 dB เมื่อสแกนจากอุปกรณ์อ้างอิงที่อยู่ในตำแหน่งระยะ 1 เมตรและส่งสัญญาณที่
ADVERTISE_TX_POWER_HIGH
หากอุปกรณ์รองรับบลูทูธเวอร์ชัน 5.0 อุปกรณ์เหล่านั้นจะมีลักษณะดังนี้
- [C-SR-4] ได้รับการแนะนำอย่างยิ่งให้สนับสนุน:
- เล 2 เอ็ม ฟี
- LE Codec PHY
- ส่วนขยายโฆษณา LE
- การโฆษณาตามระยะเวลา
- ชุดโฆษณาอย่างน้อย 10 ชุด
- การเชื่อมต่อพร้อมกันอย่างน้อย 8 LE การเชื่อมต่อแต่ละรายการอาจอยู่ในบทบาท โทโพโลยีการเชื่อมต่ออย่างใดอย่างหนึ่ง
- นโยบายความเป็นส่วนตัวของ LE Link Layer
- ขนาด "รายการที่กำลังแก้ไข" อย่างน้อย 8 รายการ
- [C-SR-2] ขอแนะนำอย่างยิ่งให้วัดและชดเชยออฟเซ็ต Rx เพื่อให้ค่ามัธยฐานของ BLE RSSI เท่ากับ -60dBm +/-10 dB ที่ระยะห่าง 1 เมตรจากอุปกรณ์อ้างอิงที่ส่งสัญญาณที่
-
ดูการแก้ไข
- [C-1-7] ต้องตรวจสอบว่าค่ามัธยฐานของการวัดระยะทางที่ 1 ม. จากอุปกรณ์อ้างอิงอยู่ภายใน [0.75 ม., 1.25 ม.] โดยวัดระยะห่างจากความจริงของพื้นดินจากขอบด้านบนของ DUT
หงายขึ้นและเอียง 45 องศา
- [C-1-7] ต้องตรวจสอบว่าค่ามัธยฐานของการวัดระยะทางที่ 1 ม. จากอุปกรณ์อ้างอิงอยู่ภายใน [0.75 ม., 1.25 ม.] โดยวัดระยะห่างจากความจริงของพื้นดินจากขอบด้านบนของ DUT
-
ดูการแก้ไข
กล้องหลังคือกล้องที่อยู่ด้านข้างอุปกรณ์ตรงข้ามกับจอแสดงผล กล่าวคือจะถ่ายภาพจากมุมอีกด้านหนึ่งของอุปกรณ์เหมือนกับกล้องทั่วไป
กล้องหลังคือกล้องแบบหันออกเมื่อมองโลกซึ่งจะถ่ายฉากที่อยู่อีกด้านหนึ่งของอุปกรณ์เหมือนกล้องทั่วไป ส่วนในอุปกรณ์พกพา ซึ่งก็คือกล้องที่อยู่ด้านข้างของอุปกรณ์ โดยอยู่ฝั่งตรงข้ามกับจอแสดงผล
-
ดูการแก้ไข
กล้องหน้าคือกล้องที่อยู่ด้านเดียวกับจอแสดงผล ซึ่งก็คือกล้องที่มักใช้ถ่ายภาพผู้ใช้ เช่น สำหรับการประชุมทางวิดีโอและแอปพลิเคชันที่คล้ายกัน
กล้องหน้าคือกล้องที่หันหน้าเข้าหาผู้ใช้ซึ่งมักใช้ถ่ายภาพผู้ใช้ เช่น สำหรับการประชุมทางวิดีโอและแอปพลิเคชันที่คล้ายกัน สำหรับอุปกรณ์พกพา ซึ่งก็คือกล้องที่อยู่ด้านเดียวกับจอแสดงผล
-
ดูการแก้ไข
กล้องภายนอก คือกล้องที่ติดตั้งหรือถอดแยกออกจากการใช้งานอุปกรณ์ได้ทุกเมื่อ และหันไปทางใดก็ได้ เช่น กล้อง USB
7.5.4 การทำงานของ API กล้องถ่ายรูป
ดูการแก้ไข
การใช้งานอุปกรณ์ต้องใช้ลักษณะการทำงานต่อไปนี้สำหรับ API ที่เกี่ยวข้องกับกล้องสำหรับกล้องทั้งหมดที่มีอยู่ การติดตั้งใช้งานอุปกรณ์
- [C-SR-1] สำหรับอุปกรณ์ที่มีกล้อง RGB หลายตัวในระยะใกล้และหันไปในทิศทางเดียวกัน ขอแนะนำเป็นอย่างยิ่งให้รองรับอุปกรณ์กล้องที่มีความสามารถในการทำงาน
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
ซึ่งประกอบด้วยกล้อง RGB ทั้งหมดที่หันไปทางทิศทางนั้นเป็นอุปกรณ์ย่อยจริง
- [C-SR-1] สำหรับอุปกรณ์ที่มีกล้อง RGB หลายตัวในระยะใกล้และหันไปในทิศทางเดียวกัน ขอแนะนำเป็นอย่างยิ่งให้รองรับอุปกรณ์กล้องที่มีความสามารถในการทำงาน
-
ดูการแก้ไข
อุปกรณ์ที่มีคุณสมบัติตรงตามเกณฑ์ต่อไปนี้ทั้งหมดจะได้รับการยกเว้นจากข้อกำหนดข้างต้น
- การใช้งานอุปกรณ์ที่ผู้ใช้หมุนเวียนไม่ได้ เช่น อุปกรณ์ยานยนต์
-
ดูการแก้ไข
อุปกรณ์ที่ใช้พกพาหรือสวมใส่อาจรวมถึงตัวดำเนินการแบบรู้สึกได้ที่มีไว้ใช้งานทั่วไป ซึ่งพร้อมใช้งานสำหรับแอปพลิเคชันต่างๆ ซึ่งรวมถึงการดึงดูดความสนใจผ่านเสียงเรียกเข้า การปลุก การแจ้งเตือน ตลอดจนการตอบสนองการแตะทั่วไป
หากการใช้งานอุปกรณ์ไม่มีตัวดำเนินการแบบรู้สึกได้สำหรับวัตถุประสงค์ทั่วไป ระบบจะดำเนินการดังต่อไปนี้
- [7.10/C] ต้องคืนค่า "เท็จ" สำหรับ
Vibrator.hasVibrator()
หากการใช้งานอุปกรณ์มีตัวเปิดใช้การโต้ตอบแบบรู้สึกได้ตามวัตถุประสงค์ทั่วไปอย่างน้อย 1 อย่าง จะมีการดำเนินการต่อไปนี้
- [C-1-1] ต้องแสดงผลเป็น "จริง" สำหรับ
Vibrator.hasVibrator()
- ไม่ควรใช้ตัวดำเนินการแบบรู้สึกได้ (การสั่น) ที่หมุนรอบศูนย์กลาง (ERM)
- ควรใช้ค่าคงที่สาธารณะทั้งหมดสำหรับการโต้ตอบการสัมผัสที่ชัดเจน
ใน
android.view.HapticFeedbackConstants
ซึ่งก็คือ (CLOCK_TICK
,CONTEXT_CLICK
,KEYBOARD_PRESS
,KEYBOARD_RELEASE
,KEYBOARD_TAP
,LONG_PRESS
,TEXT_HANDLE_MOVE
,VIRTUAL_KEY
,VIRTUAL_KEY_RELEASE
,CONFIRM
,REJECT
,GESTURE_START
และGESTURE_END
) - ควรใช้ค่าคงที่สาธารณะทั้งหมดสำหรับการโต้ตอบการสัมผัสที่ชัดเจน
ใน
android.os.VibrationEffect
ซึ่งก็คือ (EFFECT_TICK
,EFFECT_CLICK
,EFFECT_HEAVY_CLICK
และEFFECT_DOUBLE_CLICK
) และค่าคงที่สาธารณะที่เป็นไปได้ทั้งหมดPRIMITIVE_*
สำหรับ การโต้ตอบแบบรู้สึกได้ ในandroid.os.VibrationEffect.Composition
namely (CLICK
, {16/7, {16/7, {16/7}, {16/7/2 }TICK
LOW_TICK
LOW_TICK
QUICK_FALL
QUICK_RISE
SLOW_RISE
SPIN
SPIN
THUD
- ควรปฏิบัติตามคำแนะนำสำหรับการแมปค่าคงที่สาธารณะใน
android.view.HapticFeedbackConstants
กับค่าคงที่android.os.VibrationEffect
ที่แนะนำ พร้อมกับความสัมพันธ์ของแอมพลิจูดที่สอดคล้องกัน - ควรใช้การแมปค่าคงที่แบบรู้สึกได้ที่ลิงก์ไว้เหล่านี้
- ควรปฏิบัติตามการประเมินคุณภาพสำหรับ
createOneShot()
และcreateWaveform()
API - ควรตรวจสอบว่าผลลัพธ์ของ
android.os.Vibrator.hasAmplitudeControl()
API สาธารณะแสดงถึงความสามารถของการสั่นเตือนอย่างถูกต้อง - ควรตรวจสอบความสามารถในการปรับขนาดแอมพลิจูดโดยเรียกใช้
android.os.Vibrator.hasAmplitudeControl()
หากการติดตั้งใช้งานอุปกรณ์เป็นไปตามการแมปค่าคงที่แบบรู้สึกได้ สิ่งที่จะเกิดขึ้นมีดังนี้
- ควรยืนยันสถานะการใช้งานโดยเรียกใช้
android.os.Vibrator.areAllEffectsSupported()
และandroid.os.Vibrator.arePrimitivesSupported()
API - ควรทำการประเมินคุณภาพสำหรับค่าคงที่แบบรู้สึกได้
- ควรตรวจสอบและอัปเดตหากจําเป็นต้องใช้การกําหนดค่าสํารองสําหรับค่าพื้นฐานที่ไม่รองรับ ตามที่อธิบายไว้ในหลักเกณฑ์การใช้งานสําหรับค่าคงที่
- ควรมีการสนับสนุนวิดีโอสำรองเพื่อลดความเสี่ยงของความล้มเหลวตามที่อธิบายไว้ที่นี่
โปรดดูข้อกำหนดเฉพาะอุปกรณ์ในส่วน 2.2.1
- [7.10/C] ต้องคืนค่า "เท็จ" สำหรับ
9. ความเข้ากันได้กับโมเดลความปลอดภัย
-
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์
- [C-0-4] ต้องมีการติดตั้งใช้งานอินเทอร์เฟซผู้ใช้ทั้ง 2 แบบ เพียงรายการเดียวเท่านั้น
หากติดตั้งใช้งานอุปกรณ์ไว้ล่วงหน้า ให้ติดตั้งแพ็กเกจที่มีบทบาท System UI Intelligence, System Ambient Audio Intelligence, System Audio Intelligence, System Notification Intelligence, System Text Intelligence หรือ System Visual Intelligence แพ็กเกจจะมีลักษณะดังนี้
- [C-4-1] ต้องทำตามข้อกำหนดทั้งหมดที่ระบุไว้สำหรับการติดตั้งใช้งานอุปกรณ์ในส่วน
"9.8.6 Content Capture""ข้อมูลระดับระบบปฏิบัติการและข้อมูลแอมเบียนท์ รวมถึง 9.8.15 การติดตั้งใช้งาน API ที่แซนด์บ็อกซ์"
- [C-4-2] ต้องไม่มีสิทธิ์ android.permission.INTERNET ซึ่งจะเข้มงวดกว่า "แนะนำอย่างยิ่ง" ในหัวข้อ 9.8.6
- [C-4-3] ต้องไม่เชื่อมโยงกับแอปอื่นๆ ยกเว้นแอประบบต่อไปนี้ บลูทูธ, รายชื่อติดต่อ, สื่อ, โทรศัพท์, SystemUI และคอมโพเนนต์ที่ให้บริการ Internet API ซึ่งจะเข้มงวดกว่า "แนะนำอย่างยิ่ง" ในหัวข้อ 9.8.6
หากการใช้งานอุปกรณ์มีแอปพลิเคชันเริ่มต้นเพื่อรองรับ
VoiceInteractionService
การใช้งานจะมีลักษณะดังนี้- [C-5-1] ต้องไม่ให้
ACCESS_FINE_LOCATION
เป็นค่าเริ่มต้นสำหรับแอปพลิเคชันนั้น
9.5. การสนับสนุนสำหรับผู้ใช้หลายคน:
ดูการแก้ไข
หากการนำอุปกรณ์ไปใช้งานสร้างโปรไฟล์ผู้ใช้เพิ่มเติมที่กล่าวถึงข้างต้น ระบบจะดำเนินการดังต่อไปนี้
- [C-4-5] ต้องแยกความแตกต่างของไอคอนแอปพลิเคชันแบบอินสแตนซ์คู่ เมื่อแสดงไอคอนต่อผู้ใช้
- [C-4-6] ต้องจัดสรรค่าใช้จ่ายให้กับผู้ใช้ในการลบข้อมูลโปรไฟล์โคลนทั้งหมด
- [C-4-7] ต้องถอนการติดตั้งแอปโคลนทั้งหมด ลบไดเรกทอรีข้อมูลแอปส่วนตัวและเนื้อหาในแอป และลบข้อมูลโปรไฟล์โคลนเมื่อผู้ใช้เลือกที่จะลบข้อมูลโปรไฟล์โคลนทั้งหมด
- ควรแจ้งให้ผู้ใช้ลบข้อมูลโปรไฟล์โคลนทั้งหมดเมื่อมีการลบแอปโคลนรายการสุดท้าย
- [C-4-8] ต้องแจ้งให้ผู้ใช้ทราบว่าระบบจะลบข้อมูลแอปเมื่อถอนการติดตั้งแอปพลิเคชัน การโคลน หรือให้ตัวเลือกกับผู้ใช้ในการเก็บข้อมูลแอป เมื่อถอนการติดตั้งแอปพลิเคชันจากอุปกรณ์แล้ว
- [C-4-9] ต้องลบไดเรกทอรีข้อมูลแอปส่วนตัวและเนื้อหาเมื่อผู้ใช้เลือกลบข้อมูลระหว่างถอนการติดตั้ง
[C-4-1] ต้องอนุญาตให้แอปพลิเคชันของผู้ใช้หลักในอุปกรณ์จัดการ Intent ด้านล่างที่มาจากโปรไฟล์เพิ่มเติม
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] ต้องรับค่าข้อจำกัดทั้งหมดของผู้ใช้นโยบายด้านอุปกรณ์ และข้อจำกัดที่ไม่เกี่ยวข้องกับผู้ใช้ที่เลือกไว้(รายการด้านล่าง) จะมีผลกับผู้ใช้หลักของอุปกรณ์กับโปรไฟล์ผู้ใช้เพิ่มเติมนี้
[C-4-3] ต้องอนุญาตให้เขียนเฉพาะรายชื่อติดต่อจากโปรไฟล์เพิ่มเติมนี้ผ่าน Intent ต่อไปนี้เท่านั้น
[C-4-4] ต้องไม่มีการซิงค์รายชื่อติดต่อสำหรับแอปพลิเคชันที่ทำงานในโปรไฟล์ผู้ใช้เพิ่มเติมนี้
- [C-4-14] ต้องมีสิทธิ์และการจัดการพื้นที่เก็บข้อมูลแยกต่างหาก สำหรับแอปพลิเคชันที่ทำงานในโปรไฟล์เพิ่มเติมนี้
- [C-4-5] ต้องอนุญาตเฉพาะแอปพลิเคชันในโปรไฟล์เพิ่มเติมที่มีกิจกรรม Launcher เพื่อเข้าถึงรายชื่อติดต่อที่โปรไฟล์ผู้ใช้หลักเข้าถึงได้อยู่แล้ว
-
ดูการแก้ไข
เทคโนโลยีความปลอดภัยของหน่วยความจำเป็นเทคโนโลยีที่ช่วยลดข้อบกพร่องในชั้นต่อไปนี้เป็นอย่างน้อย ซึ่งมีความเป็นไปได้สูง (>90%) ในแอปพลิเคชันที่ใช้ตัวเลือกไฟล์ Manifest
android:memtagMode
- ฮีปบัฟเฟอร์ล้น
- ใช้หลังจากฟรี
- ดับเบิลฟรี
- ปราศจาก (ไม่มีมัลแวร์)
การติดตั้งใช้งานอุปกรณ์
- [C-SR-15] แนะนําอย่างยิ่งให้ตั้งค่า
ro.arm64.memtag.bootctl_supported
หากการติดตั้งใช้งานอุปกรณ์ตั้งค่าพร็อพเพอร์ตี้ของระบบ
ro.arm64.memtag.bootctl_supported
เป็น "จริง" จะมีลักษณะดังนี้[C-3-1] ต้องอนุญาตให้พร็อพเพอร์ตี้ของระบบ
arm64.memtag.bootctl
ยอมรับรายการค่าต่อไปนี้ที่คั่นด้วยคอมมา โดยจะมีผลที่ต้องการในการรีบูตครั้งถัดไปmemtag
: เปิดใช้เทคโนโลยีความปลอดภัยของหน่วยความจำตามที่ระบุไว้ข้างต้นแล้วmemtag-once
: เทคโนโลยีความปลอดภัยของหน่วยความจำตามที่ระบุไว้ข้างต้นจะเปิดใช้ชั่วคราวและจะถูกปิดใช้งานโดยอัตโนมัติเมื่อรีบูตครั้งถัดไปmemtag-off
: มีการปิดใช้เทคโนโลยีความปลอดภัยของหน่วยความจำตามที่ระบุไว้ข้างต้น
[C-3-2] ต้องอนุญาตให้ผู้ใช้ Shell ตั้งค่า
arm64.memtag.bootctl
[C-3-3] ต้องอนุญาตให้กระบวนการอ่าน
arm64.memtag.bootctl
ได้[C-3-4] ต้องตั้งค่า
arm64.memtag.bootctl
เป็นสถานะที่ขอในปัจจุบันเมื่อเปิดเครื่อง อุปกรณ์ต้องอัปเดตพร็อพเพอร์ตี้ด้วยหากการใช้งานอุปกรณ์อนุญาตให้แก้ไขสถานะได้โดยไม่ต้องเปลี่ยนคุณสมบัติของระบบ[C-SR-16] ขอแนะนำอย่างยิ่งให้แสดงการตั้งค่าสำหรับนักพัฒนาซอฟต์แวร์ที่ตั้งค่าความทรงจำครั้งเดียวและรีบูตอุปกรณ์ โปรเจ็กต์โอเพนซอร์ส Android มีคุณสมบัติตรงตามความต้องการข้างต้นผ่านโปรโตคอล Bootloader ของ MTE ด้วย Bootloader ที่เข้ากันได้
- [C-SR-17] ขอแนะนำอย่างยิ่งให้แสดงการตั้งค่าในเมนูการตั้งค่าความปลอดภัยที่อนุญาตให้ผู้ใช้เปิดใช้
memtag
-
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์
- [C-0-2] ต้องแสดงคำเตือนของผู้ใช้
และได้รับความยินยอมจากผู้ใช้อย่างชัดแจ้ง โดยให้
เปิดใช้การบันทึกหรือบันทึกหน้าจอซึ่งมีข้อความเดียวกับ AOSP ทุกประการทุกครั้งทุกครั้งที่มีเซสชันในการจับภาพหน้าจอเริ่มหรือบันทึกหน้าจอเริ่มโดยเปิดใช้การบันทึกหน้าจอMediaProjection.createVirtualDisplay()
VirtualDeviceManager.createVirtualDisplay()
ต้องไม่ให้เงินแก่ผู้ใช้ในการปิดใช้การแสดงความยินยอมของผู้ใช้ในอนาคต
[C-SR-1] ขอแนะนำอย่างยิ่งให้แสดงคำเตือนสำหรับผู้ใช้ซึ่งเป็นข้อความเดียวกันกับที่ใช้ใน AOSP แต่สามารถปรับเปลี่ยนได้ตราบใดที่ข้อความเตือนผู้ใช้อย่างชัดเจนว่ามีการบันทึกข้อมูลที่ละเอียดอ่อนบนหน้าจอของผู้ใช้
[C-0-4] ต้องไม่ให้สิทธิ์ในการปิดใช้ข้อความแจ้งในอนาคตแก่ผู้ใช้เพื่อยินยอมให้จับภาพหน้าจอ เว้นแต่เซสชันจะเริ่มต้นโดยแอประบบที่ผู้ใช้อนุญาตให้
associate()
ด้วยโปรไฟล์อุปกรณ์android.app.role.COMPANION_DEVICE_APP_STREAMING
หรือandroid.app.role.COMPANION_DEVICE_NEARBY_DEVICE_STREAMING
- [C-0-2] ต้องแสดงคำเตือนของผู้ใช้
และได้รับความยินยอมจากผู้ใช้อย่างชัดแจ้ง โดยให้
9.8.6 ข้อมูลระดับระบบปฏิบัติการและข้อมูลแอมเบียนท์: ส่วนนี้ได้เปลี่ยนชื่อจากการบันทึกเนื้อหาและการค้นหาแอปเป็นข้อมูลระดับระบบปฏิบัติการและข้อมูลแอมเบียนท์
ดูการแก้ไข
Android ผ่าน System API
สนับสนุนกลไกในการติดตั้งใช้งานอุปกรณ์เพื่อบันทึกContentCaptureService
,AugmentedAutofillService
,AppSearchGlobalManager.query
หรือด้วยวิธีการที่เป็นกรรมสิทธิ์อื่นๆการโต้ตอบของข้อมูลแอปพลิเคชันต่อไปนี้ระหว่างแอปพลิเคชันกับผู้ใช้ข้อมูลที่ละเอียดอ่อนต่อไปนี้- หน้าจอหรือข้อมูลอื่นๆ ที่ส่งผ่าน
AugmentedAutofillService
ไปยังระบบ - หน้าจอหรือข้อมูลอื่นๆ ที่เข้าถึงได้ผ่าน API
Content Capture
- หน้าจอหรือข้อมูลอื่นๆ ที่เข้าถึงได้ผ่าน API ของ
FieldClassificationService
- ข้อมูลแอปพลิเคชันที่ส่งไปยังระบบผ่าน
AppSearchManager
API และเข้าถึงได้ผ่านAppSearchGlobalManager.query
- เหตุการณ์อื่นๆ ที่แอปพลิเคชันมอบให้ระบบผ่าน
Content Capture
API หรือAppSearchManager
API คือ Android และ API ที่เป็นกรรมสิทธิ์และมีความสามารถคล้ายกัน
- ข้อมูลเสียงที่ได้มาจากการใช้
SpeechRecognizer#onDeviceSpeechRecognizer()
จากการใช้โปรแกรมรู้จำคำพูด - ข้อมูลเสียงที่ได้รับในเบื้องหลัง (อย่างต่อเนื่อง) ผ่าน
AudioRecord
,SoundTrigger
หรือ API เสียงอื่นๆ และไม่ส่งผลให้มีสัญญาณบอกสถานะที่ผู้ใช้มองเห็นได้ - ข้อมูลกล้องที่ได้รับในเบื้องหลัง (อย่างต่อเนื่อง) ผ่าน CameraManager หรือ API กล้องอื่นๆ และไม่ได้ส่งผลให้มีสัญญาณบอกสถานะที่ผู้ใช้มองเห็นได้
หากการติดตั้งใช้งานอุปกรณ์บันทึกข้อมูลใดๆ ข้างต้น สิ่งที่จะเกิดขึ้นมีดังนี้
[C-1-3] ต้องส่งข้อมูลดังกล่าวทั้งหมด
และบันทึกออกจากอุปกรณ์โดยใช้กลไกการรักษาความเป็นส่วนตัวยกเว้นกรณีที่ได้รับความยินยอมอย่างชัดแจ้งจากผู้ใช้ทุกครั้งที่มีการแชร์ข้อมูล กลไกการรักษาความเป็นส่วนตัวหมายถึง "เครื่องมือที่อนุญาตให้มีการวิเคราะห์แบบรวมและป้องกันการจับคู่เหตุการณ์ที่บันทึกหรือผลลัพธ์ที่ได้รับกับผู้ใช้แต่ละรายเท่านั้น" เพื่อป้องกันไม่ให้ข้อมูลผู้ใช้แต่ละรายการสามารถตรวจสอบได้ (เช่น มีการใช้งานโดยใช้เทคโนโลยี Differential Privacy เช่นRAPPOR
)[C-1-5] ต้องไม่แชร์ข้อมูลดังกล่าวกับคอมโพเนนต์อื่นๆ ของระบบปฏิบัติการที่ไม่เป็นไปตามข้อกำหนดที่ระบุไว้ในส่วนปัจจุบัน (9.8.6
การบันทึกเนื้อหาข้อมูลระดับระบบปฏิบัติการและข้อมูลแอมเบียนท์) ยกเว้นกรณีที่ได้รับความยินยอมจากผู้ใช้อย่างชัดแจ้งทุกครั้งที่มีการแชร์ เว้นแต่ฟังก์ชันดังกล่าวจะสร้างเป็น Android SDK API (AmbientContext
,HotwordDetectionService
)[C-1-6] ต้องให้เงินแก่ผู้ใช้ในการลบข้อมูลดังกล่าวที่
การใช้งานหรือ วิธีการที่เป็นกรรมสิทธิ์เก็บรวบรวมContentCaptureService
หากเมื่อ จัดเก็บข้อมูลในรูปแบบใดก็ตามในอุปกรณ์ หากผู้ใช้เลือกที่จะลบข้อมูล คุณต้องนำข้อมูลย้อนหลังทั้งหมดที่รวบรวมไว้ออก
- [C-SR-3] ขอแนะนำอย่างยิ่งให้ติดตั้งใช้งานกับ Android SDK API หรือที่เก็บโอเพนซอร์สคล้ายคลึงกันที่ OEM เป็นเจ้าของ และ / หรือดำเนินการผ่านการใช้แซนด์บ็อกซ์ (ดูการใช้งาน API ที่แซนด์บ็อกซ์เวอร์ชัน 9.8.15)
Android ผ่านทาง
SpeechRecognizer#onDeviceSpeechRecognizer()
จะช่วยให้ใช้การจดจำคำพูด บนอุปกรณ์ได้โดยไม่เกี่ยวข้องกับเครือข่าย การใช้งาน SpeechRecognizer ในอุปกรณ์ต้องเป็นไปตามนโยบายที่ระบุไว้ในส่วนนี้- หน้าจอหรือข้อมูลอื่นๆ ที่ส่งผ่าน
9.8.10 รายงานข้อบกพร่องเกี่ยวกับการเชื่อมต่อ:
ดูการแก้ไข
หากการใช้งานอุปกรณ์ประกาศ Flag ฟีเจอร์
android.hardware.telephony
จะมีการดำเนินการต่อไปนี้- [C-1-4] รายงานที่สร้างขึ้นโดยใช้
BUGREPORT_MODE_TELEPHONY
ต้องมีข้อมูลต่อไปนี้เป็นอย่างน้อยSubscriptionManagerService
ดัมพ์
- [C-1-4] รายงานที่สร้างขึ้นโดยใช้
9.8.14 เครื่องมือจัดการข้อมูลเข้าสู่ระบบ: นำออกแล้ว
9.8.15 การใช้งาน API แซนด์บ็อกซ์: ส่วนใหม่
ดูการแก้ไข
Android จะใช้ชุด API ที่มอบสิทธิ์ซึ่งมีกลไกในการประมวลผลข้อมูลระดับระบบปฏิบัติการและข้อมูลแวดล้อมที่ปลอดภัย การประมวลผลดังกล่าวสามารถมอบสิทธิ์ให้กับ APK ที่ติดตั้งล่วงหน้าด้วยการเข้าถึงที่เป็นสิทธิ์เฉพาะและลดความสามารถในการสื่อสาร หรือที่เรียกว่าการใช้งาน API ที่แซนด์บ็อกซ์ไว้
การใช้ Sandboxed API
- [C-0-1] ต้องไม่ขอสิทธิ์อินเทอร์เน็ต
- [C-0-2] ต้องเข้าถึงอินเทอร์เน็ตผ่าน API ที่มีโครงสร้างซึ่งรับการสนับสนุนโดยการใช้งานโอเพนซอร์สที่พร้อมใช้งานแบบสาธารณะโดยใช้กลไกการรักษาความเป็นส่วนตัว หรือผ่าน API ของ Android SDK โดยอ้อมเท่านั้น กลไกการรักษาความเป็นส่วนตัวหมายถึง "รายการที่อนุญาตให้ใช้การวิเคราะห์แบบรวมเท่านั้นและป้องกันการจับคู่เหตุการณ์ที่บันทึกหรือผลลัพธ์ที่ได้รับกับผู้ใช้แต่ละราย" เพื่อป้องกันไม่ให้ข้อมูลผู้ใช้แต่ละรายการสามารถตรวจสอบได้ (เช่น มีการใช้งานโดยใช้เทคโนโลยี Differential Privacy เช่น RAPPOR)
- [C-0-3] ต้องแยกบริการออกจากคอมโพเนนต์อื่นๆ ของระบบ
(เช่น ไม่เชื่อมโยงบริการหรือรหัสกระบวนการแชร์) ยกเว้นดังต่อไปนี้
- โทรศัพท์, รายชื่อติดต่อ, UI ระบบ และสื่อ
- [C-0-4] ต้องไม่อนุญาตให้ผู้ใช้แทนที่บริการด้วยแอปพลิเคชันหรือบริการที่ผู้ใช้ติดตั้งได้
- [C-0-5] ต้องอนุญาตให้เฉพาะบริการที่ติดตั้งไว้ล่วงหน้าบันทึกข้อมูลดังกล่าว เว้นแต่ความสามารถในการเปลี่ยนจะมีอยู่ใน AOSP (เช่น สำหรับแอปผู้ช่วยดิจิทัล)
- [C-0-6] ต้องไม่อนุญาตให้แอปพลิเคชันอื่นๆ นอกเหนือจากกลไกของบริการที่ติดตั้งไว้ล่วงหน้าบันทึกข้อมูลดังกล่าวได้ เว้นแต่จะมีการใช้ความสามารถในการจับภาพดังกล่าว กับ Android SDK API
- [C-0-7] ต้องให้ค่าตอบแทนแก่ผู้ใช้ในการปิดใช้บริการ
- [C-0-8] ต้องไม่ใช้ค่าตอบแทนของผู้ใช้ในการจัดการสิทธิ์ Android ที่ ถือโดยบริการและทำตามโมเดลสิทธิ์ของ Android ตามที่อธิบายไว้ใน ส่วนที่ 9.1 สิทธิ์
9.8.16 ข้อมูลเสียงและกล้องต่อเนื่อง: ส่วนใหม่
ดูการแก้ไข
นอกเหนือจากข้อกำหนดที่ระบุไว้ใน 9.8.2 การบันทึก, ข้อมูลระดับระบบปฏิบัติการและสภาพแวดล้อม 9.8.6 และการติดตั้งใช้งาน API ที่แซนด์บ็อกซ์เวอร์ชัน 9.8.15 แล้ว การใช้งานที่ใช้ข้อมูลเสียงที่ได้รับในเบื้องหลัง (อย่างต่อเนื่อง) ผ่าน AudioRecord, SoundTrigger หรือ API เสียงอื่นๆ หรือ API เสียงอื่นๆ หรือข้อมูลกล้องที่ได้รับในเบื้องหลัง (อย่างต่อเนื่อง) ผ่าน CameraManager หรือ API กล้องอื่นๆ
- [C-0-1] ต้องใช้สัญญาณบอกสถานะที่สอดคล้องกัน (กล้องและ/หรือไมโครโฟนตามส่วนที่ 9.8.2 การบันทึก) ยกเว้นในกรณีต่อไปนี้
- การเข้าถึงนี้เกิดขึ้นจากการใช้งานแบบแซนด์บ็อกซ์ (ดูการใช้งาน Sandboxed API เวอร์ชัน 9.8.15) ผ่านแพ็กเกจที่มีบทบาทต่อไปนี้อย่างน้อย 1 บทบาท ได้แก่ System UI Intelligence, System Ambient Audio Intelligence, System Audio Intelligence, System Notification Intelligence, System Text Intelligence หรือ System Text Intelligence
- การเข้าถึงนี้ดำเนินการผ่านแซนด์บ็อกซ์ มีการใช้งาน และบังคับใช้ผ่านกลไกใน AOSP (
HotwordDetectionService
,WearableSensingService
,VisualQueryDetector
) - แอปพลิเคชันผู้ช่วยดิจิทัลจะมีการเข้าถึงเสียงเพื่ออำนวยความสะดวกในการใช้งาน โดยมี
SOURCE_HOTWORD
เป็นแหล่งที่มาของเสียง - การเข้าถึงจะดำเนินการโดยระบบและใช้งานด้วยโค้ดโอเพนซอร์ส
- [C-SR-1] แนะนำอย่างยิ่งให้ต้องได้รับความยินยอมจากผู้ใช้สำหรับทุกฟังก์ชันที่ใช้ข้อมูลดังกล่าว และจะถูกปิดใช้งานโดยค่าเริ่มต้น
- [C-SR-2] ขอแนะนำเป็นอย่างยิ่งให้ใช้แนวทางเดียวกัน (เช่น ทำตามข้อจำกัดที่ระบุไว้ใน 9.8.2 การบันทึก, 9.8.6 ข้อมูลระดับระบบปฏิบัติการและข้อมูลแวดล้อม, 9.8.15 การใช้ API ที่แซนด์บ็อกซ์ และ 9.8.16 ข้อมูลเสียงและกล้องอย่างต่อเนื่อง) กับข้อมูลกล้องที่มาจากอุปกรณ์ที่สวมใส่ได้ระยะไกล
หากข้อมูลกล้องมาจากอุปกรณ์ที่สวมใส่ได้ระยะไกลและเข้าถึงในรูปแบบที่ไม่เข้ารหัสนอกระบบปฏิบัติการ Android การใช้งานแซนด์บ็อกซ์หรือฟังก์ชันการทำงานที่ทำแซนด์บ็อกซ์หรือสร้างขึ้นโดย
WearableSensingManager
ระบบจะดำเนินการดังต่อไปนี้- [C-1-1] ต้องระบุไปยังอุปกรณ์ที่สวมใส่ได้ระยะไกล เพื่อแสดงสัญญาณบอกสถานะเพิ่มเติม
หากอุปกรณ์มีความสามารถในการมีส่วนร่วมกับแอปพลิเคชันผู้ช่วยดิจิทัลที่ไม่มีคีย์เวิร์ดที่กำหนดไว้ (ทั้งการจัดการคำถามทั่วไปของผู้ใช้หรือการวิเคราะห์ตัวตนของผู้ใช้ผ่านกล้อง)
- [C-2-1] ต้องตรวจสอบว่าการติดตั้งใช้งานดังกล่าวมาจากแพ็กเกจที่มีบทบาท
android.app.role.ASSISTANT
- [C-2-2] ต้องตรวจสอบว่าการใช้งานดังกล่าวใช้
HotwordDetectionService
และ/หรือVisualQueryDetectionService
Android API
- [C-0-1] ต้องใช้สัญญาณบอกสถานะที่สอดคล้องกัน (กล้องและ/หรือไมโครโฟนตามส่วนที่ 9.8.2 การบันทึก) ยกเว้นในกรณีต่อไปนี้
9.8.17 การตรวจวัดระยะไกล: ส่วนใหม่
ดูการแก้ไข
Android จัดเก็บบันทึกของระบบและแอปโดยใช้ StatsLog API บันทึกเหล่านี้ได้รับการจัดการผ่าน API ของเครื่องมือจัดการสถิติ ซึ่งแอปพลิเคชันระบบที่ได้รับสิทธิ์สามารถใช้ได้
นอกจากนี้ StatsManager ยังมอบวิธีเก็บรวบรวมข้อมูลที่จัดหมวดหมู่ว่ามีความละเอียดอ่อนด้านความเป็นส่วนตัวจากอุปกรณ์ที่มีกลไกการรักษาความเป็นส่วนตัว โดยเฉพาะอย่างยิ่ง
StatsManager::query
API จะช่วยให้ค้นหาหมวดหมู่เมตริกที่ถูกจำกัดที่กำหนดไว้ ใน StatsLog ได้การค้นหาการติดตั้งใช้งานและการรวบรวมเมตริกที่ถูกจำกัดจาก StatsManager
- [C-0-1] ต้องเป็นแอปพลิเคชัน/การติดตั้งใช้งานเพียงอย่างเดียวในอุปกรณ์และมีสิทธิ์
READ_RESTRICTED_STATS
- [C-0-2] ต้องส่งเฉพาะข้อมูลทางไกลและบันทึกของอุปกรณ์โดยใช้กลไกการรักษาความเป็นส่วนตัว กลไกการรักษาความเป็นส่วนตัวหมายถึง "รายการที่อนุญาตให้วิเคราะห์แบบรวมและป้องกันการจับคู่เหตุการณ์ที่บันทึกหรือผลลัพธ์ที่ได้รับกับผู้ใช้แต่ละรายเท่านั้น" เพื่อป้องกันไม่ให้ข้อมูลผู้ใช้แต่ละรายการสามารถตรวจสอบได้ (เช่น มีการใช้งานโดยใช้เทคโนโลยี Differential Privacy เช่น RAPPOR)
- [C-0-3] ต้องไม่เชื่อมโยงข้อมูลดังกล่าวกับข้อมูลประจำตัวผู้ใช้ (เช่น บัญชี) ในอุปกรณ์
- [C-0-4] ต้องไม่แชร์ข้อมูลดังกล่าวกับคอมโพเนนต์อื่นๆ ของระบบปฏิบัติการที่ไม่เป็นไปตามข้อกำหนดที่ระบุไว้ในส่วนปัจจุบัน (9.8.17 การส่งข้อมูลทางไกล)
- [C-0-5] ต้องให้เงินแก่ผู้ใช้ในการเปิด/ปิดใช้การรวบรวม การใช้งาน และการแชร์ที่รักษาความเป็นส่วนตัว
- [C-0-6] ต้องให้เงินแก่ผู้ใช้ในการลบข้อมูลดังกล่าวที่การติดตั้งรวบรวมไว้หากมีการจัดเก็บข้อมูลในรูปแบบใดๆ ก็ตามในอุปกรณ์ หากผู้ใช้เลือกลบข้อมูล "ต้องนำข้อมูลทั้งหมดที่จัดเก็บไว้ในอุปกรณ์" ออก
- [C-0-7] ต้องเปิดเผยการใช้โปรโตคอลการรักษาความเป็นส่วนตัวที่สำคัญในที่เก็บโอเพนซอร์ส
- [C-0-8 ]ต้องบังคับใช้นโยบายข้อมูลขาออกในส่วนนี้เพื่อล็อกการเก็บรวบรวมข้อมูลในหมวดหมู่เมตริกที่จำกัดซึ่งกำหนดไว้ใน StatLog
- [C-0-1] ต้องเป็นแอปพลิเคชัน/การติดตั้งใช้งานเพียงอย่างเดียวในอุปกรณ์และมีสิทธิ์
-
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์หากการติดตั้งใช้งานอุปกรณ์มีความสามารถในการยืนยันเนื้อหาไฟล์แบบต่อหน้าได้ สิ่งที่จะเกิดขึ้นมีดังนี้
[
C-0-3C-2-1] รองรับการยืนยันเนื้อหาไฟล์แบบเข้ารหัสต่อคีย์ที่เชื่อถือได้โดยไม่ต้องอ่านทั้งไฟล์[
C-0-4C-2-2] ต้องไม่อนุญาตให้คำขออ่านในไฟล์ที่มีการป้องกันทำงานสำเร็จเมื่อเนื้อหาที่อ่านแล้วไม่ยืนยันกับคีย์ที่เชื่อถือได้ไม่ได้รับการยืนยันตาม [C-2-1] ข้างต้น
- [C-2-4] ต้องส่งคืน checksum ของไฟล์ใน O(1) สำหรับไฟล์ที่เปิดใช้งาน
-
ดูการแก้ไข
ระบบคีย์สโตร์ของ Android ช่วยให้นักพัฒนาแอปสามารถจัดเก็บคีย์การเข้ารหัสในคอนเทนเนอร์และใช้คีย์ดังกล่าวในการดำเนินการเข้ารหัสผ่าน KeyChain API หรือ Keystore API การติดตั้งใช้งานอุปกรณ์
- [C-0-3] ต้องจำกัดจำนวนการตรวจสอบสิทธิ์หลักที่ล้มเหลว
- [C-SR-2] แนะนำอย่างยิ่งให้ใช้ขอบเขตสูงสุดของการพยายามตรวจสอบสิทธิ์หลักที่ล้มเหลว 20 ครั้ง และหากผู้ใช้ยินยอมและเลือกใช้ฟีเจอร์ ให้ดำเนินการ "รีเซ็ตข้อมูลเป็นค่าเริ่มต้น" หลังจากพยายามตรวจสอบสิทธิ์หลักที่ล้มเหลวเกินจำนวนครั้งที่กำหนด
หากใช้อุปกรณ์ จะเพิ่มหรือแก้ไขวิธีการตรวจสอบสิทธิ์เพื่อปลดล็อกหน้าจอล็อกหากอิงตามข้อมูลลับที่ทราบ และใช้วิธีการตรวจสอบสิทธิ์ใหม่เพื่อให้เป็นวิธีที่ปลอดภัยในการล็อกหน้าจอ ให้ทำดังนี้
- [C-SR-3] เราขอแนะนำอย่างยิ่งให้ป้อน PIN อย่างน้อย 6 หลักหรือเอนโทรปี 20 บิต
- [C-2-1] PIN ที่มีความยาวน้อยกว่า 6 หลักจะต้องไม่อนุญาตให้มีการป้อนแบบอัตโนมัติ โดยไม่ต้องมีการโต้ตอบจากผู้ใช้ เพื่อหลีกเลี่ยงการเปิดเผยความยาวของ PIN
9.11.1 การล็อกหน้าจอที่ปลอดภัย การตรวจสอบสิทธิ์ และอุปกรณ์เสมือน
ดูการแก้ไข
การติดตั้งใช้งานอุปกรณ์
- [C-0-1] ต้องจำกัดจำนวนความพยายามในการตรวจสอบสิทธิ์หลักที่ล้มเหลว
- [C-SR-5] ขอแนะนำเป็นอย่างยิ่งให้ใช้ขอบเขตสูงสุดของการพยายามตรวจสอบสิทธิ์หลักที่ไม่สำเร็จ 20 ครั้ง และหากผู้ใช้ยินยอมและเลือกใช้ฟีเจอร์ ให้ดำเนินการ "รีเซ็ตข้อมูลเป็นค่าเริ่มต้น" หลังจากพยายามตรวจสอบสิทธิ์หลักที่ล้มเหลวเกินจำนวนครั้งที่กำหนด
หากใช้อุปกรณ์ตั้ง PIN ที่เป็นตัวเลขเป็นวิธีการตรวจสอบสิทธิ์หลักที่แนะนำ ให้ทำดังนี้
- [C-SR-6] เราขอแนะนำอย่างยิ่งให้ป้อน PIN อย่างน้อย 6 หลักหรือเอนโทรปี 20 บิต
- [C-SR-7] เราขอแนะนำเป็นอย่างยิ่งว่า PIN ที่มีความยาวน้อยกว่า 6 หลักจะไม่อนุญาตการป้อนโดยอัตโนมัติโดยไม่ต้องโต้ตอบกับผู้ใช้เพื่อหลีกเลี่ยงการเปิดเผยความยาวของ PIN
หากการติดตั้งใช้งานอุปกรณ์มีหน้าจอล็อกที่ปลอดภัยและมีเอเจนต์ความน่าเชื่อถืออย่างน้อย 1 รายการซึ่งใช้
TrustAgentService
System API จะมีการดำเนินการต่อไปนี้[C-7-8] ผู้ใช้ต้องได้รับคำถามสำหรับวิธีการตรวจสอบสิทธิ์หลักที่แนะนำ (เช่น PIN, รูปแบบ, รหัสผ่าน) อย่างน้อย 1 ครั้งทุก 72 ชั่วโมงหรือน้อยกว่านั้น เว้นแต่ว่าความปลอดภัยของผู้ใช้ (เช่น การเสียสมาธิของผู้ขับ)หากการใช้งานอุปกรณ์อนุญาตให้แอปพลิเคชันสร้างจอแสดงผลเสมือนรองและรองรับเหตุการณ์การป้อนข้อมูลที่เกี่ยวข้อง เช่น ผ่าน VirtualDeviceManager และจอแสดงผลไม่มีเครื่องหมาย VIRTUAL_DISPLAY_FLAG_SECURE สิ่งต่อไปนี้
[C-13-10] ต้องปิดใช้การติดตั้งแอปที่เริ่มต้นจากอุปกรณ์เสมือน9.17 เฟรมเวิร์กการจำลองการทำงานแบบเสมือนของ Android:
ดูการแก้ไข
หากอุปกรณ์ใช้การรองรับ Android Virtualization Framework (
android.system.virtualmachine.*
) โฮสต์ Android จะทำสิ่งต่อไปนี้- [C-1-1] ต้องรองรับ API ทั้งหมดที่กำหนดโดยแพ็กเกจ
android.system.virtualmachine
- [C-1-2] ต้องไม่แก้ไข SELinux ของ Android และโมเดลสิทธิ์สำหรับ การจัดการเครื่องเสมือนที่มีการป้องกัน (pVM)
- [C-1-3] ต้องไม่แก้ไข ละเว้น หรือแทนที่กฎNeverallow ที่อยู่ภายในระบบ/sepolicy ที่อยู่ในโปรเจ็กต์โอเพนซอร์ส Android อัปสตรีม (AOSP) และนโยบายต้องคอมไพล์ด้วยกฎที่ไม่อนุญาตทั้งหมดที่มีอยู่
- [C-1-4] ต้องอนุญาตเฉพาะโค้ดที่ลงนามของแพลตฟอร์มและแอปที่ได้รับสิทธิ์
ต้องไม่อนุญาตโค้ดที่ไม่น่าเชื่อถือ (เช่น แอป 3p)ให้สร้างและเรียกใช้Virtual Machine ที่มีการป้องกันpVM หมายเหตุ: ข้อมูลนี้อาจเปลี่ยนแปลงได้ใน Android รุ่นต่อๆ ไป
- [C-1-5] ต้องไม่อนุญาตให้
Virtual Machine ที่มีการป้องกันpVM เรียกใช้โค้ดที่ไม่ได้เป็นส่วนหนึ่งของอิมเมจเริ่มต้นหรือการอัปเดตสิ่งใดก็ตามที่ไม่ได้อยู่ภายใต้การเปิดเครื่องที่ได้รับการยืนยันของ Android (เช่น ไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ตหรือไซด์โหลด) ต้องไม่ได้รับอนุญาตให้เรียกใช้ในเครื่องเสมือนที่มีการป้องกัน
- [C-1-5] ต้องอนุญาตเฉพาะ pVM ที่แก้ไขข้อบกพร่องไม่ได้ให้เรียกใช้โค้ดจากอิมเมจเริ่มต้นหรือการอัปเดตแพลตฟอร์ม ซึ่งรวมถึงการอัปเดตแอปที่ได้รับสิทธิ์ด้วย
หากอุปกรณ์รองรับ API ของ Virtualization Framework ของ Android (
android.system.virtualmachine.*
) อินสแตนซ์Protected Virtual MachinepVM ทั้งหมดมีลักษณะดังนี้- [C-2-1] ต้องเรียกใช้ระบบปฏิบัติการทั้งหมดที่มีอยู่ใน APEX เสมือนใน
Protected Virtual MachinepVM ได้ - [C-2-2] ต้องไม่อนุญาตให้
Virtual Machine ที่มีการป้องกันpVM เรียกใช้ระบบปฏิบัติการ ที่ไม่ได้รับรองโดยผู้ติดตั้งอุปกรณ์หรือผู้ให้บริการระบบปฏิบัติการ - [C-2-3] ต้องไม่อนุญาตให้
Virtual Machine ที่มีการป้องกันpVM ประมวลผลข้อมูลเป็นโค้ด (เช่น SELinux ไม่อนุญาต execmem)
- [C-2-4] ต้องไม่แก้ไข ละเว้น หรือแทนที่กฎ noallow ที่อยู่ในระบบ/sepolicy/microdroid ที่อยู่ในโปรเจ็กต์โอเพนซอร์ส Android ต้นทาง (AOSP)
- [C-2-5] ต้องใช้
Protected Virtual MachinepVM กลไกการป้องกันเชิงลึก (เช่น SELinux สำหรับ pVM) แม้แต่สำหรับระบบปฏิบัติการที่ไม่ใช่ Microdroid - [C-2-6] ต้องตรวจสอบว่า pVM ไม่
ปฏิเสธเฟิร์มแวร์ในการเปิดเครื่องหากยืนยันอิมเมจเริ่มต้นที่ VM จะเรียกใช้ไม่ได้ ซึ่งต้องดำเนินการภายใน VM - [C-2-7] ต้องตรวจสอบว่า pVM ไม่
เฟิร์มแวร์ปฏิเสธในการเปิดเครื่องหากความสมบูรณ์ของอินสแตนซ์.img ถูกละเมิด
หากอุปกรณ์ใช้การรองรับ Android Virtualization Framework (
android.system.virtualmachine.*
) ไฮเปอร์ไวเซอร์- [C-3-1] ต้องตรวจสอบว่าหน้าหน่วยความจำที่เป็นของ VM โดยเฉพาะ (pVM หรือ VM ของโฮสต์) เข้าถึงได้จากตัวเครื่องเสมือนหรือไฮเปอร์ไวเซอร์เท่านั้น ไม่ใช่เครื่องเสมือนอื่นๆ ไม่ว่าจะได้รับการป้องกันหรือไม่มีการป้องกัน
ต้องไม่อนุญาตให้ pVM เข้าถึงหน้าเว็บของเอนทิตีอื่น (เช่น pVM อื่น หรือ Hypervisor) เว้นแต่เจ้าของเพจจะแชร์อย่างชัดแจ้ง ซึ่งรวมถึง VM ของโฮสต์ ซึ่งจะมีผลกับทั้งการเข้าถึง CPU และ DMA - [C-3-2] ต้องล้างข้อมูลหน้าหลังจากที่ใช้โดย pVM และก่อนที่จะส่งไปยังโฮสต์ (เช่น pVM ถูกทำลาย)
- [C-
3-3SR-1] แนะนําอย่างยิ่งเพื่อให้มั่นใจว่าต้องตรวจสอบว่าเฟิร์มแวร์ pVM นั้นโหลดและเรียกใช้ก่อนโค้ดใดๆ ใน pVM - [C-3-4] ต้องตรวจสอบว่า VM แต่ละรายการได้รับข้อมูลลับต่อ VM ซึ่ง
{Boot Certificate Chain (BCC) และ Compound Device Identifier (CDI) ที่ให้ไว้กับอินสแตนซ์ pVMดึงข้อมูลมาจากอินสแตนซ์ VM นั้นเท่านั้นและจะเปลี่ยนแปลงเมื่อรีเซ็ตเป็นค่าเริ่มต้นและ OTA
หากอุปกรณ์รองรับ API ของ Virtualization Framework ของ Android การดำเนินการทั้งหมดจะมีผลดังนี้
- [C-4-1] ต้องไม่มอบฟังก์ชันการทำงานให้แก่ pVM ที่อนุญาตให้ข้ามโมเดลความปลอดภัยของ Android
หากอุปกรณ์ใช้การรองรับ API ของ Virtualization Framework ของ Android คุณจะต้องดำเนินการต่อไปนี้
- [C-5-1] ต้องสามารถรองรับการคอมไพล์แยก แต่อาจปิดใช้ฟีเจอร์การคอมไพล์ที่แยก (Isolated Compilation) ในการจัดส่งอุปกรณ์
ของการอัปเดตรันไทม์ ART
หากอุปกรณ์รองรับ API ของ Virtualization Framework ของ Android การจัดการคีย์จะมีผลดังนี้
- [C-6-1] ต้องรูทเชน DICE ตรงจุดที่ผู้ใช้แก้ไขไม่ได้แม้ในอุปกรณ์ที่ไม่ได้ล็อก (เพื่อให้แน่ใจว่าไม่มีการปลอมแปลง)
- [C-SR-2
6-2] แนะนําอย่างยิ่งให้ใช้ DICE เป็นกลไกการรับข้อมูลลับต่อ VMต้องใช้ DICE อย่างถูกต้อง กล่าวคือ ระบุค่าที่ถูกต้อง
- [C-1-1] ต้องรองรับ API ทั้งหมดที่กำหนดโดยแพ็กเกจ