aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Hecomovich <mheco@google.com>2018-11-27 19:17:50 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-11-27 19:17:50 +0000
commit0929a40f7786a1f574c202f8bf01bf38fc5bdc03 (patch)
tree8fbf6e2601385c1bbc6f7fe46e7c4e4b663f5a91
parentef9d83d7f86c7f2bf6c4cf2967abb3dfea7e8636 (diff)
parent179abc8d13154ca5242e77a80145c479a9548e9d (diff)
downloadsource.android.com-nougat-iot-release.tar.gz
-rw-r--r--en/_book.yaml2
-rw-r--r--en/compatibility/cts/downloads.html98
-rw-r--r--en/compatibility/cts/images/buttons_connected.pngbin106123 -> 2707746 bytes
-rw-r--r--en/compatibility/cts/images/buttons_not_recognized.pngbin37527 -> 216045 bytes
-rw-r--r--en/compatibility/cts/images/buttons_recognized.pngbin36961 -> 210211 bytes
-rw-r--r--en/compatibility/cts/images/buttons_summary.pngbin36739 -> 249326 bytes
-rw-r--r--en/compatibility/cts/images/play_postconnect.pngbin24313 -> 170659 bytes
-rw-r--r--en/compatibility/cts/images/play_preconnect.pngbin23801 -> 141568 bytes
-rw-r--r--en/compatibility/cts/images/play_summary.pngbin32220 -> 196817 bytes
-rw-r--r--en/compatibility/cts/images/record_postconnect.pngbin39231 -> 195331 bytes
-rw-r--r--en/compatibility/cts/images/record_postconnect_running.pngbin0 -> 230349 bytes
-rw-r--r--en/compatibility/cts/images/record_preconnect.pngbin28795 -> 161563 bytes
-rw-r--r--en/compatibility/cts/images/record_summary.pngbin47427 -> 302633 bytes
-rw-r--r--en/compatibility/cts/images/wfov-cad-wfov-box.pngbin514044 -> 378428 bytes
-rw-r--r--en/compatibility/cts/usb-audio.html974
-rw-r--r--en/compatibility/tests/development/jar.md2
-rw-r--r--en/devices/tech/admin/testing-provision.html55
-rw-r--r--en/devices/tech/config/perms-whitelist.html8
-rw-r--r--en/devices/tech/connect/esim-modem-requirements.md79
-rw-r--r--en/devices/tech/debug/fuzz-sanitize.html8
-rw-r--r--en/security/bulletin/2018-09-01.html39
-rw-r--r--en/security/bulletin/2018-11-01.html70
-rw-r--r--en/security/bulletin/2018.html4
-rw-r--r--en/security/bulletin/index.html4
-rw-r--r--en/security/bulletin/pixel/2018-11-01.html28
-rw-r--r--en/security/bulletin/pixel/2018.html4
-rw-r--r--en/security/bulletin/pixel/index.html4
-rw-r--r--en/setup/build/building-kernels.html28
-rw-r--r--en/setup/contribute/code-style.html2
-rw-r--r--en/setup/start/build-numbers.html14
-rw-r--r--en/setup/start/p-release-notes.md2
-rw-r--r--ja/security/bulletin/2018-07-01.html2
-rw-r--r--ja/security/bulletin/2018-08-01.html2
-rw-r--r--ja/security/bulletin/2018-09-01.html6
-rw-r--r--ja/security/bulletin/2018-10-01.html2
-rw-r--r--ja/security/bulletin/2018-11-01.html585
-rw-r--r--ja/security/bulletin/2018.html16
-rw-r--r--ja/security/bulletin/index.html16
-rw-r--r--ja/security/bulletin/pixel/2018-05-01.html2
-rw-r--r--ja/security/bulletin/pixel/2018-08-01.html2
-rw-r--r--ja/security/bulletin/pixel/2018-10-01.html2
-rw-r--r--ja/security/bulletin/pixel/2018-11-01.html249
-rw-r--r--ja/security/bulletin/pixel/2018.html15
-rw-r--r--ja/security/bulletin/pixel/index.html15
-rw-r--r--ko/security/bulletin/2018-07-01.html44
-rw-r--r--ko/security/bulletin/2018-10-01.html4
-rw-r--r--ko/security/bulletin/2018-11-01.html685
-rw-r--r--ko/security/bulletin/2018.html16
-rw-r--r--ko/security/bulletin/index.html20
-rw-r--r--ko/security/bulletin/pixel/2018-05-01.html2
-rw-r--r--ko/security/bulletin/pixel/2018-06-01.html108
-rw-r--r--ko/security/bulletin/pixel/2018-10-01.html2
-rw-r--r--ko/security/bulletin/pixel/2018-11-01.html288
-rw-r--r--ko/security/bulletin/pixel/2018.html16
-rw-r--r--ko/security/bulletin/pixel/index.html18
-rw-r--r--ru/security/bulletin/2018-07-01.html8
-rw-r--r--ru/security/bulletin/2018-08-01.html15
-rw-r--r--ru/security/bulletin/2018-09-01.html6
-rw-r--r--ru/security/bulletin/2018-10-01.html10
-rw-r--r--ru/security/bulletin/2018-11-01.html589
-rw-r--r--ru/security/bulletin/2018.html15
-rw-r--r--ru/security/bulletin/index.html15
-rw-r--r--ru/security/bulletin/pixel/2018-01-01.html2
-rw-r--r--ru/security/bulletin/pixel/2018-02-01.html2
-rw-r--r--ru/security/bulletin/pixel/2018-03-01.html2
-rw-r--r--ru/security/bulletin/pixel/2018-04-01.html4
-rw-r--r--ru/security/bulletin/pixel/2018-05-01.html2
-rw-r--r--ru/security/bulletin/pixel/2018-06-01.html11
-rw-r--r--ru/security/bulletin/pixel/2018-07-01.html4
-rw-r--r--ru/security/bulletin/pixel/2018-08-01.html6
-rw-r--r--ru/security/bulletin/pixel/2018-09-01.html4
-rw-r--r--ru/security/bulletin/pixel/2018-10-01.html2
-rw-r--r--ru/security/bulletin/pixel/2018-11-01.html251
-rw-r--r--ru/security/bulletin/pixel/2018.html119
-rw-r--r--ru/security/bulletin/pixel/index.html147
-rw-r--r--zh-cn/compatibility/9.0/android-9.0-cdd.html10002
-rw-r--r--zh-cn/compatibility/cts/camera-its-box-assembly.html2
-rw-r--r--zh-cn/compatibility/cts/camera-wfov-box-assembly.html40
-rw-r--r--zh-cn/compatibility/cts/downloads.html54
-rw-r--r--zh-cn/compatibility/cts/sensor-fusion-box-assembly.html138
-rw-r--r--zh-cn/compatibility/cts/sensor-fusion-quick-start.html4
-rw-r--r--zh-cn/compatibility/cts/setup.html4
-rw-r--r--zh-cn/compatibility/cts/usb-audio.html17
-rw-r--r--zh-cn/compatibility/cts/verifier.html22
-rw-r--r--zh-cn/compatibility/index.html4
-rw-r--r--zh-cn/compatibility/overview.html4
-rw-r--r--zh-cn/compatibility/tests/development/jar.html69
-rw-r--r--zh-cn/compatibility/vts/index.html2
-rw-r--r--zh-cn/compatibility/vts/performance.html5
-rw-r--r--zh-cn/compatibility/vts/shell-commands.html2
-rw-r--r--zh-cn/devices/architecture/hidl-java/index.html1
-rw-r--r--zh-cn/devices/architecture/hidl/versioning.html2
-rw-r--r--zh-cn/devices/bootloader/partitions-images.html12
-rw-r--r--zh-cn/devices/bootloader/unlock-trusty.html4
-rw-r--r--zh-cn/devices/sensors/versioning.html2
-rw-r--r--zh-cn/devices/tech/admin/ota-updates.html4
-rw-r--r--zh-cn/devices/tech/config/perms-whitelist.html4
-rw-r--r--zh-cn/devices/tech/debug/fuzz-sanitize.html5
-rw-r--r--zh-cn/security/bulletin/2018-07-01.html38
-rw-r--r--zh-cn/security/bulletin/2018-08-01.html25
-rw-r--r--zh-cn/security/bulletin/2018-09-01.html2
-rw-r--r--zh-cn/security/bulletin/2018-10-01.html18
-rw-r--r--zh-cn/security/bulletin/2018-11-01.html586
-rw-r--r--zh-cn/security/bulletin/2018.html15
-rw-r--r--zh-cn/security/bulletin/index.html273
-rw-r--r--zh-cn/security/bulletin/pixel/2018-04-01.html42
-rw-r--r--zh-cn/security/bulletin/pixel/2018-05-01.html20
-rw-r--r--zh-cn/security/bulletin/pixel/2018-07-01.html28
-rw-r--r--zh-cn/security/bulletin/pixel/2018-08-01.html33
-rw-r--r--zh-cn/security/bulletin/pixel/2018-09-01.html6
-rw-r--r--zh-cn/security/bulletin/pixel/2018-11-01.html249
-rw-r--r--zh-cn/security/bulletin/pixel/2018.html15
-rw-r--r--zh-cn/security/bulletin/pixel/index.html15
-rw-r--r--zh-cn/security/encryption/file-based.html15
-rw-r--r--zh-cn/security/overview/updates-resources.html2
-rw-r--r--zh-cn/security/selinux/concepts.html2
-rw-r--r--zh-cn/security/selinux/validate.html10
-rw-r--r--zh-cn/setup/build/requirements.html3
-rw-r--r--zh-cn/setup/contribute/code-style.html4
-rw-r--r--zh-cn/setup/develop/repo.html4
-rw-r--r--zh-cn/setup/start/build-numbers.html2336
-rw-r--r--zh-cn/setup/start/p-release-notes.html8
-rw-r--r--zh-tw/security/bulletin/2018-07-01.html2
-rw-r--r--zh-tw/security/bulletin/2018-11-01.html587
-rw-r--r--zh-tw/security/bulletin/2018.html16
-rw-r--r--zh-tw/security/bulletin/index.html16
-rw-r--r--zh-tw/security/bulletin/pixel/2018-11-01.html249
-rw-r--r--zh-tw/security/bulletin/pixel/2018.html16
-rw-r--r--zh-tw/security/bulletin/pixel/index.html16
129 files changed, 17574 insertions, 2236 deletions
diff --git a/en/_book.yaml b/en/_book.yaml
index a2875e95..ada73e7a 100644
--- a/en/_book.yaml
+++ b/en/_book.yaml
@@ -58,7 +58,7 @@ upper_tabs:
- name: Features
contents:
- include: /security/_toc-features.yaml
- - name: Dynamic Analysis
+ - name: Testing
contents:
- include: /security/_toc-fuzz.yaml
- name: Develop
diff --git a/en/compatibility/cts/downloads.html b/en/compatibility/cts/downloads.html
index 16798cde..6f3811d0 100644
--- a/en/compatibility/cts/downloads.html
+++ b/en/compatibility/cts/downloads.html
@@ -31,102 +31,102 @@ R&lt;number&gt; in the link name.</p>
<h2 id="android-90">Android 9</h2>
<p>Android 9 is the release of the development milestone code-named P.
The source code for the following tests, including tests for instant apps, can be synced with the
-'android-cts-9.0_r3' tag in the open-source tree.</p>
+'android-cts-9.0_r4' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-9.0_r3-linux_x86-arm.zip">Android
-9.0 R3 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-9.0_r4-linux_x86-arm.zip">Android
+9.0 R4 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-9.0_r3-linux_x86-x86.zip">Android
-9.0 R3 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-9.0_r4-linux_x86-x86.zip">Android
+9.0 R4 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r3-linux_x86-arm.zip">Android
-9.0 R3 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r4-linux_x86-arm.zip">Android
+9.0 R4 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r3-linux_x86-x86.zip">Android
-9.0 R3 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r4-linux_x86-x86.zip">Android
+9.0 R4 CTS Verifier - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r3-linux_x86-arm.zip">Android
-9.0 R3 CTS for Instant Apps - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r4-linux_x86-arm.zip">Android
+9.0 R4 CTS for Instant Apps - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r3-linux_x86-x86.zip">Android
-9.0 R3 CTS for Instant Apps - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r4-linux_x86-x86.zip">Android
+9.0 R4 CTS for Instant Apps - x86</a></li>
</ul>
<h2 id="android-81">Android 8.1</h2>
<p>Android 8.1 is the release of the development milestone code-named Oreo-MR1.
The source code for the following tests can be synced with the
-'android-cts-8.1_r10' tag in the open-source tree.</p>
+'android-cts-8.1_r11' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-8.1_r10-linux_x86-arm.zip">Android
-8.1 R10 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-8.1_r11-linux_x86-arm.zip">Android
+8.1 R11 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-8.1_r10-linux_x86-x86.zip">Android
-8.1 R10 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-8.1_r11-linux_x86-x86.zip">Android
+8.1 R11 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r10-linux_x86-arm.zip">Android
-8.1 R10 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r11-linux_x86-arm.zip">Android
+8.1 R11 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r10-linux_x86-x86.zip">Android
-8.1 R10 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r11-linux_x86-x86.zip">Android
+8.1 R11 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-80">Android 8.0</h2>
<p>Android 8.0 is the release of the development milestone code-named Oreo.
The source code for the following tests can be synced with the
-'android-cts-8.0_r14' tag in the open-source tree.</p>
+'android-cts-8.0_r15' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-8.0_r14-linux_x86-arm.zip">Android
-8.0 R14 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-8.0_r15-linux_x86-arm.zip">Android
+8.0 R15 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-8.0_r14-linux_x86-x86.zip">Android
-8.0 R14 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-8.0_r15-linux_x86-x86.zip">Android
+8.0 R15 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r14-linux_x86-arm.zip">Android
-8.0 R14 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r15-linux_x86-arm.zip">Android
+8.0 R15 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r14-linux_x86-x86.zip">Android
-8.0 R14 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r15-linux_x86-x86.zip">Android
+8.0 R15 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-71">Android 7.1</h2>
<p>Android 7.1 is the release of the development milestone code-named Nougat-MR1.
The source code for the following tests can be synced with the
-'android-cts-7.1_r22' tag in the open-source tree.</p>
+'android-cts-7.1_r23' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.1_r22-linux_x86-arm.zip">Android
-7.1 R22 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.1_r23-linux_x86-arm.zip">Android
+7.1 R23 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.1_r22-linux_x86-x86.zip">Android
-7.1 R22 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.1_r23-linux_x86-x86.zip">Android
+7.1 R23 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r22-linux_x86-arm.zip">Android
-7.1 R22 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r23-linux_x86-arm.zip">Android
+7.1 R23 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r22-linux_x86-x86.zip">Android
-7.1 R22 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r23-linux_x86-x86.zip">Android
+7.1 R23 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-70">Android 7.0</h2>
<p>Android 7.0 is the release of the development milestone code-named Nougat.
The source code for the following tests can be synced with the
-'android-cts-7.0_r26' tag in the open-source tree.</p>
+'android-cts-7.0_r27' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.0_r26-linux_x86-arm.zip">Android
-7.0 R26 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.0_r27-linux_x86-arm.zip">Android
+7.0 R27 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.0_r26-linux_x86-x86.zip">Android
-7.0 R26 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.0_r27-linux_x86-x86.zip">Android
+7.0 R27 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r26-linux_x86-arm.zip">Android
-7.0 R26 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r27-linux_x86-arm.zip">Android
+7.0 R27 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r26-linux_x86-x86.zip">Android
-7.0 R26 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r27-linux_x86-x86.zip">Android
+7.0 R27 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-60">Android 6.0</h2>
diff --git a/en/compatibility/cts/images/buttons_connected.png b/en/compatibility/cts/images/buttons_connected.png
index 2309a69b..a01cb729 100644
--- a/en/compatibility/cts/images/buttons_connected.png
+++ b/en/compatibility/cts/images/buttons_connected.png
Binary files differ
diff --git a/en/compatibility/cts/images/buttons_not_recognized.png b/en/compatibility/cts/images/buttons_not_recognized.png
index 9bdee4f4..53c47e70 100644
--- a/en/compatibility/cts/images/buttons_not_recognized.png
+++ b/en/compatibility/cts/images/buttons_not_recognized.png
Binary files differ
diff --git a/en/compatibility/cts/images/buttons_recognized.png b/en/compatibility/cts/images/buttons_recognized.png
index 84000404..167e2d5d 100644
--- a/en/compatibility/cts/images/buttons_recognized.png
+++ b/en/compatibility/cts/images/buttons_recognized.png
Binary files differ
diff --git a/en/compatibility/cts/images/buttons_summary.png b/en/compatibility/cts/images/buttons_summary.png
index 53f17f22..ca052f12 100644
--- a/en/compatibility/cts/images/buttons_summary.png
+++ b/en/compatibility/cts/images/buttons_summary.png
Binary files differ
diff --git a/en/compatibility/cts/images/play_postconnect.png b/en/compatibility/cts/images/play_postconnect.png
index a61706e0..631ccc4e 100644
--- a/en/compatibility/cts/images/play_postconnect.png
+++ b/en/compatibility/cts/images/play_postconnect.png
Binary files differ
diff --git a/en/compatibility/cts/images/play_preconnect.png b/en/compatibility/cts/images/play_preconnect.png
index 43f7e10b..cb506a8f 100644
--- a/en/compatibility/cts/images/play_preconnect.png
+++ b/en/compatibility/cts/images/play_preconnect.png
Binary files differ
diff --git a/en/compatibility/cts/images/play_summary.png b/en/compatibility/cts/images/play_summary.png
index 586f0433..fa7f6aa9 100644
--- a/en/compatibility/cts/images/play_summary.png
+++ b/en/compatibility/cts/images/play_summary.png
Binary files differ
diff --git a/en/compatibility/cts/images/record_postconnect.png b/en/compatibility/cts/images/record_postconnect.png
index d465474e..3f07146d 100644
--- a/en/compatibility/cts/images/record_postconnect.png
+++ b/en/compatibility/cts/images/record_postconnect.png
Binary files differ
diff --git a/en/compatibility/cts/images/record_postconnect_running.png b/en/compatibility/cts/images/record_postconnect_running.png
new file mode 100644
index 00000000..393f2237
--- /dev/null
+++ b/en/compatibility/cts/images/record_postconnect_running.png
Binary files differ
diff --git a/en/compatibility/cts/images/record_preconnect.png b/en/compatibility/cts/images/record_preconnect.png
index f6bf073b..11aaf85b 100644
--- a/en/compatibility/cts/images/record_preconnect.png
+++ b/en/compatibility/cts/images/record_preconnect.png
Binary files differ
diff --git a/en/compatibility/cts/images/record_summary.png b/en/compatibility/cts/images/record_summary.png
index 8d184c28..5240ba63 100644
--- a/en/compatibility/cts/images/record_summary.png
+++ b/en/compatibility/cts/images/record_summary.png
Binary files differ
diff --git a/en/compatibility/cts/images/wfov-cad-wfov-box.png b/en/compatibility/cts/images/wfov-cad-wfov-box.png
index e5d75aab..52d5f545 100644
--- a/en/compatibility/cts/images/wfov-cad-wfov-box.png
+++ b/en/compatibility/cts/images/wfov-cad-wfov-box.png
Binary files differ
diff --git a/en/compatibility/cts/usb-audio.html b/en/compatibility/cts/usb-audio.html
index bf3c9f7c..51138213 100644
--- a/en/compatibility/cts/usb-audio.html
+++ b/en/compatibility/cts/usb-audio.html
@@ -1,10 +1,11 @@
<html devsite>
- <head>
- <title>USB Audio CTS Verifier Tests</title>
- <meta name="project_path" value="/_project.yaml" />
- <meta name="book_path" value="/_book.yaml" />
- </head>
- <body>
+<head>
+ <title>USB Audio CTS Verifier Tests</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+</head>
+
+<body>
<!--
Copyright 2017 The Android Open Source Project
@@ -21,425 +22,578 @@
limitations under the License.
-->
-<p>
-Several <a href="/compatibility/cts/">Android Compatibility Test Suite (CTS)</a>
-tests for <a href="/devices/audio/usb">Android USB audio</a> require human
-intervention and the physical connection of USB audio peripherals. For these,
-additional CTS Verifier tests have been implemented.
-The requirements and protocols for these tests are explained in this document.
-</p>
-
-<h2 id="nomenclature">Nomenclature</h2>
-
-<p>
-Throughout this document, the term "device" and "peripheral" are used in a very
-precise manner:
-</p>
-<ul>
-<li><em>Device</em> refers to the Android device.</li>
-<li><em>Peripheral</em> is used to denote an external USB audio peripheral
-connected to the Android device.</li>
-</ul>
-
-<h2 id="recommended-peripherals">Mandated peripherals</h2>
-
-<p>
-In order for the USB audio CTS Verifier Tests to know the attributes and
-capabilities they are verifying, it is necessary to specify a set of known
-peripherals to test against. For this reason, specific brands and types are
-mandated below. Successful completion of the tests requires one peripheral of
-each category of peripherals specified below. Use of other types will cause the
-tests to fail.
-</p>
-
-<h3 id="usb-audio-interface">USB audio interface</h3>
-
-<p>Use one of the peripherals here to conduct the USB Audio Peripheral
-Attributes test, Play test, and Record test:</p>
-
-<ul>
- <li><a href="http://www.presonus.com/products/audiobox-22VSL">Presonus AudioBox
-22VSL</a></li>
- <li><a href="https://www.presonus.com/products/audiobox-usb">Presonus AudioBox
-USB</a></li>
-</ul>
-
-<table>
- <tr>
- <td width="50%">A USB audio interface (A PreSonus AudioBox 22VSL)
- </td>
- <td width="50%"><img src="/compatibility/cts/images/usb_audio_interface.png" alt="USB audio interface" width="300"
- id="usb_audio_interface" /></td>
- </tr>
-</table>
-
-<h3 id="usb-headset">USB headset</h3>
-
-<p>You may use the digital <a
-href="https://www.amazon.com/gp/product/B06VVGR2XM/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1">JBL
-Reflect Aware C in-ear Sport Headphones</a> to conduct the USB Audio Peripheral Play test and Headset
-buttons test without an adapter.</p>
-
-<p>Otherwise, use one of the USB-C digital to 3.5mm audio jack adapters here:
-
-<ul>
- <li><a href="https://store.google.com/us/product/usb_c_headphone_adapter">Google USB-C
- digital to 3.5 mm headphone adapter</a></li>
- <li><a
- href="https://www.htc.com/us/accessories-b/#!pid=htc-u11&acc=usb-c-digital-to-3-5mm-htc-u11">HTC
- USB-C digital to 3.5mm audio jack adapter</a></li>
-</ul>
-
-<p>Connect one of the adapters above with one of these Android-compatible
-analog headsets to conduct the USB Audio Peripheral Play test and Headset
-buttons test:</p>
-
-<ul>
- <li><a
- href="https://www.bose.com/en_us/products/headphones/earphones/soundsport-in-ear-headphones-samsung-devices.html">Bose
- SoundSport® in-ear headphones – Samsung and Android™ devices</a></li>
- <li><a
- href="https://www.urbanears.com/ue_us_en/reimers#reimers-black-belt">UrbanEars
- Reimers Black Belt made for Android</a></li>
-</ul>
-
-<table>
- <tr>
- <td width="50%">A USB headset
- </td>
- <td width="50%"><img src="/compatibility/cts/images/usb_headset.png" alt="USB headset" width="300"
- id="usb_headset" /></td>
- </tr>
-</table>
-<h3 id="peripheral-profiles">Peripheral profiles</h3>
+ <p>Several <a href="/compatibility/cts/">Android Compatibility Test Suite
+ (CTS)</a> tests for <a href="/devices/audio/usb">Android USB audio</a>
+ require the physical connection of USB audio
+ peripherals. For these, additional CTS Verifier tests have been implemented.</p>
-<p>
-The USB Audio CTS Verifier Tests "know about" these recommended peripherals
-through built-in profiles provided by Android that describe the attributes and
-capabilities of a peripheral. When the peripheral is connected to the Android
-device under test, the correct profile is automatically selected.
-</p>
-<h2 id="required-additional-hardware">Required additional hardware</h2>
+ <h2 id="nomenclature">Nomenclature</h2>
-<p>Patch cables (for loopback)
-2 short ¼" male to ¼" male patch cables to
-connect the outputs to the inputs of the USB</p>
-<table>
- <tr>
- <td width="50%">
- ¼" male to ¼" male patch cables
- </td>
- <td width="50%"><img src="/compatibility/cts/images/patch_cables.png" alt="patch cables" width="300"
- id="patch_cables" /></td>
- </td>
- </tr>
-</table>
-
-<p>USB peripheral cable</p>
-
-<table>
- <tr>
- <td width="50%">This cable (which typically comes with the peripheral), connects the USB
-audio peripheral to the host device
- </td>
- </td>
- <td width="50%"><img src="/compatibility/cts/images/peripheral_cable.png" alt="peripheral cable" width="300"
- id="peripheral_cable" /></td>
- </td>
- </tr>
-</table>
-
-<p>USB "On The Go" (OTG) adapter</p>
-
-<table>
- <tr>
- <td width="50%">A USB "On The Go" (OTG) adapter is required to physically connect the
-peripheral to the Android device and indicate to the Android device that it
-should assume the role of "host"
- </td>
- </td>
- <td width="50%"><img src="/compatibility/cts/images/otg_adapter.png" alt="OTG adapter" width="300"
- id="otg_adapter" /></td>
- </td>
- </tr>
-</table>
-
-<p>Analog headphones to monitor the output of the USB audio interface for the
-Play test.</p>
-
-<table>
- <tr>
- <td width="50%">Set of analog headphones.
- </td>
- </td>
- <td width="50%"><img src="/compatibility/cts/images/analog_headphones.png" alt="analog headphones" width="300"
- id="analog_headphones" /></td>
- </td>
- </tr>
-</table>
-
-<h2 id="tests">Tests</h2>
-
-<p>
-In each test, indicate test success by clicking the <strong>test pass</strong>
-(check mark) button. Otherwise, indicate test failure by clicking the
-<strong>test fail</strong> (exclamation point) button.
-</p>
-
-<h3 id="attributes-test">Attributes test</h3>
-
-<h4 id="abstract">Abstract</h4>
-
-<p>
-This test verifies that the attributes (supported sample-rates, channel
-configurations, sample formats…) match the set of a-priori known attributes of
-the device.
-</p>
-
-<h4 id="process">Process</h4>
-
-<p>
-After invoking the test from the main menu, connect a USB audio peripheral. If
-the attributes match, the <strong>test pass</strong> (check mark) button will be
-enabled. Click the <strong>test pass</strong> button to indicate success. If the
-attributes do not match, indicate test failure by clicking the <strong>test
-fail</strong> (exclamation point) button.
-</p>
-
-<table>
- <tr>
- <td width="50%">Select <em>USB Audio Peripheral Attributes Test</em>.
- </td>
- <td width="50%"><img src="/compatibility/cts/images/attributes_test.png" alt="attributes test" width="300"
- id="attributes test" /></td>
- </tr>
- <tr>
- <td width="50%">Summary of instructions is displayed
- </td>
- <td width="50%"><img src="/compatibility/cts/images/attributes_summary.png" alt="attributes summary" width="300"
- id="attributes_summary" /></td>
- </tr>
- <tr>
- <td width="50%">Pre-connect screen
- </td>
- <td width="50%"><img src="/compatibility/cts/images/attributes_preconnect.png" alt="attributes
- preconnect" width="300"
- id="attributes_preconnect" /></td>
- </tr>
- <tr>
- <td width="50%">USB audio peripheral connected to Android Device with peripheral cable
-and OTG adapter
- </td>
- <td width="50%"><img src="/compatibility/cts/images/attributes_connected.png" alt="attributes connected" width="300"
- id="attributes_connected" /></td>
- </tr>
- <tr>
- <td width="50%">Post-connect screen
- </td>
- <td width="50%"><img src="/compatibility/cts/images/attributes_postconnect.png" alt="attributes post connection" width="300"
- id="attributes_postconnect" /></td>
- </tr>
-</table>
-
-<h3 id="play-test">Play test</h3>
-
-<h4 id="abstract">Abstract</h4>
-
-<p>
-This test verifies that audio playback is functioning. It does this by
-generating a 1KHz test tone and presenting it in stereo (two-channels) to the
-USB audio peripheral.
-</p>
-
-<h4 id="process">Process</h4>
-
-<p>
-After invoking the test from the main menu, connect the USB audio interface,
-including the analog headset to the headset output jack on the interface (for
-monitoring).
-</p>
-
-<p>
-Press the <strong>PLAY</strong> button. If the test tone is heard in both
-channels of the headset, indicate test pass by clicking the <strong>test
-pass</strong> (check mark) button. If either or both of the channels do not play
-the tone, indicate test failure by clicking the <strong>test fail</strong>
-(exclamation point) button.
-</p>
-
-<h4 id="notes">Notes</h4>
-
-<table>
- <tr>
- <td width="50%">Select <em>USB Audio Peripheral Play Test</em>
- </td>
- <td width="50%"><img src="/compatibility/cts/images/play_test.png" alt="play test" width="300"
- id="play_test" /></td>
- </tr>
- <tr>
- <td width="50%">Summary of instructions is displayed
- </td>
- <td width="50%"><img src="/compatibility/cts/images/play_summary.png" alt="play summary" width="300"
- id="play_summary" /></td>
- </tr>
- <tr>
- <td width="50%">Pre-connect screen
- </td>
- <td width="50%"><img src="/compatibility/cts/images/play_preconnect.png" alt="play preconnect" width="300"
- id="play_preconnect" /></td>
- </tr>
- <tr>
- <td width="50%">Connect the USB audio peripheral to the Android Device
-<p>
-The headphones are connected to the headphone output jack on the USB audio
-interface for monitoring
- </td>
- <td width="50%"><img src="/compatibility/cts/images/play_connected.png" alt="play connected" width="300"
- id="play_connected" /></td>
- </tr>
- <tr>
- <td width="50%">Post-connect screen
- </td>
- <td width="50%"><img src="/compatibility/cts/images/play_postconnect.png" alt="play post connection" width="300"
- id="play_postconnect" /></td>
- </tr>
-</table>
+ <p>Throughout this document, the term "device" and "peripheral" are used in a
+ very precise manner:</p>
-<h3 id="record-loopback-test">Record (loopback) test</h3>
+ <ul>
+ <li><em>Device</em> refers to the Android device.</li>
-<h4 id="abstract">Abstract</h4>
-<p>
-This test verifies that audio recording is functioning. It does this by
-generating a tone at the outputs of the USB audio interface, which is then
-routed via patch cords to the inputs of the USB audio peripheral.
-</p>
+ <li><em>Peripheral</em> refers to an external USB audio peripheral
+ connected to the Android device.</li>
+ </ul>
-<h4 id="process">Process</h4>
-<p>
-After invoking the test from the main menu, connect the USB audio interface.
-Connect the analog outputs to the analog inputs with patch cables. Press the
-<strong>RECORD LOOPBACK</strong> button. If both the channels of the recorded
-test tone are shown in the view below, indicate test pass by clicking the
-<strong>test pass</strong> (check mark) button. If either or both of the
-channels does not display, indicate test failure by clicking the <strong>test
-fail</strong> (exclamation point) button.
-</p>
+ <h2 id="recommended-peripherals">Mandated peripherals</h2>
-<h4 id="notes">Notes</h4>
-<p>
-Ensure positive connection of both input and output jacks on the peripheral. It
-will be necessary to adjust the input levels to correctly display the recorded
-signal.
-</p>
+ <p>For the USB audio CTS Verifier Tests to know the attributes and
+ capabilities they are verifying, it is necessary to specify a set of known
+ peripherals to test against. For this reason, specific brands and types are
+ mandated below. Some tests require a specifically mandated peripheral. Other
+ tests simply require a USB audio peripheral that meets the requirements of
+ those specific test. Note that any of the peripherals mandated for the USB
+ Audio Peripherals Attributes Test will be compatible with the requirements
+ for the Play and Record tests.</p>
-<table>
- <tr>
- <td width="50%">Select <em>USB Audio Peripheral Record Test</em>
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_test.png" alt="record test" width="300"
- id="record_test" /></td>
- </tr>
- <tr>
- <td width="50%">Summary of instructions is displayed
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_summary.png" alt="record summary" width="300"
- id="record_summary" /></td>
- </tr>
- <tr>
- <td width="50%">Pre-connect screen
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_preconnect.png" alt="record preconnect" width="300"
- id="record_preconnect" /></td>
- </tr>
- <tr>
- <td width="50%">USB audio Interface with loopback connected to Android device
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_connected.png" alt="record connected" width="300"
- id="record_connected" /></td>
- </tr>
- <tr>
- <td width="50%">Connections on the back of the USB audio interface
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_connected_back.png" alt="record connected in back" width="300"
- id="record_connected_back" /></td>
- </tr>
- <tr>
- <td width="50%">Connections on the front of the USB audio interface
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_connected_front.png" alt="record connected in front" width="300"
- id="record_connected_front" /></td>
- </tr>
- <tr>
- <td width="50%">Post-connect screen, with record test running
- </td>
- <td width="50%"><img src="/compatibility/cts/images/record_postconnect.png" alt="record post connection" width="300"
- id="record_postconnect" /></td>
- </tr>
-</table>
-<h3></h3>
-<h3 id="headset-buttons-test">Headset buttons test</h3>
-<h4 id="abstract">Abstract</h4>
-<p>
-This test verifies the <strong>media/transport </strong>buttons on the
-recommended headset are correctly recognized.
-</p>
-<h4 id="process">Process</h4>
-<p>
-After invoking the test from the main menu, connect the USB headset peripheral.
-Press each <strong>media/transport</strong> (play, pause, volume up & volume
-down) button on the headset. As each is recognized, it will be recognized in the
-test panel. When all buttons have been recognized, the <strong>test
-pass</strong> (check mark) button will be enabled. Click the <strong>test
-pass</strong> button to indicate success. If the full set of buttons is not
-recognized, indicate test failure by clicking the <strong>test fail</strong>
-(exclamation point) button.
-</p>
-<h4 id="notes">Notes</h4>
-<table>
- <tr>
- <td width="50%">The USB headset peripheral connected to the Android device
-<p>
-Note the OTG adapter
- </td>
- <td width="50%"><img src="/compatibility/cts/images/buttons_connected.png" alt="buttons connected" width="300"
- id="buttons_connected" /></td>
- </tr>
- <tr>
- <td width="50%">Select <em>USB Audio Peripheral Buttons Test</em>
- </td>
- <td width="50%"><img src="/compatibility/cts/images/buttons_test.png" alt="buttons test" width="300"
- id="buttons_test" /></td>
- </tr>
- <tr>
- <td width="50%">Summary of instructions is displayed
- </td>
- <td width="50%"><img src="/compatibility/cts/images/buttons_summary.png" alt="buttons summary" width="300"
- id="buttons_summary" /></td>
- </tr>
- <tr>
- <td width="50%">Peripheral connected, but no buttons recognized (yet)
-<p>
-Note that the expected (buttons which are known to the device profile) are
-indicated with with white text; those that are not part of the test peripheral
-are displayed in grey text
- </td>
- <td width="50%"><img src="/compatibility/cts/images/buttons_not_recognized.png" alt="buttons not recognized" width="300"
- id="buttons not recognized" /></td>
- </tr>
+
+ <h3 id="usb-audio-interface">USB audio interface</h3>
+
+
+ <p>Use one of the peripherals here to conduct the USB Audio Peripheral
+ Attributes test. They can also be used for the Play test and Record test.</p>
+
+
+ <ul>
+ <li><a href="http://www.presonus.com/products/audiobox-22VSL" class="external">Presonus
+ AudioBox 22VSL</a>
+ </li>
+
+
+ <li><a href="https://www.presonus.com/products/audiobox-usb" class="external">Presonus
+ AudioBox USB</a>
+ </li>
+ </ul>
+
+
+ <p>Note that these two peripherals have been discontinued by the manufacturer
+ and will be deprecated in a future CTS Verifier release.</p>
+
+
+ <ul>
+ <li><a href=
+ "https://focusrite.com/usb-audio-interface/scarlett/scarlett-2i4" class="external">
+ Focusrite Scarlett 2i4</a>
+ </li>
+
+
+ <li><a href=
+ "http://www.musictribe.com/Categories/Behringer/Computer-Audio/Interfaces/UMC204HD/p/P0BK0" class="external">
+ Behringer UMC204HD</a>
+ </li>
+
+
+ <li><a href=
+ "https://www.roland.com/us/products/rubix24/" class="external">
+ Roland Rubix 24</a>
+ </li>
+
+
+ <li><a href=
+ "https://www.presonus.com/products/AudioBox-USB-96" class="external">
+ PreSonus AudioBox 96</a>
+ </li>
+ </ul>
+
+
+ <table>
+ <tr>
+ <td width="50%">A USB audio interface (A PreSonus AudioBox 22VSL).</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/usb_audio_interface.png" alt=
+ "USB audio interface" width="300" id="usb_audio_interface">
+ </td>
+ </tr>
+ </table>
+
+
+ <h3 id="usb-headset">USB headset</h3>
+
+
+ <p>The CTS Verifier USB Audio Buttons Test does not require a specific USB
+ headset peripheral. It can be an instance of either of the following:</p>
+
+
+ <ul>
+ <li><span style="color:#202124;">A USB Headset peripheral that supports the
+ <a href=
+ "/devices/accessories/headset/usb-headset-spec">Android
+ USB Headset Accessory Specification</a><span style="color:#202124;">. These
+ headset peripherals are often indicated by the manufacturer as "Made for
+ Android".</span></span>
+ </li>
+
+
+ <li>An analog headset which supports the
+ <a href=
+ "/devices/accessories/headset/usb-headset-spec">Android
+ USB Headset Accessory Specification </a>connected to a USB to analog audio converter (such as the
+ <a href=
+ "https://store.google.com/us/product/usb_c_headphone_adapter" class="external">Google USB-C
+ digital to 3.5 mm headphone adapter</a> or <a href=
+ "https://www.htc.com/us/accessories-b/#!pid=htc-u11&amp;acc=usb-c-digital-to-3-5mm-htc-u11"
+ class="external">HTC USB-C digital to 3.5mm audio jack adapter</a>).
+ <p>Known examples of compatible analog headset peripherals include the
+ <a href="https://www.bose.com/en_us/products/headphones/earphones/soundsport-in-ear-headphones-samsung-devices.html"
+ class="external">
+ Bose SoundSport® in-ear headphones – Samsung and Android™ devices</a>, and
+ the <a href=
+ "https://www.urbanears.com/ue_us_en/reimers#reimers-black-belt" class="external" >UrbanEars
+ Reimers Black Belt made for Android</a> headsets. These analog headsets
+ must be connected to the device USB port via a USB to Audio
+ converter.</p>
+ </li>
+ </ul>
+
+
+ <p>Note that in either case, the button must produce virtual key codes for all three of the
+ required buttons (volume up, volume down, play/pause) for the test to succeed.
+ Refer to the Software mapping section in <a href="/devices/accessories/headset/usb-headset-spec">
+ Android USB Headset Accessory Specification</a> for the virtual key codes.</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">A USB headset.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/usb_headset.png" alt=
+ "USB headset" width="300" id="usb_headset">
+ </td>
+ </tr>
+ </table>
+
+
+ <h2 id="required-additional-hardware">Required additional hardware</h2>
+
+
+ <p>Patch cables (for loopback) 2 short ¼" male to ¼" male patch cables to
+ connect the outputs to the inputs of the USB</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">¼" male to ¼" male patch cables.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/patch_cables.png"
+ alt="patch cables" width="300" id="patch_cables">
+ </td>
+ </tr>
+ </table>
+
+
+ <p>USB peripheral cable</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">This cable (which typically comes with the peripheral),
+ connects the USB audio peripheral to the host device.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/peripheral_cable.png"
+ alt="peripheral cable" width="300" id="peripheral_cable">
+ </td>
+ </tr>
+ </table>
+
+
+ <p>USB "On The Go" (OTG) adapter</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">A USB "On The Go" (OTG) adapter is required to physically
+ connect the peripheral to the Android device and indicate to the Android
+ device that it should assume the role of "host".</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/otg_adapter.png" alt=
+ "OTG adapter" width="300" id="otg_adapter">
+ </td>
+ </tr>
+ </table>
+
+
+ <p>Analog headphones to monitor the output of the USB audio interface for the
+ Play test.</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">Set of analog headphones.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/analog_headphones.png" alt="analog headphones"
+ width="300" id="analog_headphones">
+ </td>
+ </tr>
+ </table>
+
+
+ <h2 id="tests">Tests</h2>
+
+
+ <p>In each test, indicate test success by clicking the <strong>test
+ pass</strong> (check mark) button. Otherwise, indicate test failure by
+ clicking the <strong>test fail</strong> (exclamation point) button.</p>
+
+
+ <h3 id="attributes-test">Attributes test</h3>
+
+
+ <h4 id="abstract">Abstract</h4>
+
+
+ <p>This test verifies that the attributes (supported sample-rates, channel
+ configurations, sample formats, etc.) match the set of a-priori known attributes
+ of the device.</p>
+
+
+ <h4 id="process">Process</h4>
+
+
+ <p>After invoking the test from the main menu, connect a USB audio
+ peripheral. If the attributes match, the <strong>test pass</strong> (check
+ mark) button will be enabled.</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">Select <em>USB Audio Peripheral Attributes
+ Test.</em></td>
+
+ <td width="50%"><img src="/compatibility/cts/images/attributes_test.png"
+ alt="attributes test" width="300" id="attributes test">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Summary of instructions is displayed.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/attributes_summary.png" alt=
+ "attributes summary" width="300" id="attributes_summary">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Pre-connect screen.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/attributes_preconnect.png" alt=
+ "attributes preconnect" width="300" id="attributes_preconnect">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">USB audio peripheral connected to Android Device with
+ peripheral cable and OTG adapter.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/attributes_connected.png" alt=
+ "attributes connected" width="300" id="attributes_connected">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Post-connect screen.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/attributes_postconnect.png" alt=
+ "attributes post connection" width="300" id="attributes_postconnect">
+ </td>
+ </tr>
+ </table>
+
+
+ <h3 id="play-test">Play test</h3>
+
+
+ <h4 id="abstract">Abstract</h4>
+
+
+ <p>This test verifies that audio playback is functioning. It does this by
+ generating a 1KHz test tone and presenting it in stereo (two-channels) to the
+ USB audio peripheral.</p>
+
+
+ <h4 id="process">Process</h4>
+
+
+ <p>After invoking the test from the main menu, connect the USB audio
+ interface, including the analog headset, to the headset output jack on the
+ interface for monitoring.</p>
+
+
+ <p>Press the <strong>PLAY</strong> button. If the test tone is heard in both
+ channels of the headset, indicate test pass by clicking the <strong>test
+ pass</strong> (check mark) button. If either or both of the channels do not
+ play the tone, indicate test failure by clicking the <strong>test
+ fail</strong> (exclamation point) button.</p>
+
+
+ <h4 id="notes">Notes</h4>
+
+
+ <table>
+ <tr>
+ <td width="50%">Select <em>USB Audio Peripheral Play Test.</em></td>
+
+ <td width="50%"><img src="/compatibility/cts/images/play_test.png" alt=
+ "play test" width="300" id="play_test">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Summary of instructions is displayed.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/play_summary.png"
+ alt="play summary" width="300" id="play_summary">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Pre-connect screen.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/play_preconnect.png"
+ alt="play preconnect" width="300" id="play_preconnect">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">
+ Connect the USB audio peripheral to the Android Device.
+
+ <p>The headphones are connected to the headphone output jack on the USB
+ audio interface for monitoring.</p>
+ </td>
+
+ <td width="50%"><img src="/compatibility/cts/images/play_connected.png"
+ alt="play connected" width="300" id="play_connected">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Post-connect screen.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/play_postconnect.png"
+ alt="play post connection" width="300" id="play_postconnect">
+ </td>
+ </tr>
+ </table>
+
+
+ <h3 id="record-loopback-test">Record (loopback) test</h3>
+
+
+ <h4 id="abstract">Abstract</h4>
+
+
+ <p>This test verifies that audio recording is functioning. It does this by
+ generating a tone at the outputs of the USB audio interface, which is then
+ routed via patch cords to the inputs of the USB audio peripheral.</p>
+
+
+ <h4 id="process">Process</h4>
+
+
+ <p>After invoking the test from the main menu, connect the USB audio
+ interface. Connect the analog outputs to the analog inputs with patch cables.
+ Press the <strong>RECORD LOOPBACK</strong> button. If both the channels of
+ the recorded test tone are shown in the view below, indicate test pass by
+ clicking the <strong>test pass</strong> (check mark) button. If either or
+ both of the channels does not display, indicate test failure by clicking the
+ <strong>test fail</strong> (exclamation point) button.</p>
+
+
+ <h4 id="notes">Notes</h4>
+
+
+ <p>Ensure positive connection of both input and output jacks on the
+ peripheral. It will be necessary to adjust the input levels to correctly
+ display the recorded signal.</p>
+
+
+ <table>
+ <tr>
+ <td width="50%">Select <em>USB Audio Peripheral Record Test.</em></td>
+
+ <td width="50%"><img src="/compatibility/cts/images/record_test.png" alt=
+ "record test" width="300" id="record_test">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Summary of instructions is displayed.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/record_summary.png"
+ alt="record summary" width="300" id="record_summary">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Pre-connect screen.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/record_preconnect.png" alt="record preconnect"
+ width="300" id="record_preconnect">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">USB audio Interface with loopback connected to Android
+ device.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/record_connected.png"
+ alt="record connected" width="300" id="record_connected">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Connections on the back of the USB audio interface.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/record_connected_back.png" alt=
+ "record connected in back" width="300" id="record_connected_back">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Connections on the front of the USB audio interface.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/record_connected_front.png" alt=
+ "record connected in front" width="300" id="record_connected_front">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Post-connect screen.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/record_postconnect.png" alt=
+ "record post connection" width="300" id="record_postconnect">
+ </td>
+ </tr>
<tr>
- <td width="50%">Peripheral connected, and expected buttons recognized
- </td>
- <td width="50%"><img src="/compatibility/cts/images/buttons_recognized.png" alt="buttons recognized" width="300"
- id="buttons recognized" /></td>
- </tr>
-</table>
+ <td width="50%">Post-connect screen, with record test running.</td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/record_postconnect_running.png" alt=
+ "record postconnect running" width="300" id="attributes_postconnect_running.">
+ </td>
+ </tr>
+ </table>
+
+
+ <h3 id="headset-buttons-test">Headset buttons test</h3>
+
+
+ <h4 id="abstract">Abstract</h4>
+
+
+ <p>This test verifies the <strong>media/transport</strong> buttons on the
+ recommended headset are correctly recognized.</p>
+
+
+ <h4 id="process">Process</h4>
+
+
+ <p>After invoking the test from the main menu, connect the USB headset
+ peripheral. Press each <strong>media/transport</strong> (play, pause, volume
+ up & volume down) button on the headset. As each is recognized, it will be
+ recognized in the test panel. When all buttons have been recognized, the
+ <strong>test pass</strong> (check mark) button will be enabled. Click the
+ <strong>test pass</strong> button to indicate success. If the full set of
+ buttons is not recognized, indicate test failure by clicking the <strong>test
+ fail</strong> (exclamation point) button.</p>
+
+
+ <h4 id="notes">Notes</h4>
+
+
+ <table>
+ <tr>
+ <td width="50%">
+ The USB headset peripheral connected to the Android device.
+
+ <p>Note the OTG adapter.</p>
+ </td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/buttons_connected.png" alt="buttons connected"
+ width="300" id="buttons_connected">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Select <em>USB Audio Peripheral Buttons Test.</em></td>
+
+ <td width="50%"><img src="/compatibility/cts/images/buttons_test.png"
+ alt="buttons test" width="300" id="buttons_test">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Summary of instructions is displayed.</td>
+
+ <td width="50%"><img src="/compatibility/cts/images/buttons_summary.png"
+ alt="buttons summary" width="300" id="buttons_summary">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">
+ Peripheral connected, but no buttons recognized (yet).
+
+ <p>Note that the expected (buttons which are known to the device
+ profile) are indicated with white text; those that are not part of
+ the test peripheral are displayed in grey text.</p>
+ </td>
+
+ <td width="50%"><img src=
+ "/compatibility/cts/images/buttons_not_recognized.png" alt=
+ "buttons not recognized" width="300" id="buttons not recognized">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td width="50%">Peripheral connected, and expected buttons
+ recognized.</td>
+ <td width="50%"><img src=
+ "/compatibility/cts/images/buttons_recognized.png" alt=
+ "buttons recognized" width="300" id="buttons recognized">
+ </td>
+ </tr>
+ </table>
</body>
</html>
diff --git a/en/compatibility/tests/development/jar.md b/en/compatibility/tests/development/jar.md
index 6ec60f47..2b66c18e 100644
--- a/en/compatibility/tests/development/jar.md
+++ b/en/compatibility/tests/development/jar.md
@@ -33,7 +33,7 @@ copy and adapt to your needs:
[platform_testing/tests/example/jarhosttest/Android.bp](https://android.googlesource.com/platform/platform_testing/+/master/tests/example/jarhosttest/Android.bp)
This corresponds to the actual test code found at:
-[platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java](platform_testing/+/master/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java)
+[platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java](https://android.googlesource.com/platform/platform_testing/+/master/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java)
A snapshot of the Blueprint file is included here for convenience:
diff --git a/en/devices/tech/admin/testing-provision.html b/en/devices/tech/admin/testing-provision.html
index 0891ffa4..ddd83775 100644
--- a/en/devices/tech/admin/testing-provision.html
+++ b/en/devices/tech/admin/testing-provision.html
@@ -23,29 +23,32 @@
-<p>The Android for Work (AfW) Test Harness is a test suite for validating the
-AfW compatibility of Android devices. It includes support apps, test cases,
-configuration files, and a test runner (<code>afw-test-tradefed</code>) built on
-<code>cts-tradefed</code>. You should setup and run the AfW Test Harness after
-completing <a href="/devices/tech/admin/provision.html">Provisioning
-for Device Administration</a>.</p>
-
-<p class=note><strong>Note:</strong> Building and running the AfW Test Harness
+<p>The Android Enterprise (AE) Test Harness is a test suite for validating the
+enterprise compatibility of Android devices. It includes support apps, test
+cases, configuration files, and a test runner (<code>afw-test-tradefed</code>)
+built on <code>cts-tradefed</code>. You should setup and run the AE Test Harness
+after completing <a href="/devices/tech/admin/provision.html">Provisioning for
+Device Administration</a>.</p>
+
+<p class=note><strong>Note:</strong> Building and running the AE Test Harness
is similar to building and running the Android
<a href="/compatibility/cts/index.html">Compatibility Test Suite (CTS)</a>.</p>
+<p>Many of the tools, directories, and branch names include the <em>AfW</em>
+label. Android for Work (AfW) is a previous name for Android's enterprise
+features.</p>
+
<h2 id=setup_env>Setting up a development environment</h2>
-<p>The development environment for the AfW Test Harness is similar to Android
-OS. Follow the steps in
-<a href="/setup/requirements.html">Requirements</a> to set up a
-development machine.</p>
+<p>The development environment for the AE Test Harness is similar to Android OS.
+Follow the steps in <a href="/setup/requirements.html">Requirements</a> to set up
+a development machine.</p>
<h2 id=download_source>Downloading source code</h2>
-<p>Download the AfW Test Harness source code using the steps in
-<a href="/setup/downloading.html">Downloading the Source</a>. The AfW
+<p>Download the AE Test Harness source code using the steps in
+<a href="/setup/downloading.html">Downloading the Source</a>. The AE
Test Harness source code is in the <code>./test/AfwTestHarness</code> project.
-The branch name determines the version of AfW Test Harness to download (each
-Android platform has a separate version of AfW Test Harness). For Android 7.0,
+The branch name determines the version of AE Test Harness to download (each
+Android platform has a separate version of AE Test Harness). For Android 7.0,
the branch name is <code>afw-test-harness-nougat-dev</code>. To initialize
the repo and download source code for this branch, use:</p>
@@ -88,7 +91,7 @@ the corresponding tag. Available branches include:</p>
with the source code.</p>
<h3 id=view_studio>Viewing in Android Studio</h3>
-<p>To view and edit AfW source code in Android Studio:</p>
+<p>To view and edit the source code in Android Studio:</p>
<ol>
<li>Run the following commands
<pre class="devsite-click-to-copy">
@@ -99,9 +102,9 @@ with the source code.</p>
<li>In Android Studio, open <code>android.ipr</code>.</li>
</ol>
-<p>The AfW Test Harness source code is in <code>test/AfwTestHarness</code>.</p>
+<p>The AE Test Harness source code is in <code>test/AfwTestHarness</code>.</p>
-<h2 id=config_harness>Configuring the AfW Test Harness</h2>
+<h2 id=config_harness>Configuring the AE Test Harness</h2>
<p>You can customize the harness by configuring
<code>test/AfwTestHarness/afw-test.props</code>. To run the harness
successfully, complete the following steps:</p>
@@ -121,12 +124,12 @@ with the following properties:
work_account_username
work_account_password
</pre>
-<p>The AfW Test Harness uses Test DPC to test provisioning flows, so accounts
+<p>The AE Test Harness uses Test DPC to test provisioning flows, so accounts
<strong>must</strong> bind to Test DPC to run the test harness.</p>
</li>
</ol>
-<h2 id=build_harness>Building the AfW Test Harness</h2>
+<h2 id=build_harness>Building the AE Test Harness</h2>
<p>Initialize the build configuration using:</p>
<pre class="devsite-click-to-copy">
<code class="devsite-terminal">source build/envsetup.sh</code>
@@ -145,8 +148,8 @@ harness. This directory is also zipped into a file
(<code>out/host/linux-x86/afw-th/android-afw-test-harness.zip</code>)
for distribution.</p>
-<h2 id=run_harness>Running the AfW Test Harness</h2>
-<p>Use the following steps to run the AfW Test Harness:</p>
+<h2 id=run_harness>Running the AE Test Harness</h2>
+<p>Use the following steps to run the AE Test Harness:</p>
<ol>
<li>In your build environment, launch the test runner using:
<pre class="devsite-terminal devsite-click-to-copy">
@@ -194,7 +197,7 @@ To view all packages, use the command <code>list packages</code>. For more
options, use the command <code>run cts --help</code>.</li>
</ol>
-<h2 id=debug_harness>Debugging the AfW Test Harness</h2>
+<h2 id=debug_harness>Debugging the AE Test Harness</h2>
<p>Run all commands in the afw-test-tradefed console (<code>cts-tf</code>),
which you can launch by running <code>afw-test-tradefed</code>.</p>
<ul>
@@ -247,8 +250,8 @@ out/host/linux-x86/afw-th/android-cts/repository/logs/<em>start-time</em>/host_l
</li>
</ul>
</li>
-<li>A test package automates an AfW provisioning flow by going through UI pages
-and recording a navigation log in the device logcat file for each page.
+<li>A test package automates an enterprise provisioning flow by going through UI
+pages and recording a navigation log in the device logcat file for each page.
Example: <code>afwtest.AutomationDriver:
Navigating:com.android.afwtest.uiautomator.pages.gms.AddAccountPage</code>
<br>UI pages for test package
diff --git a/en/devices/tech/config/perms-whitelist.html b/en/devices/tech/config/perms-whitelist.html
index 918f89eb..8f91f9fa 100644
--- a/en/devices/tech/config/perms-whitelist.html
+++ b/en/devices/tech/config/perms-whitelist.html
@@ -31,6 +31,14 @@
permissions.
</p>
+<aside class="note">
+ <strong>Note:</strong>
+ Whitelisting is required only for
+ <a href="https://developer.android.com/guide/topics/manifest/permission-element">permissions</a>
+ declared by applications with
+ <a href="https://developer.android.com/guide/topics/manifest/manifest-element#package">package</a>="android".
+</aside>
+
<h2 id="adding-whitelists">Adding whitelists</h2>
<p>
Permission whitelists for applications can be listed in a single or multiple
diff --git a/en/devices/tech/connect/esim-modem-requirements.md b/en/devices/tech/connect/esim-modem-requirements.md
index a67fb83d..f1c16776 100644
--- a/en/devices/tech/connect/esim-modem-requirements.md
+++ b/en/devices/tech/connect/esim-modem-requirements.md
@@ -24,22 +24,40 @@ removable eSIM 4FF card.
## General requirements
-These are the modem requirements for general eSIM support. The LPA needs the
-modem to support all of these requirements to function properly.
+These are the modem requirements for general eSIM support. The Local Profile
+Assistant (LPA) needs the modem to support all of these requirements to function
+properly.
### Handle the default boot profile correctly
When there is no operational or test profile enabled on eSIM, the default boot
profile is enabled. The modem shall recognize the eSIM with the default boot
-profile enabled as a valid SIM. The modem shall report card as valid to upper
-layers and shall not turn off the SIM power.
+profile enabled as a valid SIM, shall report the card as valid to upper layers,
+and shall not turn off the SIM power.
### Send terminal capabilities correctly
-When opening a logical channel to ISD-R, the modem shall send correct terminal
-capabilities to the eSIM. The terminal capability must encode support for eUICC
-capabilities: "Local Profile Management" and "Profile Download" per ETSI TS 102
-221.
+On power-up, the modem shall send correct terminal capabilities to the eSIM. The
+terminal capability shall encode support for eUICC capabilities: "Local Profile
+Management" and "Profile Download".
+
+See
+[ETSI TS 102 221 Section 11.1.19.2.4](https://www.etsi.org/deliver/etsi_ts/102200_102299/102221/15.00.00_60/ts_102221v150000p.pdf):
+“Additional Terminal capability indications related to eUICC". Bytes [1-3] shall
+be: ‘83 (Tag) ‘01’ (Length) ‘07’ (eUICC capabilities).
+
+### (Optional) Support eSIM OS OTA updates
+
+Note: As eSIM OS over-the-air (OTA) updates are not standardized, this depends
+on the vendor providing the eSIM OS.
+
+The modem shall support all requirements for eSIM OS OTA updates, for example
+switching to passthrough mode and keeping the eSIM powered on during the OTA
+update procedure.
+
+## HAL requirements
+
+These are API implementations that are required for general eSIM support.
### Implement setSimPower API in Radio HAL v1.1
@@ -55,37 +73,42 @@ API, which indicates whether a slot contains an eSIM.
### Implement getIccCardStatus API in IRadio HAL v1.2
-The modem shall provide the ATR and slot ID of the card status as specified in
-the
-[getIccCardStatus](/reference/hidl/android/hardware/radio/1.0/IRadio#getIccCardStatus)
-API. This API was first introduced in v1.0 and, in v1.2,
+The modem shall provide the Answer To Reset (ATR) and slot ID of the card status
+in the
+[getIccCardStatusResponse](https://source.android.com/reference/hidl/android/hardware/radio/1.0/IRadioResponse#geticccardstatusresponse)
+API. This API was introduced in v1.0 and, in v1.2,
[CardStatus](https://android.googlesource.com/platform/hardware/interfaces/+/master/radio/1.2/types.hal#341){: .external}
was changed to include
[ATR](https://android.googlesource.com/platform/hardware/interfaces/+/master/radio/1.2/types.hal#351){: .external}.
-### (Optional) Support eSIM OS OTA
+### Set CardState:RESTRICTED on SIM lock (subsidy lock)
-As the eSIM OS OTA is not standardized, this depends on the vendor providing
-eSIM OS. The modem shall support all requirements for eSIM OS OTA, for example
-switching to passthrough mode and keeping the eSIM powered on during the OTA
-procedure.
+If the eSIM is SIM locked (subsidy locked), the modem shall set card state as
+[`CardState:RESTRICTED`](https://source.android.com/reference/hidl/android/hardware/radio/1.0/types#cardstate)
+in the
+[getIccCardStatusResponse](https://source.android.com/reference/hidl/android/hardware/radio/1.0/IRadioResponse#geticccardstatusresponse)
+API.
-## Logging requirements
+### (Optional) Implement setSimSlotsMapping API in IRadioConfig HAL v1.0
-These are general modem logging requirements to properly debug eSIM issues.
+Note: Only required in device configurations that require slot switching, for
+example, where the device has one eSIM slot and one physical/removable SIM
+(pSIM) slot, and only one can be active at the same time.
-### Provide PC based tools to capture detailed modem logs
+The modem shall support the
+[setSimSlotsMapping API](https://android.googlesource.com/platform/hardware/interfaces/+/master/radio/config/1.0/IRadioConfig.hal#81){: .external},
+which sets the mapping from physical slots to logical slots. The LPA uses this
+API to select the active SIM slot.
+
+## Logging requirements
-Logging shall capture all the OTA packets for Cellular RATs (4G, 3G, 2G) and IMS
-(SIP, RTP, RTCP, XCAP). ESP protected SIP packets shall be logged without ESP.
-OTA parser shall be compliant to 3GPP specs.
+These are general modem logging requirements for debugging eSIM issues.
-Logging shall support capture IP packets on all network interfaces.
+### Log capture
-Logging shall support capturing debug logs and protocol layer information
-including protocol layer states, radio power measurements, network cell
-information, packet TX/RX statistics, inter-layer messaging, inter-processor
-communication, SIM functionality & APDU logging, and RIL logging.
+Logging shall capture inter-processor communication, SIM functionality, Radio
+Interface Layer (RIL) logging, and application protocol data unit (APDU)
+logging.
### On-device logging
diff --git a/en/devices/tech/debug/fuzz-sanitize.html b/en/devices/tech/debug/fuzz-sanitize.html
index 55c517da..2c3308ca 100644
--- a/en/devices/tech/debug/fuzz-sanitize.html
+++ b/en/devices/tech/debug/fuzz-sanitize.html
@@ -1,6 +1,6 @@
<html devsite>
<head>
- <title>Dynamic Analysis</title>
+ <title>Security Testing</title>
<meta name="project_path" value="/_project.yaml" />
<meta name="book_path" value="/_book.yaml" />
</head>
@@ -21,8 +21,8 @@
limitations under the License.
-->
- <p>This section summarizes useful tools for dynamic analysis and debugging
- from a security perspective. It covers some tools for fuzzing, sanitizing,
+ <p>This section summarizes tools for security testing and debugging.
+ It covers some tools for fuzzing, sanitizing,
and preemptively mitigating exploits. For general debugging, see
<a href="/devices/tech/debug/">the debugging section</a>.</p>
@@ -31,4 +31,6 @@ While Android has supported fuzzing tools for many releases, Android 8.0
and later include more fuzzing support, tighter fuzzing tool integration in the
Android build system, and greater dynamic analysis support on the Android kernels.
</p>
+<p>In addition to security-specific testing, Android includes general
+<a href="/compatibility/tests">platform testing</a> for compatibility.</p>
</body></html>
diff --git a/en/security/bulletin/2018-09-01.html b/en/security/bulletin/2018-09-01.html
index 5c5699ff..e9929d76 100644
--- a/en/security/bulletin/2018-09-01.html
+++ b/en/security/bulletin/2018-09-01.html
@@ -400,45 +400,6 @@ class="external">A-110107376</a></td>
</table>
-<h3 id="update-media-framework">Update: Media Framework</h3>
-<p>The most severe vulnerability in this section could enable a remote attacker
-using a specially crafted file to execute arbitrary code within the context of
-a privileged process.</p>
-
-<table>
- <col width="21%">
- <col width="21%">
- <col width="14%">
- <col width="14%">
- <col width="30%">
- <tr>
- <th>CVE</th>
- <th>References</th>
- <th>Type</th>
- <th>Severity</th>
- <th>Updated AOSP versions</th>
- </tr>
- <tr>
- <td>CVE-2018-9411</td>
- <td><a
-href="https://android.googlesource.com/platform/system/libhidl/+/93484b9b015d47c0f7e5f4449a214b2fed8bed4f"
-class="external">A-79376389</a></td>
- <td>RCE</td>
- <td>Critical</td>
- <td>8.0, 8.1, 9</td>
- </tr>
- <tr>
- <td>CVE-2018-9427</td>
- <td><a
-href="https://android.googlesource.com/platform/frameworks/av/+/29d991fac25b261a72ce73f96c9df594ea5b9242"
-class="external">A-77486542</a></td>
- <td>RCE</td>
- <td>Critical</td>
- <td>8.0, 8.1, 9</td>
- </tr>
-</table>
-
-
<h2 id="2018-09-05-details">2018-09-05 security patch level vulnerability details</h2>
<p>
In the sections below, we provide details for each of the security
diff --git a/en/security/bulletin/2018-11-01.html b/en/security/bulletin/2018-11-01.html
index 9bfd16ae..bd9f38ee 100644
--- a/en/security/bulletin/2018-11-01.html
+++ b/en/security/bulletin/2018-11-01.html
@@ -305,64 +305,6 @@ permissions.</p>
</table>
-<h3 id="update-media-framework">Update: Media framework</h3>
-
-<table>
-<col width="21%">
-<col width="21%">
-<col width="14%">
-<col width="14%">
-<col width="30%">
- <tr>
- <th>CVE</th>
- <th>References</th>
- <th>Type</th>
- <th>Severity</th>
- <th>Updated AOSP versions</th>
- </tr>
- <tr>
- <td>CVE-2018-9347</td>
- <td><a
- href="https://android.googlesource.com/platform/external/sonivox/+/2992eec4359d66debd0aad8f745315f57de761ae"
- class="external">A-68664359</a>
- [<a href="https://android.googlesource.com/platform/external/sonivox/+/3cc5df82112cbb5b75349f0f2b733dcba3660a2f">2</a>]
- [<a href="https://android.googlesource.com/platform/frameworks/av/+/9bc021a323873091ea98f77b3b3dc4732d1c92e6">3</a>]
- </td>
- <td>DoS</td>
- <td>Moderate</td>
- <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
- </tr>
-</table>
-
-
-<h3 id="update-system">Update: System</h3>
-
-<table>
-<col width="21%">
-<col width="21%">
-<col width="14%">
-<col width="14%">
-<col width="30%">
- <tr>
- <th>CVE</th>
- <th>References</th>
- <th>Type</th>
- <th>Severity</th>
- <th>Updated AOSP versions</th>
- </tr>
- <tr>
- <td>CVE-2018-9457</td>
- <td><a
- href="https://android.googlesource.com/platform/packages/apps/Settings/+/0f52a07037e3795b9173af1397086afa3c2e1913"
- class="external">A-72872376</a></td>
- <td>EoP</td>
- <td>Moderate</td>
- <td>8.0, 8.1, 9</td>
- </tr>
-</table>
-
-
-
<h2 id="2018-11-05-details">2018-11-05 security patch level vulnerability details</h2>
<p>
In the sections below, we provide details for each of the security
@@ -402,18 +344,6 @@ process.</p>
<td>High</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
</tr>
- <tr>
- <td>CVE-2018-9526</td>
- <td><a
- href="https://android.googlesource.com/device/google/marlin/+/fa7f7382e8b39f7ca209824f97788ab25c44f6a3"
- class="external">A-112159033</a>
- [<a href="https://android.googlesource.com/platform/frameworks/base/+/8e81142af3dceb913ca50f67df3ded84233f932a">2</a>]
- [<a href="https://android.googlesource.com/platform/hardware/qcom/sdm845/gps/+/a5f7c07edd96c69171e8bd758addda7d5c30e3eb">3</a>]
- </td>
- <td>ID</td>
- <td>High</td>
- <td>9</td>
- </tr>
</table>
diff --git a/en/security/bulletin/2018.html b/en/security/bulletin/2018.html
index 1cf0b6a7..8feee59b 100644
--- a/en/security/bulletin/2018.html
+++ b/en/security/bulletin/2018.html
@@ -38,15 +38,13 @@ of all bulletins, see the <a href="/security/bulletin/index.html">Android Securi
</tr>
<tr>
<td><a href="/security/bulletin/2018-11-01.html">November 2018</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/2018-11-01.html">English</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
</td>
<td>November 5, 2018</td>
<td>2018-11-01<br>
diff --git a/en/security/bulletin/index.html b/en/security/bulletin/index.html
index e11d1962..3b13b8df 100644
--- a/en/security/bulletin/index.html
+++ b/en/security/bulletin/index.html
@@ -70,15 +70,13 @@ Android Open Source Project (AOSP), the upstream Linux kernel, and system-on-chi
</tr>
<tr>
<td><a href="/security/bulletin/2018-11-01.html">November 2018</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/2018-11-01.html">English</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
</td>
<td>November 5, 2018</td>
<td>2018-11-01<br>
diff --git a/en/security/bulletin/pixel/2018-11-01.html b/en/security/bulletin/pixel/2018-11-01.html
index ecdadb18..5d6d8e6c 100644
--- a/en/security/bulletin/pixel/2018-11-01.html
+++ b/en/security/bulletin/pixel/2018-11-01.html
@@ -66,6 +66,34 @@ ID, such as the AOSP change list. When multiple changes relate to a single bug,
additional references are linked to numbers following the bug ID.
</p>
+<h3 id="framework-05">Framework</h3>
+
+<table>
+<col width="21%">
+<col width="21%">
+<col width="14%">
+<col width="14%">
+<col width="30%">
+ <tr>
+ <th>CVE</th>
+ <th>References</th>
+ <th>Type</th>
+ <th>Severity</th>
+ <th>Updated AOSP versions</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9526</td>
+ <td><a
+ href="https://android.googlesource.com/device/google/marlin/+/fa7f7382e8b39f7ca209824f97788ab25c44f6a3"
+ class="external">A-112159033</a>
+ [<a href="https://android.googlesource.com/platform/frameworks/base/+/8e81142af3dceb913ca50f67df3ded84233f932a">2</a>]
+ [<a href="https://android.googlesource.com/platform/hardware/qcom/sdm845/gps/+/a5f7c07edd96c69171e8bd758addda7d5c30e3eb">3</a>]
+ </td>
+ <td>ID</td>
+ <td>High</td>
+ <td>9</td>
+ </tr>
+</table>
<h3 id="htc-components">HTC components</h3>
diff --git a/en/security/bulletin/pixel/2018.html b/en/security/bulletin/pixel/2018.html
index 93e0b219..a7854882 100644
--- a/en/security/bulletin/pixel/2018.html
+++ b/en/security/bulletin/pixel/2018.html
@@ -40,15 +40,13 @@ Bulletins</a> homepage.</p>
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-11-01.html">November 2018</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/pixel/2018-11-01.html">English</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
</td>
<td>November 5, 2018</td>
<td>2018-11-05</td>
diff --git a/en/security/bulletin/pixel/index.html b/en/security/bulletin/pixel/index.html
index 9cebd9b7..f89274e6 100644
--- a/en/security/bulletin/pixel/index.html
+++ b/en/security/bulletin/pixel/index.html
@@ -60,15 +60,13 @@ AOSP 24&ndash;48 hours after the Pixel&hairsp;/&hairsp;Nexus bulletin is release
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-11-01.html">November 2018</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/pixel/2018-11-01.html">English</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
</td>
<td>November 5, 2018</td>
<td>2018-11-05</td>
diff --git a/en/setup/build/building-kernels.html b/en/setup/build/building-kernels.html
index 28e0708a..cb795c79 100644
--- a/en/setup/build/building-kernels.html
+++ b/en/setup/build/building-kernels.html
@@ -44,6 +44,18 @@
<th>Build configuration</th>
</tr>
<tr>
+ <td>blueline</td>
+ <td>device/google/crosshatch-kernel</td>
+ <td><a href="#building-b1c1">instructions</a></td>
+ <td>b1c1_defconfig</td>
+ </tr>
+ <tr>
+ <td>crosshatch</td>
+ <td>device/google/crosshatch-kernel</td>
+ <td><a href="#building-b1c1">instructions</a></td>
+ <td>b1c1_defconfig</td>
+ </tr>
+ <tr>
<td>taimen</td>
<td>device/google/wahoo-kernel</td>
<td>kernel/msm</td>
@@ -271,7 +283,7 @@ be used as a starting point for work on NVIDIA Tegra chipsets.</p>
can be used as a starting point for work on Intel x86_64 chipsets.</p>
<pre class="devsite-terminal devsite-click-to-copy">git clone https://android.googlesource.com/kernel/x86_64</pre>
-<h2 id="building">Building the kernel</h2>
+<h2 id="building">Building the kernel manually</h2>
<p>When you know the last commit message for a kernel and have successfully
downloaded the kernel source and prebuilt gcc, you are ready to build the
kernel. The following build commands use the hikey kernel:</p>
@@ -307,5 +319,19 @@ export TARGET_PREBUILT_KERNEL=$your_kernel_path/arch/arm/boot/zImage-dtb
the correct filename for your kernel, refer to
<code>device/<var>VENDOR</var>/<var>NAME</var></code> in the kernel source.</p>
+
+<h2 id="building-b1c1">Building Pixel 3 (blueline) and Pixel 3 XL (crosshatch) kernels</h2>
+
+<p>For Pixel 3 and Pixel 3 XL, the kernel source is separated into multiple
+projects. Use <a href="/setup/develop/repo#init">repo</a> to download the
+kernel source for the appropriate branch (as of this writing, <code><var>VERSION</var></code> should be
+<code>4.9-pie-qpr1</code>):</p>
+
+<pre class="devsite-terminal devsite-click-to-copy">repo init -u https://android.googlesource.com/platform/manifest -b android-msm-bluecross-$<var>VERSION</var></pre>
+<pre class="devsite-terminal devsite-click-to-copy">repo sync</pre>
+
+<p>Then build the kernel with:</p>
+
+<pre class="devsite-terminal devsite-click-to-copy">sh build/build.sh</pre>
</body>
</html>
diff --git a/en/setup/contribute/code-style.html b/en/setup/contribute/code-style.html
index ddf945cd..bc9ad880 100644
--- a/en/setup/contribute/code-style.html
+++ b/en/setup/contribute/code-style.html
@@ -208,7 +208,7 @@ and import statements (each block separated by a blank line) and finally the
class or interface declaration. In the Javadoc comments, describe what the class
or interface does.</p>
<pre><code>/*
- * Copyright 2017 The Android Open Source Project
+ * Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/en/setup/start/build-numbers.html b/en/setup/start/build-numbers.html
index 545f93f9..31f53d26 100644
--- a/en/setup/start/build-numbers.html
+++ b/en/setup/start/build-numbers.html
@@ -241,6 +241,20 @@ following table.
</thead>
<tbody>
<tr>
+ <td>PPR2.181005.003.A1</td>
+ <td>android-9.0.0_r18</td>
+ <td>Pie</td>
+ <td>Pixel XL, Pixel</td>
+ <td>2018-11-01</td>
+ </tr>
+ <tr>
+ <td>PPR1.181005.003.A1</td>
+ <td>android-9.0.0_r17</td>
+ <td>Pie</td>
+ <td>Pixel XL, Pixel</td>
+ <td>2018-11-01</td>
+ </tr>
+ <tr>
<td>PQ1A.181105.017.A1</td>
<td>android-9.0.0_r16</td>
<td>Pie</td>
diff --git a/en/setup/start/p-release-notes.md b/en/setup/start/p-release-notes.md
index ad5a81ac..5e42ed73 100644
--- a/en/setup/start/p-release-notes.md
+++ b/en/setup/start/p-release-notes.md
@@ -77,7 +77,7 @@ passing the unified device tree blob to the kernel.
#### DTO Image Header Versioning
-This release inroduces a
+This release introduces a
[new version field](/devices/architecture/dto/partitions) in the DTBO image header.
#### DTBO Verification
diff --git a/ja/security/bulletin/2018-07-01.html b/ja/security/bulletin/2018-07-01.html
index 148c2dab..b84adcd7 100644
--- a/ja/security/bulletin/2018-07-01.html
+++ b/ja/security/bulletin/2018-07-01.html
@@ -30,7 +30,7 @@ Android パートナーã«ã¯ã€æƒ…報公開㮠1 ã‹æœˆå‰ã¾ã§ã«ã™ã¹ã¦ã®
下記ã®å•é¡Œã®ã†ã¡æœ€ã‚‚é‡å¤§åº¦ã®é«˜ã„ã‚‚ã®ã¯ã€ãƒ¡ãƒ‡ã‚£ã‚¢ フレームワークã«é‡å¤§ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ãŒã‚ã‚‹ãŸã‚ã€ãƒªãƒ¢ãƒ¼ãƒˆã®æ”»æ’ƒè€…ãŒç‰¹åˆ¥ã«ç´°å·¥ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã—ã¦ã€ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã™ã‚‹ãŠãã‚ŒãŒã‚ã‚‹ã“ã¨ã§ã™ã€‚<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦ã®è©•ä¾¡</a>ã¯ã€æ”»æ’ƒå¯¾è±¡ã®ç«¯æœ«ã§ãã®è„†å¼±æ€§ãŒæ‚ªç”¨ã•ã‚ŒãŸå ´åˆã®å½±éŸ¿ã«åŸºã¥ãã‚‚ã®ã§ã€ãƒ—ラットフォームやサービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–ãŒé–‹ç™ºç›®çš„ã¾ãŸã¯ä¸æ­£ãªå›žé¿ã«ã‚ˆã‚Šç„¡åŠ¹ã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’å‰æã¨ã—ã¦ã„ã¾ã™ã€‚
</p>
<p>
-ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="/security/enhancements/index.html">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="#mitigations">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
+ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="#mitigations">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="/security/enhancements/index.html">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
</p>
<p class="note">
<strong>注:</strong> 最新ã®ç„¡ç·šï¼ˆOTA)アップデート㨠Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã«ã¤ã„ã¦ã®æƒ…å ±ã¯ã€<a href="/security/bulletin/pixel/2018-07-01.html">2018 å¹´ 7 月㮠Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±</a>ã§ã”覧ã„ãŸã ã‘ã¾ã™ã€‚
diff --git a/ja/security/bulletin/2018-08-01.html b/ja/security/bulletin/2018-08-01.html
index 27867764..4368b155 100644
--- a/ja/security/bulletin/2018-08-01.html
+++ b/ja/security/bulletin/2018-08-01.html
@@ -29,7 +29,7 @@ Android パートナーã«ã¯ã€æƒ…報公開㮠1 ã‹æœˆå‰ã¾ã§ã«ã™ã¹ã¦ã®
下記ã®å•é¡Œã®ã†ã¡æœ€ã‚‚é‡å¤§åº¦ã®é«˜ã„ã‚‚ã®ã¯ã€ãƒªãƒ¢ãƒ¼ãƒˆã®æ”»æ’ƒè€…ãŒç‰¹åˆ¥ã«ç´°å·¥ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã—ã¦ã€ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã™ã‚‹ãŠãã‚Œã®ã‚ã‚‹é‡å¤§ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã§ã™ã€‚<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦ã®è©•ä¾¡</a>ã¯ã€æ”»æ’ƒå¯¾è±¡ã®ç«¯æœ«ã§ãã®è„†å¼±æ€§ãŒæ‚ªç”¨ã•ã‚ŒãŸå ´åˆã®å½±éŸ¿ã«åŸºã¥ãã‚‚ã®ã§ã€ãƒ—ラットフォームやサービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–ãŒé–‹ç™ºç›®çš„ã¾ãŸã¯ä¸æ­£ãªå›žé¿ã«ã‚ˆã‚Šç„¡åŠ¹ã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’å‰æã¨ã—ã¦ã„ã¾ã™ã€‚
</p>
<p>
-ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="/security/enhancements/index.html">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="#mitigations">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
+ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="#mitigations">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="/security/enhancements/index.html">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
</p>
<p class="note">
<strong>注:</strong> 最新ã®ç„¡ç·šï¼ˆOTA)アップデート㨠Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã«ã¤ã„ã¦ã®æƒ…å ±ã¯ã€<a href="/security/bulletin/pixel/2018-08-01.html">2018 å¹´ 8 月㮠Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±</a>ã§ã”覧ã„ãŸã ã‘ã¾ã™ã€‚
diff --git a/ja/security/bulletin/2018-09-01.html b/ja/security/bulletin/2018-09-01.html
index b42c5378..5ddd45e2 100644
--- a/ja/security/bulletin/2018-09-01.html
+++ b/ja/security/bulletin/2018-09-01.html
@@ -24,12 +24,12 @@
<p>Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«ã¯ã€Android æ­è¼‰ç«¯æœ«ã«å½±éŸ¿ã‚’与ãˆã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã®è©³ç´°ã‚’掲載ã—ã¦ã„ã¾ã™ã€‚セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-09-05 以é™ã§ã¯ã€ä¸‹è¨˜ã®ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚端末ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705" class="external">Android ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’確èªã—ã¦æ›´æ–°ã™ã‚‹æ–¹æ³•</a>ã‚’ã”覧ãã ã•ã„。
</p>
<p>
-Android パートナーã«ã¯ã€æƒ…報公開㮠1 ã‹æœˆå‰ã¾ã§ã«ã™ã¹ã¦ã®å•é¡ŒãŒé€šçŸ¥ã•ã‚Œã¾ã™ã€‚Android オープンソース プロジェクト(AOSP)リãƒã‚¸ãƒˆãƒªã«ã€ä¸‹è¨˜ã®å•é¡Œã«å¯¾ã™ã‚‹ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ãƒ‘ッãƒã‚’リリースã—ã¦ã„ã¾ã™ã€‚AOSP 以外ã®ãƒ‘ッãƒã¸ã®ãƒªãƒ³ã‚¯ã‚‚掲載ã—ã¦ã„ã¾ã™ã€‚</p>
+Android パートナーã«ã¯ã€æƒ…報公開㮠1 ã‹æœˆå‰ã¾ã§ã«ã™ã¹ã¦ã®å•é¡ŒãŒé€šçŸ¥ã•ã‚Œã¾ã™ã€‚Android オープンソース プロジェクト(AOSP)リãƒã‚¸ãƒˆãƒªã«ã€ä¸‹è¨˜ã®å•é¡Œã«å¯¾ã™ã‚‹ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ãƒ‘ッãƒã‚’リリースã—ã¦ã„ã¾ã™ã€‚ã¾ãŸã€ã“ã®å…¬é–‹æƒ…å ±ã§ã¯ã€ã“れらã®ãƒ‘ッãƒã¸ã®ãƒªãƒ³ã‚¯ã«åŠ ãˆã€AOSP 以外ã®ãƒ‘ッãƒã¸ã®ãƒªãƒ³ã‚¯ã‚‚掲載ã—ã¦ã„ã¾ã™ã€‚</p>
<p>
下記ã®å•é¡Œã®ã†ã¡æœ€ã‚‚é‡è¦ãªã®ã¯ã€ãƒ¡ãƒ‡ã‚£ã‚¢ フレームワークã®é‡å¤§ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã§ã™ã€‚ã“ã®è„†å¼±æ€§ãŒåŽŸå› ã¨ãªã‚Šã€ãƒªãƒ¢ãƒ¼ãƒˆã®æ”»æ’ƒè€…ãŒç‰¹åˆ¥ã«ç´°å·¥ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使ã£ã¦ã€ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã§ãるよã†ã«ãªã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦ã®è©•ä¾¡</a>ã¯ã€æ”»æ’ƒå¯¾è±¡ã®ç«¯æœ«ã§ãã®è„†å¼±æ€§ãŒæ‚ªç”¨ã•ã‚ŒãŸå ´åˆã®å½±éŸ¿ã«åŸºã¥ãã‚‚ã®ã§ã€ãƒ—ラットフォームやサービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–ãŒé–‹ç™ºç›®çš„ã¾ãŸã¯ä¸æ­£ãªå›žé¿ã«ã‚ˆã‚Šç„¡åŠ¹ã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’å‰æã¨ã—ã¦ã„ã¾ã™ã€‚
</p>
<p>
-ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="/security/enhancements/">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="#mitigations">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
+ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="#mitigations">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="/security/enhancements/">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
</p>
<p class="note">
<strong>注:</strong> 最新ã®ç„¡ç·šï¼ˆOTA)アップデート㨠Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã«ã¤ã„ã¦ã®æƒ…å ±ã¯ã€<a href="/security/bulletin/pixel/2018-09-01">2018 å¹´ 9 月㮠Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±</a>ã§ã”覧ã„ãŸã ã‘ã¾ã™ã€‚
@@ -755,7 +755,7 @@ QC-CR#2119840<a href="#asterisk">*</a></td>
<strong>6. セキュリティã®è„†å¼±æ€§ãŒã€ã“ã®å…¬é–‹æƒ…å ±ã¨ç«¯æœ«ã‚„パートナーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…報(Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ãªã©ï¼‰ã«åˆ†ã‘られã¦ã„ã‚‹ã®ã¯ãªãœã§ã™ã‹ï¼Ÿ</strong>
</p>
<p>
-ã“ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã«ã¤ã„ã¦ã¯ã€Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’公表ã™ã‚‹ã«ã‚ãŸã£ã¦ã€å¯¾å‡¦ãŒå¿…é ˆã¨ãªã‚Šã¾ã™ã€‚ãれ以外ã®ã€ç«¯æœ«ã‚„パートナーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã®å…¬è¡¨ã«ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。<a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> ãªã©ã® Android æ­è¼‰ç«¯æœ«ã‚„ãƒãƒƒãƒ—セットã®ãƒ¡ãƒ¼ã‚«ãƒ¼ã¯ã€è‡ªç¤¾ã®ç«¯æœ«ã«é–¢ã—ã¦ä»–ã«ã‚‚修正ãŒã‚ã‚‹å ´åˆã€ãã®æƒ…報を自社ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£é–¢é€£ã®ã‚¦ã‚§ãƒ–サイトや <a href="/security/bulletin/pixel/" class="external">Pixel / Nexus </a> ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚
+Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’宣言ã™ã‚‹ã«ã‚ãŸã£ã¦ã¯ã€ã“ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ãŒå¿…è¦ã¨ãªã‚Šã¾ã™ã€‚ãれ以外ã®ã€ç«¯æœ«ã‚„パートナーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã®å®£è¨€ã«å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。<a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> ãªã©ã® Android æ­è¼‰ç«¯æœ«ã‚„ãƒãƒƒãƒ—セットã®ãƒ¡ãƒ¼ã‚«ãƒ¼ã¯ã€è‡ªç¤¾ã®ç«¯æœ«ã«é–¢ã—ã¦ä»–ã«ã‚‚修正ãŒã‚ã‚‹å ´åˆã€ãã®æƒ…報を自社ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£é–¢é€£ã®ã‚¦ã‚§ãƒ–サイトや <a href="/security/bulletin/pixel/" class="external">Pixel / Nexus</a> ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚
</p>
<h2 id="versions">ãƒãƒ¼ã‚¸ãƒ§ãƒ³</h2>
diff --git a/ja/security/bulletin/2018-10-01.html b/ja/security/bulletin/2018-10-01.html
index 37f07a36..6b756409 100644
--- a/ja/security/bulletin/2018-10-01.html
+++ b/ja/security/bulletin/2018-10-01.html
@@ -29,7 +29,7 @@ Android パートナーã«ã¯ã€æƒ…報公開㮠1 ã‹æœˆå‰ã¾ã§ã«ã™ã¹ã¦ã®
下記ã®å•é¡Œã®ã†ã¡æœ€ã‚‚é‡å¤§åº¦ãŒé«˜ã„ã‚‚ã®ã¯ã€ãƒ•ãƒ¬ãƒ¼ãƒ ãƒ¯ãƒ¼ã‚¯ã«é‡å¤§ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ãŒã‚ã‚‹ãŸã‚ã€ãƒªãƒ¢ãƒ¼ãƒˆã®æ”»æ’ƒè€…ãŒç‰¹åˆ¥ã«ç´°å·¥ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã—ã¦ã€ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã§ãるよã†ã«ãªã‚‹ãŠãã‚ŒãŒã‚ã‚‹ã“ã¨ã§ã™ã€‚<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦ã®è©•ä¾¡</a>ã¯ã€æ”»æ’ƒå¯¾è±¡ã®ç«¯æœ«ã§ãã®è„†å¼±æ€§ãŒæ‚ªç”¨ã•ã‚ŒãŸå ´åˆã®å½±éŸ¿ã«åŸºã¥ãã‚‚ã®ã§ã€ãƒ—ラットフォームやサービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–ãŒé–‹ç™ºç›®çš„ã¾ãŸã¯ä¸æ­£ãªå›žé¿ã«ã‚ˆã‚Šç„¡åŠ¹ã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’å‰æã¨ã—ã¦ã„ã¾ã™ã€‚
</p>
<p>
-ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="/security/enhancements/">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="#mitigations">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
+ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="#mitigations">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="/security/enhancements/">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
</p>
<p class="note">
<strong>注:</strong> 最新ã®ç„¡ç·šï¼ˆOTA)アップデート㨠Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã«ã¤ã„ã¦ã®æƒ…å ±ã¯ã€<a href="/security/bulletin/pixel/2018-10-01">2018 å¹´ 10 月㮠Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±</a>ã§ã”覧ã„ãŸã ã‘ã¾ã™ã€‚
diff --git a/ja/security/bulletin/2018-11-01.html b/ja/security/bulletin/2018-11-01.html
new file mode 100644
index 00000000..30593279
--- /dev/null
+++ b/ja/security/bulletin/2018-11-01.html
@@ -0,0 +1,585 @@
+<html devsite><head>
+ <title>Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ± - 2018 å¹´ 11 月</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<p><em>2018 年 11 月 5 日公開</em></p>
+
+<p>Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«ã¯ã€Android æ­è¼‰ç«¯æœ«ã«å½±éŸ¿ã‚’与ãˆã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã®è©³ç´°ã‚’掲載ã—ã¦ã„ã¾ã™ã€‚セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 以é™ã§ã¯ã€ä¸‹è¨˜ã®ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚端末ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705" class="external">Android ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’確èªã—ã¦æ›´æ–°ã™ã‚‹</a>ã‚’ã”覧ãã ã•ã„。
+</p>
+<p>
+Android パートナーã«ã¯ã€æƒ…報公開㮠1 ã‹æœˆå‰ã¾ã§ã«ã™ã¹ã¦ã®å•é¡ŒãŒé€šçŸ¥ã•ã‚Œã¾ã™ã€‚下記ã®å•é¡Œã«å¯¾ã™ã‚‹ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ãƒ‘ッãƒã¯ã€ã“ã‚Œã‹ã‚‰ 48 時間ã®é–“ã« Android オープンソース プロジェクト(AOSP)リãƒã‚¸ãƒˆãƒªã«ãƒªãƒªãƒ¼ã‚¹ã•ã‚Œã¾ã™ã€‚AOSP リンクãŒåˆ©ç”¨ã§ãるよã†ã«ãªã‚Šæ¬¡ç¬¬ã€ã“ã®å…¬é–‹æƒ…報を改訂ã—ã¾ã™ã€‚</p>
+<p>下記ã®å•é¡Œã®ã†ã¡æœ€ã‚‚é‡å¤§ãªè„†å¼±æ€§ã«ã‚ˆã‚Šã€è¿‘ãã«ã„る攻撃者ãŒç‰¹åˆ¥ã«ç´°å·¥ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã—ã¦ã€ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã™ã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦ã®è©•ä¾¡</a>ã¯ã€æ”»æ’ƒå¯¾è±¡ã®ç«¯æœ«ã§ãã®è„†å¼±æ€§ãŒæ‚ªç”¨ã•ã‚ŒãŸå ´åˆã®å½±éŸ¿ã«åŸºã¥ãã‚‚ã®ã§ã€ãƒ—ラットフォームやサービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–ãŒé–‹ç™ºç›®çš„ã¾ãŸã¯ä¸æ­£ãªå›žé¿ã«ã‚ˆã‚Šç„¡åŠ¹ã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’å‰æã¨ã—ã¦ã„ã¾ã™ã€‚
+</p>
+<p>
+ã“ã®æ–°ãŸã«å ±å‘Šã•ã‚ŒãŸå•é¡Œã«ã‚ˆã£ã¦å®Ÿéš›ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç«¯æœ«ãŒä¸æ­£ä½¿ç”¨ã•ã‚ŒãŸå ±å‘Šã¯ã‚ã‚Šã¾ã›ã‚“。Android プラットフォームã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®å‘上ã«å½¹ç«‹ã¤ <a href="/security/enhancements/">Android セキュリティ プラットフォームã§ã®ä¿è­·</a>ã‚„ Google Play プロテクトã«ã¤ã„ã¦è©³ã—ãã¯ã€<a href="#mitigations">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</a>ã‚’ã”覧ãã ã•ã„。
+</p>
+<p class="note">
+<strong>注:</strong> 最新ã®ç„¡ç·šï¼ˆOTA)アップデート㨠Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã«ã¤ã„ã¦ã®æƒ…å ±ã¯ã€<a href="/security/bulletin/pixel/2018-11-01">2018 å¹´ 11 月㮠Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±</a>ã§ã”覧ã„ãŸã ã‘ã¾ã™ã€‚
+</p>
+
+<h2 id="announcements">ãŠçŸ¥ã‚‰ã›</h2>
+<p>
+Libxaac ライブラリã§ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å•é¡ŒãŒã„ãã¤ã‹è¦‹ã¤ã‹ã‚Šã¾ã—ãŸï¼ˆCVE-2018-9528ã€CVE-2018-9529ã€CVE-2018-9530ã€CVE-2018-9531ã€CVE-2018-9532ã€CVE-2018-9533ã€CVE-2018-9534ã€CVE-2018-9535ã€CVE-2018-9569ã€CVE-2018-9570ã€CVE-2018-9571ã€CVE-2018-9572ã€CVE-2018-9573ã€CVE-2018-9574ã€CVE-2018-9575ã€CVE-2018-9576ã€CVE-2018-9577ã€CVE-2018-9578 ãªã©ï¼‰ã€‚</p>
+<p>ã“ã®ãƒ©ã‚¤ãƒ–ラリã¯è©¦é¨“é‹ç”¨ç‰ˆã¨ã—ã¦ãƒžãƒ¼ã‚¯ã•ã‚Œã¦ãŠã‚Šã€Android ã®æœ¬ç•ªãƒ“ルドã‹ã‚‰é™¤å¤–ã•ã‚Œã¾ã—ãŸã€‚</p>
+
+<h2 id="mitigations">Android 㨠Google サービスã§ã®ãƒªã‚¹ã‚¯è»½æ¸›ç­–</h2>
+<p>
+ã“ã“ã§ã¯ã€<a href="/security/enhancements/">Android セキュリティ プラットフォーム</a>ã‚„ <a href="https://www.android.com/play-protect" class="external">Google Play プロテクト</a>ã®ã‚ˆã†ãªã‚µãƒ¼ãƒ“スã§ã®ä¿è­·ã«ã‚ˆã£ã¦ãƒªã‚¹ã‚¯ã‚’軽減ã™ã‚‹æ‰‹æ®µã«ã¤ã„ã¦æ¦‚説ã—ã¾ã™ã€‚ã“ã†ã—ãŸæ©Ÿèƒ½ã¯ã€Android ã§ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ãŒæ‚ªç”¨ã•ã‚Œã‚‹å¯èƒ½æ€§ã‚’減らã™ã‚‚ã®ã§ã™ã€‚
+</p>
+<ul>
+<li>Android 上ã®å¤šãã®å•é¡Œã®æ‚ªç”¨ã¯ã€Android プラットフォームã®æœ€æ–°ç‰ˆã§æ©Ÿèƒ½ãŒå¼·åŒ–ã•ã‚Œã‚‹ã»ã©å›°é›£ã«ãªã‚Šã¾ã™ã€‚Google ã§ã¯ã€ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«å¯¾ã—ã€ã§ãã‚‹é™ã‚Šæœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Android ã«æ›´æ–°ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¦ã„ã¾ã™ã€‚</li>
+<li>Android セキュリティ ãƒãƒ¼ãƒ ã¯ã€<a href="https://www.android.com/play-protect" class="external">Google Play プロテクト</a>ã«ã‚ˆã£ã¦è„†å¼±æ€§ã®æ‚ªç”¨ã‚’ç©æ¥µçš„ã«ç›£è¦–ã—ã¦ãŠã‚Šã€<a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">害をåŠã¼ã™ãŠãã‚Œã®ã‚るアプリ</a>ã«ã¤ã„ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è­¦å‘Šã—ã¦ã„ã¾ã™ã€‚Google Play プロテクトã¯ã€<a href="http://www.android.com/gms" class="external">Google モãƒã‚¤ãƒ« サービス</a>ã‚’æ­è¼‰ã—ãŸç«¯æœ«ã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§æœ‰åŠ¹ã«ãªã£ã¦ãŠã‚Šã€Google Play 以外ã‹ã‚‰ã‚¢ãƒ—リをインストールã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã¨ã£ã¦ã¯ç‰¹ã«é‡è¦ã§ã™ã€‚</li>
+</ul>
+<h2 id="2018-11-01-details">セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-01 ã®è„†å¼±æ€§ã®è©³ç´°</h2>
+<p>
+パッãƒãƒ¬ãƒ™ãƒ« 2018-11-01 ã«è©²å½“ã™ã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è„†å¼±æ€§ã®å„é …ç›®ã«ã¤ã„ã¦ã€ä¸‹è¨˜ã§è©³ã—ã説明ã—ã¾ã™ã€‚脆弱性ã¯ã€å½±éŸ¿ã‚’å—ã‘るコンãƒãƒ¼ãƒãƒ³ãƒˆã”ã¨ã«åˆ†é¡žã—ã¦ã„ã¾ã™ã€‚å•é¡Œã®å†…容ã«ã¤ã„ã¦èª¬æ˜Žã—ã€CVEã€é–¢é€£ã™ã‚‹å‚照先ã€<a href="#type">脆弱性ã®ã‚¿ã‚¤ãƒ—</a>ã€<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦</a>ã€æ›´æ–°å¯¾è±¡ã® AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆè©²å½“ã™ã‚‹å ´åˆï¼‰ã‚’表ã«ã¾ã¨ã‚ã¦ã„ã¾ã™ã€‚該当ã™ã‚‹å ´åˆã¯ã€ãƒã‚° ID ã®æ¬„ã«ã€ãã®å•é¡Œã®å¯¾å‡¦æ³•ã¨ã—ã¦ä¸€èˆ¬å…¬é–‹ã•ã‚Œã¦ã„る変更内容(AOSP ã®å¤‰æ›´ã®ä¸€è¦§ãªã©ï¼‰ã¸ã®ãƒªãƒ³ã‚¯ãŒã‚ã‚Šã¾ã™ã€‚複数ã®å¤‰æ›´ãŒåŒã˜ãƒã‚°ã«é–¢ä¿‚ã™ã‚‹å ´åˆã¯ã€ãƒã‚° ID ã®å¾Œã«è¨˜è¼‰ã—ãŸç•ªå·ã«ã€è¿½åŠ ã®å‚ç…§ã¸ã®ãƒªãƒ³ã‚¯ã‚’設定ã—ã¦ã„ã¾ã™ã€‚</p>
+
+<h3 id="framework">フレームワーク</h3>
+<p>フレームワークã®æœ€ã‚‚é‡å¤§ãªè„†å¼±æ€§ã«ã‚ˆã‚Šã€æ‚ªæ„ã®ã‚るローカルアプリã«ã‚ˆã£ã¦ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ãŒå®Ÿè¡Œã•ã‚Œã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>更新対象㮠AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9522</td>
+ <td>A-112550251</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9524</td>
+ <td>A-34170870</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9525</td>
+ <td>A-111330641</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="media-framework">メディア フレームワーク</h3>
+<p>メディア フレームワークã®æœ€ã‚‚é‡å¤§ãªè„†å¼±æ€§ã«ã‚ˆã‚Šã€ãƒªãƒ¢ãƒ¼ãƒˆã®æ”»æ’ƒè€…ãŒç‰¹åˆ¥ã«ç´°å·¥ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã—ã¦ã€ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã™ã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>更新対象㮠AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9527</td>
+ <td>A-112159345</td>
+ <td>RCE</td>
+ <td>é‡å¤§</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9531</td>
+ <td>A-112661641</td>
+ <td>RCE</td>
+ <td>é‡å¤§</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9536</td>
+ <td>A-112662184</td>
+ <td>EoP</td>
+ <td>é‡å¤§</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9537</td>
+ <td>A-112891564</td>
+ <td>EoP</td>
+ <td>é‡å¤§</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9521</td>
+ <td>A-111874331</td>
+ <td>RCE</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9539</td>
+ <td>A-113027383</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="system">システム</h3>
+<p>システムã®æœ€ã‚‚é‡å¤§ãªè„†å¼±æ€§ã«ã‚ˆã‚Šã€ãƒªãƒ¢ãƒ¼ãƒˆã®æ”»æ’ƒè€…ãŒã€é€šå¸¸ã¯ãƒ­ãƒ¼ã‚«ãƒ«ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸæ¨©é™ã®ã‚るアプリã®ã¿ãŒã‚¢ã‚¯ã‚»ã‚¹ã§ãるデータã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>更新対象㮠AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9540</td>
+ <td>A-111450417</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9542</td>
+ <td>A-111896861</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9543</td>
+ <td>A-112868088</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9544</td>
+ <td>A-113037220</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9545</td>
+ <td>A-113111784</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td rowspan="2">CVE-2018-9541</td>
+ <td rowspan="2">A-111450531</td>
+ <td>ID</td>
+ <td>中</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-media-framework">更新: メディア フレームワーク</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>更新対象㮠AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9347</td>
+ <td>A-68664359</td>
+ <td>DoS</td>
+ <td>中</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-system">更新: システム</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>更新対象㮠AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9457</td>
+ <td>A-72872376</td>
+ <td>EoP</td>
+ <td>中</td>
+ <td>8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h2 id="2018-11-05-details">セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 ã®è„†å¼±æ€§ã®è©³ç´°</h2>
+<p>
+パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 ã«è©²å½“ã™ã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è„†å¼±æ€§ã®å„é …ç›®ã«ã¤ã„ã¦ã€ä¸‹è¨˜ã§è©³ã—ã説明ã—ã¾ã™ã€‚影響をå—ã‘るコンãƒãƒ¼ãƒãƒ³ãƒˆã”ã¨ã«è„†å¼±æ€§ã‚’分類ã—ã€CVEã€é–¢é€£ã™ã‚‹å‚照先ã€<a href="#type">脆弱性ã®ã‚¿ã‚¤ãƒ—</a>ã€<a href="/security/overview/updates-resources.html#severity">é‡å¤§åº¦</a>ã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆï¼ˆè©²å½“ã™ã‚‹å ´åˆï¼‰ã€æ›´æ–°å¯¾è±¡ã® AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆè©²å½“ã™ã‚‹å ´åˆï¼‰ãªã©ã®è©³ç´°ã‚’記載ã—ã¦ã„ã¾ã™ã€‚該当ã™ã‚‹å ´åˆã¯ã€ãƒã‚° ID ã®æ¬„ã«ã€ãã®å•é¡Œã®å¯¾å‡¦æ³•ã¨ã—ã¦ä¸€èˆ¬å…¬é–‹ã•ã‚Œã¦ã„る変更内容(AOSP ã®å¤‰æ›´ã®ä¸€è¦§ãªã©ï¼‰ã¸ã®ãƒªãƒ³ã‚¯ãŒã‚ã‚Šã¾ã™ã€‚複数ã®å¤‰æ›´ãŒåŒã˜ãƒã‚°ã«é–¢ä¿‚ã™ã‚‹å ´åˆã¯ã€ãƒã‚° ID ã®å¾Œã«ç•ªå·ã‚’併記ã—ã¦ã€è¿½åŠ ã®å‚照先ã¸ã®ãƒªãƒ³ã‚¯ã‚’設定ã—ã¦ã„ã¾ã™ã€‚</p>
+
+<h3 id="framework-05">フレームワーク</h3>
+<p>フレームワークã®æœ€ã‚‚é‡å¤§ãªè„†å¼±æ€§ã«ã‚ˆã‚Šã€æ‚ªæ„ã®ã‚るローカルアプリã«ã‚ˆã£ã¦ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ãŒå®Ÿè¡Œã•ã‚Œã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>更新対象㮠AOSP ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9523</td>
+ <td>A-112859604</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9526</td>
+ <td>A-112159033</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm コンãƒãƒ¼ãƒãƒ³ãƒˆ</h3>
+<p>Qualcomm コンãƒãƒ¼ãƒãƒ³ãƒˆã®æœ€ã‚‚é‡å¤§ãªè„†å¼±æ€§ã«ã‚ˆã‚Šã€æ‚ªæ„ã®ã‚るローカルアプリã«ã‚ˆã£ã¦ç‰¹æ¨©ãƒ—ロセス内ã§ä»»æ„ã®ã‚³ãƒ¼ãƒ‰ãŒå®Ÿè¡Œã•ã‚Œã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>コンãƒãƒ¼ãƒãƒ³ãƒˆ</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-15818</td>
+ <td>A-68992408<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/lk/commit/?id=abe4f7042cbdef928ffc152335a17150fb39b096">
+QC-CR#2078580</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>エコシステム</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11995</td>
+ <td>A-71501677<br />
+ <a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=e3688be47d2b72f130f90dafd24b5f5acc4684ca">
+QC-CR#2129639</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>ブートローダー</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11905</td>
+ <td>A-112277889<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=0cdcf0409bdad7ed91c11d7715c89acc2e521e96">
+QC-CR#2090797</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>DSP_Services</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-closed-source-components">Qualcomm クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</h3>
+<p>Qualcomm コンãƒãƒ¼ãƒãƒ³ãƒˆã«å½±éŸ¿ã™ã‚‹è„†å¼±æ€§ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€è©²å½“ã™ã‚‹ Qualcomm AMSS ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…報やセキュリティ アラートをã”覧ãã ã•ã„。ã“ã®ä¸€é€£ã®å•é¡Œã®é‡å¤§åº¦ã¯ Qualcomm ã‹ã‚‰ç›´æŽ¥æä¾›ã•ã‚ŒãŸã‚‚ã®ã§ã™ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>コンãƒãƒ¼ãƒãƒ³ãƒˆ</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-18317</td>
+ <td>A-78244877<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>é‡å¤§</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5912</td>
+ <td>A-79420111<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>é‡å¤§</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11264</td>
+ <td>A-109677962<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>é‡å¤§</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2016-10502</td>
+ <td>A-68326808<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18316</td>
+ <td>A-78240714<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18318</td>
+ <td>A-78240675<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18315</td>
+ <td>A-78241957<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11994</td>
+ <td>A-72950294<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11996</td>
+ <td>A-74235967<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5870</td>
+ <td>A-77484722<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5877</td>
+ <td>A-77484786<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5916</td>
+ <td>A-79420492<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5917</td>
+ <td>A-79420096<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11269</td>
+ <td>A-109678529<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>クローズドソース コンãƒãƒ¼ãƒãƒ³ãƒˆ</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">一般的ãªè³ªå•ã¨å›žç­”</h2>
+<p>上記ã®å…¬é–‹æƒ…å ±ã«å¯¾ã™ã‚‹ä¸€èˆ¬çš„ãªè³ªå•ã«ã¤ã„ã¦ã®å›žç­”ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚</p>
+<p><strong>1. 上記ã®å•é¡Œã«å¯¾å‡¦ã™ã‚‹ã‚ˆã†ã«ç«¯æœ«ãŒæ›´æ–°ã•ã‚Œã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’確ã‹ã‚ã‚‹ã«ã¯ã€ã©ã†ã™ã‚Œã°ã‚ˆã„ã§ã™ã‹ï¼Ÿ</strong></p>
+<p>端末ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Android ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’確èªã—ã¦æ›´æ–°ã™ã‚‹</a>ã‚’ã”覧ãã ã•ã„。</p>
+<ul>
+<li>セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-01 以é™ã§ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-01 ã«é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚</li>
+<li>セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 以é™ã§ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05ã€ãŠã‚ˆã³ãれ以å‰ã®ã™ã¹ã¦ã®ãƒ‘ッãƒãƒ¬ãƒ™ãƒ«ã«é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚</li>
+</ul>
+<p>ã“ã®ã‚¢ãƒƒãƒ—デートを組ã¿è¾¼ã‚“ã ç«¯æœ«ãƒ¡ãƒ¼ã‚«ãƒ¼ã¯ã€ãƒ‘ッãƒãƒ¬ãƒ™ãƒ«æ–‡å­—列を以下ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p>
+<ul>
+ <li>[ro.build.version.security_patch]:[2018-11-01]</li>
+ <li>[ro.build.version.security_patch]:[2018-11-05]</li>
+</ul>
+<p><strong>2. ã“ã®å…¬é–‹æƒ…報㫠2 ã¤ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ãŒã‚ã‚‹ã®ã¯ãªãœã§ã™ã‹ï¼Ÿ</strong></p>
+<p>
+ã“ã®å…¬é–‹æƒ…å ±ã§ã¯ã€2 ã¤ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’定義ã—ã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã€ã™ã¹ã¦ã® Android æ­è¼‰ç«¯æœ«ã§åŒæ§˜ã®å•é¡ŒãŒç™ºç”Ÿã™ã‚‹ä¸€éƒ¨ã®è„†å¼±æ€§ã‚’サブセットã¨ã—ã€Android パートナーãŒè¿…速ã‹ã¤æŸ”軟ã«ä¿®æ­£ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã§ã™ã€‚Android パートナーã¯ã€ã“ã®å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„ã‚‹å•é¡Œã‚’ã™ã¹ã¦ä¿®æ­£ã—ã€æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’使用ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚
+</p>
+<ul>
+<li>2018-11-01 ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’使用ã™ã‚‹ç«¯æœ«ã§ã¯ã€ãã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã«é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®å•é¡Œã¨ã€ãれ以å‰ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã§å ±å‘Šã•ã‚ŒãŸã™ã¹ã¦ã®å•é¡Œã®ä¿®æ­£ã‚’å«ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</li>
+<li>2018-11-05 以é™ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’使用ã™ã‚‹ç«¯æœ«ã«ã¯ã€ä»Šå›žï¼ˆãŠã‚ˆã³ãれ以å‰ï¼‰ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚ŒãŸã€è©²å½“ã™ã‚‹ã™ã¹ã¦ã®ãƒ‘ッãƒã‚’組ã¿è¾¼ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</li>
+</ul>
+<p>
+パートナーã¯ã€å¯¾å‡¦ã™ã‚‹å•é¡Œã™ã¹ã¦ã«ã¤ã„ã¦ã€ä¿®æ­£ã‚’ 1 ã¤ã®ã‚¢ãƒƒãƒ—デートã«ã¾ã¨ã‚ã¦æä¾›ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¾ã™ã€‚
+</p>
+<p id="type">
+<strong>3. 「タイプ<em></em>ã€åˆ—ã®é …ç›®ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+脆弱性ã®è©³ç´°ã®è¡¨ã§ã€Œã‚¿ã‚¤ãƒ—<em></em>ã€åˆ—ã«è¨˜è¼‰ã—ãŸé …ç›®ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã®åˆ†é¡žã‚’示ã—ã¦ã„ã¾ã™ã€‚
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>略語</th>
+ <th>定義</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>リモートコード実行</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>権é™æ˜‡æ ¼</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>情報開示</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>サービス拒å¦</td>
+ </tr>
+ <tr>
+ <td>N/A</td>
+ <td>該当ã™ã‚‹åˆ†é¡žãªã—</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>4. 「å‚ç…§<em></em>ã€åˆ—ã®é …ç›®ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+脆弱性ã®è©³ç´°ã®è¡¨ã§ã€Œå‚ç…§<em></em>ã€åˆ—ã«è¨˜è¼‰ã—ãŸé …ç›®ã«ã¯ã€ãã®å‚照番å·ãŒå±žã™çµ„織を示ã™æŽ¥é ­è¾žãŒå«ã¾ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>接頭辞</th>
+ <th>å‚ç…§</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android ãƒã‚° ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm ã®å‚照番å·</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek ã®å‚照番å·</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA ã®å‚照番å·</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom ã®å‚照番å·</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>5. 「å‚ç…§<em></em>ã€åˆ—ã® Android ãƒã‚° ID ã®æ¨ªã«ã‚る「*ã€ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+公開ã•ã‚Œã¦ã„ãªã„å•é¡Œã«ã¯ã€ã€Œå‚ç…§ã€åˆ—ã® Android ãƒã‚° ID ã®æ¨ªã«ã€Œ*ã€ã‚’付ã‘ã¦ã„ã¾ã™ã€‚<em></em>ã“ã®å•é¡Œã®ã‚¢ãƒƒãƒ—デートã¯ã€<a href="https://developers.google.com/android/drivers" class="external">Google デベロッパー サイト</a>ã‹ã‚‰å…¥æ‰‹ã§ãã‚‹ Pixel / Nexus 端末用最新ãƒã‚¤ãƒŠãƒª ドライãƒã«é€šå¸¸å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
+</p>
+<p>
+<strong>6. セキュリティã®è„†å¼±æ€§ãŒã€ã“ã®å…¬é–‹æƒ…å ±ã¨ç«¯æœ«ã‚„パートナーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…報(Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ãªã©ï¼‰ã«åˆ†ã‘られã¦ã„ã‚‹ã®ã¯ãªãœã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’宣言ã™ã‚‹ã«ã‚ãŸã£ã¦ã¯ã€ã“ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ãŒå¿…è¦ã¨ãªã‚Šã¾ã™ã€‚ãれ以外ã®ã€ç«¯æœ«ã‚„パートナーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã®å®£è¨€ã«å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。<a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> ãªã©ã® Android æ­è¼‰ç«¯æœ«ã‚„ãƒãƒƒãƒ—セットã®ãƒ¡ãƒ¼ã‚«ãƒ¼ã¯ã€è‡ªç¤¾ã®ç«¯æœ«ã«é–¢ã—ã¦ä»–ã«ã‚‚修正ãŒã‚ã‚‹å ´åˆã€ãã®æƒ…報を自社ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£é–¢é€£ã®ã‚¦ã‚§ãƒ–サイトや <a href="/security/bulletin/pixel/" class="external">Pixel / Nexus</a> ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ã€‚
+</p>
+
+<h2 id="versions">ãƒãƒ¼ã‚¸ãƒ§ãƒ³</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ <th>日付</th>
+ <th>メモ</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018 年 11 月 5 日</td>
+ <td>情報公開</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/ja/security/bulletin/2018.html b/ja/security/bulletin/2018.html
index f62705e0..32b3cd6a 100644
--- a/ja/security/bulletin/2018.html
+++ b/ja/security/bulletin/2018.html
@@ -35,15 +35,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018 年 10 月</a></td>
- <td>準備中
- <!--
- <a href="/security/bulletin/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文(中国)</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文(å°ç£ï¼‰</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-01<br />
diff --git a/ja/security/bulletin/index.html b/ja/security/bulletin/index.html
index 2a76f511..9f64e87c 100644
--- a/ja/security/bulletin/index.html
+++ b/ja/security/bulletin/index.html
@@ -55,6 +55,22 @@
<th>公開日</th>
<th>セキュリティ パッãƒãƒ¬ãƒ™ãƒ«</th>
</tr>
+ <tr>
+ <td><a href="/security/bulletin/2018-11-01.html">2018 年 11 月</a></td>
+ <td>準備中
+ <!--
+ <a href="/security/bulletin/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>2018 年 11 月 5 日</td>
+ <td>2018-11-01<br />
+ 2018-11-05</td>
+ </tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018 年 10 月</a></td>
<td>
diff --git a/ja/security/bulletin/pixel/2018-05-01.html b/ja/security/bulletin/pixel/2018-05-01.html
index cf53d362..cf4f4db6 100644
--- a/ja/security/bulletin/pixel/2018-05-01.html
+++ b/ja/security/bulletin/pixel/2018-05-01.html
@@ -551,7 +551,7 @@ QC-CR#2149720</a></td>
<strong>5. セキュリティã®è„†å¼±æ€§ãŒã€ã“ã®å…¬é–‹æƒ…å ±ã¨ã€ŒAndroid ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã€ã«åˆ†ã‘られã¦ã„ã‚‹ã®ã¯ãªãœã§ã™ã‹ï¼Ÿ</strong>
</p>
<p>
-Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’宣言ã™ã‚‹ãŸã‚ã«ã¯ã€Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ãŒå¿…è¦ã§ã™ã€‚ãれ以外ã®ã€ã“ã®å…¬é–‹æƒ…å ±ãªã©ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
+Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’宣言ã™ã‚‹ã«ã‚ãŸã£ã¦ã¯ã€Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ãŒå¿…è¦ã¨ãªã‚Šã¾ã™ã€‚ãれ以外ã®ã€ã“ã®å…¬é–‹æƒ…å ±ãªã©ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
</p>
<h2 id="versions">ãƒãƒ¼ã‚¸ãƒ§ãƒ³</h2>
<table>
diff --git a/ja/security/bulletin/pixel/2018-08-01.html b/ja/security/bulletin/pixel/2018-08-01.html
index fb8e7a54..77e9fb0f 100644
--- a/ja/security/bulletin/pixel/2018-08-01.html
+++ b/ja/security/bulletin/pixel/2018-08-01.html
@@ -26,7 +26,7 @@
Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">サãƒãƒ¼ãƒˆå¯¾è±¡ã® Google Pixel 端末㨠Nexus 端末</a>(Google 端末)ã«å½±éŸ¿ã‚’与ãˆã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã‚„機能強化ã®è©³ç´°ã‚’掲載ã—ã¦ã„ã¾ã™ã€‚Google 端末ã§ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ« 2018-08-05 以é™ã«ãŠã„ã¦ã€ã“ã®å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®å•é¡Œã¨ã€2018 å¹´ 8 月㮠Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚端末ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705" class="external">Android ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’確èªã—ã¦æ›´æ–°ã™ã‚‹</a>ã‚’ã”覧ãã ã•ã„。
</p>
<p>
-パッãƒãƒ¬ãƒ™ãƒ« 2018-08-05 ã¸ã®ã‚¢ãƒƒãƒ—デートã¯ã€ã‚µãƒãƒ¼ãƒˆå¯¾è±¡ã®ã™ã¹ã¦ã® Google 端末ã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚ã”利用ã®ç«¯æœ«ã§ä¸Šè¨˜ã®æ›´æ–°ã‚’è¡Œã†ã“ã¨ã‚’ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãŠã™ã™ã‚ã—ã¾ã™ã€‚
+パッãƒãƒ¬ãƒ™ãƒ« 2018-08-05 ã¸ã®ã‚¢ãƒƒãƒ—デートã¯ã€ã‚µãƒãƒ¼ãƒˆå¯¾è±¡ã®ã™ã¹ã¦ã® Google 端末ã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚ã”利用ã®ç«¯æœ«ã«ã“ã®ã‚¢ãƒƒãƒ—デートをé©ç”¨ã™ã‚‹ã“ã¨ã‚’ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãŠã™ã™ã‚ã—ã¾ã™ã€‚
</p>
<p class="note">
<strong>注:</strong> Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã¯ã€<a href="https://developers.google.com/android/images" class="external">Google デベロッパー サイト</a>ã§å…¥æ‰‹ã§ãã¾ã™ã€‚
diff --git a/ja/security/bulletin/pixel/2018-10-01.html b/ja/security/bulletin/pixel/2018-10-01.html
index d5bae81c..1ff26d1f 100644
--- a/ja/security/bulletin/pixel/2018-10-01.html
+++ b/ja/security/bulletin/pixel/2018-10-01.html
@@ -165,7 +165,7 @@ Google 端末ã§ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ« 2018-10-05 以é™ã«
<strong>5. セキュリティã®è„†å¼±æ€§ãŒã€ã“ã®å…¬é–‹æƒ…å ±ã¨ã€ŒAndroid ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã€ã«åˆ†ã‘られã¦ã„ã‚‹ã®ã¯ãªãœã§ã™ã‹ï¼Ÿ</strong>
</p>
<p>
-Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã«ã¤ã„ã¦ã¯ã€Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’公表ã™ã‚‹ã«ã‚ãŸã£ã¦ã€å¯¾å‡¦ãŒå¿…é ˆã¨ãªã‚Šã¾ã™ã€‚ãれ以外ã®ã€ã“ã®å…¬é–‹æƒ…å ±ãªã©ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã®å…¬è¡¨ã«ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
+Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’宣言ã™ã‚‹ãŸã‚ã«ã¯ã€Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ãŒå¿…è¦ã§ã™ã€‚ãれ以外ã®ã€ã“ã®å…¬é–‹æƒ…å ±ãªã©ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
</p>
<h2 id="versions">ãƒãƒ¼ã‚¸ãƒ§ãƒ³</h2>
<table>
diff --git a/ja/security/bulletin/pixel/2018-11-01.html b/ja/security/bulletin/pixel/2018-11-01.html
new file mode 100644
index 00000000..bf2e8420
--- /dev/null
+++ b/ja/security/bulletin/pixel/2018-11-01.html
@@ -0,0 +1,249 @@
+<html devsite><head>
+ <title>Pixel  / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ± - 2018 å¹´ 11 月</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<p><em>2018 年 11 月 5 日公開</em></p>
+
+<p>
+Pixel / Nexus ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">サãƒãƒ¼ãƒˆå¯¾è±¡ã® Google Pixel 端末㨠Nexus 端末</a>(Google 端末)ã«å½±éŸ¿ã‚’与ãˆã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã‚„機能強化ã®è©³ç´°ã‚’掲載ã—ã¦ã„ã¾ã™ã€‚Google 端末ã§ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 以é™ã«ãŠã„ã¦ã€ã“ã®å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®å•é¡Œã¨ã€2018 å¹´ 11 月㮠Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚端末ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705" class="external">Android ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’確èªã—ã¦æ›´æ–°ã™ã‚‹</a>ã‚’ã”覧ãã ã•ã„。
+</p>
+<p>
+パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 ã¸ã®ã‚¢ãƒƒãƒ—デートã¯ã€ã‚µãƒãƒ¼ãƒˆå¯¾è±¡ã®ã™ã¹ã¦ã® Google 端末ã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚ã”利用ã®ç«¯æœ«ã«ã“ã®ã‚¢ãƒƒãƒ—デートをé©ç”¨ã™ã‚‹ã“ã¨ã‚’ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãŠã™ã™ã‚ã—ã¾ã™ã€‚
+</p>
+<p class="note">
+<strong>注:</strong> Google 端末ã®ãƒ•ã‚¡ãƒ¼ãƒ ã‚¦ã‚§ã‚¢ イメージã¯ã€<a href="https://developers.google.com/android/images" class="external">Google デベロッパー サイト</a>ã§å…¥æ‰‹ã§ãã¾ã™ã€‚
+</p>
+
+<h2 id="announcements">ãŠçŸ¥ã‚‰ã›</h2>
+
+<p><a href="/security/bulletin/2018-11-01">2018 å¹´ 11 月㮠Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±</a>ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã«åŠ ãˆã¦ã€Pixel 端末㨠Nexus 端末ã«ã¯ã€ä¸‹è¨˜ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã«å¯¾ã™ã‚‹ãƒ‘ッãƒã‚‚å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚パートナーã«ã¯å°‘ãªãã¨ã‚‚ 1 ã‹æœˆå‰ã«ä¸‹è¨˜ã®å•é¡ŒãŒé€šçŸ¥ã•ã‚Œã¦ãŠã‚Šã€ãƒ‘ートナーã¯ç«¯æœ«ã®ã‚¢ãƒƒãƒ—デートã«ã“ã†ã—ãŸãƒ‘ッãƒã‚’組ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚
+</p>
+
+<h2 id="security-patches">セキュリティ パッãƒ</h2>
+<p>
+脆弱性ã¯ã€å½±éŸ¿ã‚’å—ã‘るコンãƒãƒ¼ãƒãƒ³ãƒˆã”ã¨ã«åˆ†é¡žã—ã¦ã„ã¾ã™ã€‚å•é¡Œã®å†…容ã«ã¤ã„ã¦èª¬æ˜Žã—ã€CVEã€é–¢é€£ã™ã‚‹å‚照先ã€<a href="#type">脆弱性ã®ã‚¿ã‚¤ãƒ—</a>ã€<a href="/security/overview/updates-resources#severity">é‡å¤§åº¦</a>ã€æ›´æ–°å¯¾è±¡ã® AOSP(Android オープンソース プロジェクト)ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆè©²å½“ã™ã‚‹å ´åˆï¼‰ã‚’表ã«ã¾ã¨ã‚ã¦ã„ã¾ã™ã€‚
+該当ã™ã‚‹å ´åˆã¯ã€ãƒã‚° ID ã®æ¬„ã«ã€ãã®å•é¡Œã®å¯¾å‡¦æ³•ã¨ã—ã¦ä¸€èˆ¬å…¬é–‹ã•ã‚Œã¦ã„る変更内容(AOSP ã®å¤‰æ›´ã®ä¸€è¦§ãªã©ï¼‰ã¸ã®ãƒªãƒ³ã‚¯ãŒã‚ã‚Šã¾ã™ã€‚複数ã®å¤‰æ›´ãŒåŒã˜ãƒã‚°ã«é–¢ä¿‚ã™ã‚‹å ´åˆã¯ã€ãƒã‚° ID ã®å¾Œã«è¨˜è¼‰ã—ãŸç•ªå·ã«ã€è¿½åŠ ã®å‚ç…§ã¸ã®ãƒªãƒ³ã‚¯ã‚’設定ã—ã¦ã„ã¾ã™ã€‚</p>
+
+<h3 id="htc-components">HTC コンãƒãƒ¼ãƒãƒ³ãƒˆ</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>コンãƒãƒ¼ãƒãƒ³ãƒˆ</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9580</td>
+ <td>A-76222002<a href="#asterisk">*</a></td>
+ <td>EoP</td>
+ <td>中</td>
+ <td>ブートローダー</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm コンãƒãƒ¼ãƒãƒ³ãƒˆ</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚ç…§</th>
+ <th>タイプ</th>
+ <th>é‡å¤§åº¦</th>
+ <th>コンãƒãƒ¼ãƒãƒ³ãƒˆ</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-14888</td>
+ <td>A-70237718<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d50dfd647b2396d2e2c05b7aee84d831e4a18d68">QC-CR#2119729</a></td>
+ <td>N/A</td>
+ <td>中</td>
+ <td>WLAN ホスト</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-15835</td>
+ <td>A-72957155<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=b6eeed234707244c799ae7009e67312b8bf33ccd">QC-CR#2125781</a></td>
+ <td>N/A</td>
+ <td>中</td>
+ <td>WLAN ホスト</td>
+ </tr>
+</tbody></table>
+
+<h2 id="functional-patches">機能パッãƒ</h2>
+
+<p>Android 9 ã®ã‚¢ãƒƒãƒ—デートã¯ã€11 月㮠OTA ã®ä¸€éƒ¨ã¨ã—ã¦ã€Android 9 ãŒæ­è¼‰ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã® Pixel 端末ã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚ã“ã®å››åŠæœŸãƒªãƒªãƒ¼ã‚¹ã«ã¯ã€Android プラットフォームã¨ã‚µãƒãƒ¼ãƒˆå¯¾è±¡ã® Pixel 端末ã®å„種パーツã«å¯¾ã™ã‚‹å¤šãã®æ©Ÿèƒ½æ›´æ–°ã‚„機能強化ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</p>
+
+<p>Android æ­è¼‰ç«¯æœ«ãƒ¡ãƒ¼ã‚«ãƒ¼ã¯ã€ã“ã®ãƒªãƒªãƒ¼ã‚¹ã«å«ã¾ã‚Œã¦ã„る以下ã®ä¿®æ­£ã‚‚é©ç”¨ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+<table>
+ <tbody><tr>
+ <th>å‚ç…§</th>
+ <th>カテゴリ</th>
+ <th>改善内容</th>
+ <th>端末</th>
+ </tr>
+ <tr>
+ <td>A-111401911</td>
+ <td>表示</td>
+ <td><a href="/devices/tech/display/pip">ピクãƒãƒ£ãƒ¼ イン ピクãƒãƒ£ãƒ¼</a>を使用ã™ã‚‹ç«¯æœ«ã®ãƒ‘フォーマンスを改善</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-109769728</td>
+ <td>フレームワーク</td>
+ <td>Strongbox 対称キーã®ç”Ÿæˆãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’改善</td>
+ <td>Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112198479</td>
+ <td>表示</td>
+ <td><a href="/devices/tech/display/pip">ピクãƒãƒ£ãƒ¼ イン ピクãƒãƒ£ãƒ¼</a>を使用ã™ã‚‹ã‚¢ãƒ—リã®ãƒ‘フォーマンスを改善</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112714177</td>
+ <td>通知</td>
+ <td>通知ã®å®‰å®šæ€§ã‚’改善</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">一般的ãªè³ªå•ã¨å›žç­”</h2>
+<p>
+上記ã®å…¬é–‹æƒ…å ±ã«å¯¾ã™ã‚‹ä¸€èˆ¬çš„ãªè³ªå•ã«ã¤ã„ã¦ã®å›žç­”ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚
+</p>
+<p>
+<strong>1. 上記ã®å•é¡Œã«å¯¾å‡¦ã™ã‚‹ã‚ˆã†ã«ç«¯æœ«ãŒæ›´æ–°ã•ã‚Œã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’確ã‹ã‚ã‚‹ã«ã¯ã€ã©ã†ã™ã‚Œã°ã‚ˆã„ã§ã™ã‹ï¼Ÿ
+</strong>
+</p>
+<p>
+セキュリティ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05 以é™ã§ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ« 2018-11-05ã€ãŠã‚ˆã³ãれ以å‰ã®ã™ã¹ã¦ã®ãƒ‘ッãƒãƒ¬ãƒ™ãƒ«ã«é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®å•é¡Œã«å¯¾å‡¦ã—ã¦ã„ã¾ã™ã€‚端末ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Pixel ãŠã‚ˆã³ Nexus ã®ã‚¢ãƒƒãƒ—デート スケジュール</a>ã«è¨˜è¼‰ã•ã‚Œã¦ã„る手順をã”覧ãã ã•ã„。
+</p>
+<p id="type">
+<strong>2. 「タイプ<em></em>ã€åˆ—ã®é …ç›®ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+脆弱性ã®è©³ç´°ã®è¡¨ã§ã€Œã‚¿ã‚¤ãƒ—<em></em>ã€åˆ—ã«è¨˜è¼‰ã—ãŸé …ç›®ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®è„†å¼±æ€§ã®åˆ†é¡žã‚’示ã—ã¦ã„ã¾ã™ã€‚
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>略語</th>
+ <th>定義</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>リモートコード実行</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>権é™æ˜‡æ ¼</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>情報開示</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>サービス拒å¦</td>
+ </tr>
+ <tr>
+ <td>N/A</td>
+ <td>該当ã™ã‚‹åˆ†é¡žãªã—</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>3. 「å‚ç…§<em></em>ã€åˆ—ã®é …ç›®ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+脆弱性ã®è©³ç´°ã®è¡¨ã§ã€Œå‚ç…§<em></em>ã€åˆ—ã«è¨˜è¼‰ã—ãŸé …ç›®ã«ã¯ã€ãã®å‚照番å·ãŒå±žã™çµ„織を示ã™æŽ¥é ­è¾žãŒå«ã¾ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>接頭辞</th>
+ <th>å‚ç…§</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android ãƒã‚° ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm ã®å‚照番å·</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek ã®å‚照番å·</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA ã®å‚照番å·</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom ã®å‚照番å·</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>4. 「å‚ç…§<em></em>ã€åˆ—ã® Android ãƒã‚° ID ã®æ¨ªã«ã‚る「*ã€ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+公開ã•ã‚Œã¦ã„ãªã„å•é¡Œã«ã¯ã€ã€Œå‚ç…§<em></em>ã€åˆ—ã® Android ãƒã‚° ID ã®æ¨ªã«ã€Œ*ã€ã‚’付ã‘ã¦ã„ã¾ã™ã€‚ã“ã®å•é¡Œã®ã‚¢ãƒƒãƒ—デートã¯ã€é€šå¸¸ã€<a href="https://developers.google.com/android/nexus/drivers" class="external">Google デベロッパー サイト</a>ã‹ã‚‰å…¥æ‰‹ã§ãã‚‹ Pixel / Nexus 端末用最新ãƒã‚¤ãƒŠãƒª ドライãƒã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
+</p>
+<p>
+<strong>5. セキュリティã®è„†å¼±æ€§ãŒã€ã“ã®å…¬é–‹æƒ…å ±ã¨ã€ŒAndroid ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã€ã«åˆ†ã‘られã¦ã„ã‚‹ã®ã¯ãªãœã§ã™ã‹ï¼Ÿ</strong>
+</p>
+<p>
+Android æ­è¼‰ç«¯æœ«ã®æœ€æ–°ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã‚’宣言ã™ã‚‹ãŸã‚ã«ã¯ã€Android ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«é–¢ã™ã‚‹å…¬é–‹æƒ…å ±ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ãŒå¿…è¦ã§ã™ã€‚ãれ以外ã®ã€ã“ã®å…¬é–‹æƒ…å ±ãªã©ã«æŽ²è¼‰ã•ã‚Œã¦ã„るセキュリティã®è„†å¼±æ€§ã¸ã®å¯¾å‡¦ã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ パッãƒãƒ¬ãƒ™ãƒ«ã®å…¬è¡¨ã«ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
+</p>
+<h2 id="versions">ãƒãƒ¼ã‚¸ãƒ§ãƒ³</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>ãƒãƒ¼ã‚¸ãƒ§ãƒ³</th>
+ <th>日付</th>
+ <th>メモ</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018 年 11 月 5 日</td>
+ <td>情報公開</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/ja/security/bulletin/pixel/2018.html b/ja/security/bulletin/pixel/2018.html
index 8392cddf..6818a394 100644
--- a/ja/security/bulletin/pixel/2018.html
+++ b/ja/security/bulletin/pixel/2018.html
@@ -33,6 +33,21 @@
<th>公開日</th>
<th>セキュリティ パッãƒãƒ¬ãƒ™ãƒ«</th>
</tr>
+ <tr>
+ <td><a href="/security/bulletin/pixel/2018-11-01.html">2018 年 11 月</a></td>
+ <td>準備中
+ <!--
+ <a href="/security/bulletin/pixel/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>2018 年 11 月 5 日</td>
+ <td>2018-11-05</td>
+ </tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018 年 10 月</a></td>
<td>
diff --git a/ja/security/bulletin/pixel/index.html b/ja/security/bulletin/pixel/index.html
index cdff3a9d..6daae3f9 100644
--- a/ja/security/bulletin/pixel/index.html
+++ b/ja/security/bulletin/pixel/index.html
@@ -42,6 +42,21 @@
<th>公開日</th>
<th>セキュリティ パッãƒãƒ¬ãƒ™ãƒ«</th>
</tr>
+ <tr>
+ <td><a href="/security/bulletin/pixel/2018-11-01.html">2018 年 11 月</a></td>
+ <td>準備中
+ <!--
+ <a href="/security/bulletin/pixel/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>2018 年 11 月 5 日</td>
+ <td>2018-11-05</td>
+ </tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018 年 10 月</a></td>
<td>
diff --git a/ko/security/bulletin/2018-07-01.html b/ko/security/bulletin/2018-07-01.html
index a3653af4..93708308 100644
--- a/ko/security/bulletin/2018-07-01.html
+++ b/ko/security/bulletin/2018-07-01.html
@@ -375,147 +375,147 @@ Qualcomm AMSS 보안 ê²Œì‹œíŒ ë˜ëŠ” 보안 ì•Œë¦¼ì— ìžì„¸ížˆ 설명ë˜ì–´
<tr>
<td>CVE-2017-18171</td>
<td>A-78240792<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18277</td>
<td>A-78240715<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18172</td>
<td>A-78240449<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18170</td>
<td>A-78240612<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-15841</td>
<td>A-78240794<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18173</td>
<td>A-78240199<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18278</td>
<td>A-78240071<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2016-2108</td>
<td>A-78240736<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18275</td>
<td>A-78242049<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18279</td>
<td>A-78241971<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18274</td>
<td>A-78241834<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18276</td>
<td>A-78241375<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2017-18131</td>
<td>A-68989823<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-11259</td>
<td>A-72951265<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-11257</td>
<td>A-74235874<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-5837</td>
<td>A-74236406<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-5876</td>
<td>A-77485022<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-5875</td>
<td>A-77485183<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-5874</td>
<td>A-77485139<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>심ê°</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-5882</td>
<td>A-77483830<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
<tr>
<td>CVE-2018-5878</td>
<td>A-77484449<a href="#asterisk">*</a></td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>높ìŒ</td>
<td>비공개 소스 구성요소</td>
</tr>
@@ -588,7 +588,7 @@ Qualcomm AMSS 보안 ê²Œì‹œíŒ ë˜ëŠ” 보안 ì•Œë¦¼ì— ìžì„¸ížˆ 설명ë˜ì–´
<td>서비스 거부</td>
</tr>
<tr>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
<td>분류 ì—†ìŒ</td>
</tr>
</tbody></table>
diff --git a/ko/security/bulletin/2018-10-01.html b/ko/security/bulletin/2018-10-01.html
index 70133774..e5887556 100644
--- a/ko/security/bulletin/2018-10-01.html
+++ b/ko/security/bulletin/2018-10-01.html
@@ -44,8 +44,8 @@ Android 오픈소스 프로ì íŠ¸(AOSP) ì €ìž¥ì†Œì— ë°°í¬ë˜ì—ˆìœ¼ë©° ì´ ê²Œì
<p>
실제 ê³ ê°ì´ 새로 ë³´ê³ ëœ ì´ëŸ¬í•œ 문제로 ì¸í•´ 악용당했다는 신고는
접수ë˜ì§€ 않았습니다. Android 플랫í¼ì˜ ë³´ì•ˆì„ ê°œì„ í•˜ëŠ”
-<a href="/security/enhancements/">Android 보안 í”Œëž«í¼ ë³´í˜¸</a> ë° Google Play 프로í…íŠ¸ì— ê´€í•´
-ìžì„¸ížˆ 알아보려면 <a href="#mitigations">Android ë° Google Play 프로í…트 완화</a>
+<a href="#mitigations">Android 보안 í”Œëž«í¼ ë³´í˜¸</a> ë° Google Play 프로í…íŠ¸ì— ê´€í•´
+ìžì„¸ížˆ 알아보려면 <a href="/security/enhancements/">Android ë° Google Play 프로í…트 완화</a>
ì„¹ì…˜ì„ ì°¸ì¡°í•˜ì„¸ìš”.
</p>
<p class="note">
diff --git a/ko/security/bulletin/2018-11-01.html b/ko/security/bulletin/2018-11-01.html
new file mode 100644
index 00000000..650d0def
--- /dev/null
+++ b/ko/security/bulletin/2018-11-01.html
@@ -0,0 +1,685 @@
+<html devsite><head>
+ <title>Android 보안 게시íŒâ€”2018ë…„ 11ì›”</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<p><em>2018ë…„ 11ì›” 5ì¼ ê²Œì‹œë¨</em></p>
+
+<p>
+Android 보안 게시íŒì€ Android ê¸°ê¸°ì— ì˜í–¥ì„ 미치는 보안 취약성
+세부정보를 다룹니다. ì´ëŸ¬í•œ 문제는 2018-11-05 보안 패치 수준 ì´ìƒì—ì„œ
+ëª¨ë‘ í•´ê²°ë˜ì—ˆìŠµë‹ˆë‹¤. ê¸°ê¸°ì˜ ë³´ì•ˆ 패치 ìˆ˜ì¤€ì„ í™•ì¸í•˜ëŠ” 방법ì€
+<a href="https://support.google.com/pixelphone/answer/4457705" class="external">Android 버전 í™•ì¸ ë° ì—…ë°ì´íŠ¸</a>를 참조하세요.
+</p>
+<p>
+Android 파트너ì—게는 게시ë˜ê¸° 최소 í•œ 달 ì „ì— ëª¨ë“  문제 관련 알림ì´
+전달ë˜ì—ˆìŠµë‹ˆë‹¤. ì´ëŸ¬í•œ ë¬¸ì œì˜ í•´ê²°ì„ ìœ„í•œ 소스 코드 패치는 향후 48시간 ë™ì•ˆ
+Android 오픈소스 프로ì íŠ¸(AOSP) ì €ìž¥ì†Œì— ë°°í¬ë©ë‹ˆë‹¤. 패치를 사용할 수 있게 ë˜ë©´ AOSP ë§í¬ì™€ 함께 ì´ ê²Œì‹œíŒì„
+수정하겠습니다.</p>
+<p>
+ì´ ì„¹ì…˜ì˜ ê°€ìž¥ 심ê°í•œ 취약성으로 ì¸í•´ 특별히
+ì œìž‘ëœ íŒŒì¼ì„ 사용하는 근접한 공격ìžê°€ ê¶Œí•œì´ ì„¤ì •ëœ
+í”„ë¡œì„¸ìŠ¤ì˜ ì»¨í…스트 ë‚´ì—ì„œ ìž„ì˜ì˜ 코드를 실행할 수 있습니다. <a href="/security/overview/updates-resources.html#severity">심ê°ë„
+í‰ê°€</a>는
+개발 목ì ìœ¼ë¡œ í”Œëž«í¼ ë° ì„œë¹„ìŠ¤ 완화를 사용할 수 없거나 ìš°íšŒì— ì„±ê³µí•œ 경우 취약성 악용으로 ì¸í•´
+ëŒ€ìƒ ê¸°ê¸°ê°€ 받는 ì˜í–¥ì„
+기준으로 합니다.
+</p>
+<p>
+실제 ê³ ê°ì´ 새로 ë³´ê³ ëœ ì´ëŸ¬í•œ 문제로 ì¸í•´ 악용당했다는 신고는
+접수ë˜ì§€ 않았습니다. Android 플랫í¼ì˜ ë³´ì•ˆì„ ê°œì„ í•˜ëŠ”
+<a href="/security/enhancements/">Android 보안 í”Œëž«í¼ ë³´í˜¸</a> ë° Google Play 프로í…íŠ¸ì— ê´€í•´
+ìžì„¸ížˆ 알아보려면 <a href="#mitigations">Android ë° Google Play 프로í…트 완화</a>
+ì„¹ì…˜ì„ ì°¸ì¡°í•˜ì„¸ìš”.
+</p>
+<p class="note">
+<strong>참고:</strong> Google ê¸°ê¸°ì˜ ìµœì‹  무선 ì—…ë°ì´íŠ¸(OTA) ë°
+펌웨어 ì´ë¯¸ì§€ 관련 정보는
+<a href="/security/bulletin/pixel/2018-11-01">2018ë…„ 11ì›”Pixel&amp;hairsp;/&amp;hairsp;Nexus 보안 게시íŒ</a>
+ì„ ì°¸ì¡°í•˜ì„¸ìš”.
+</p>
+
+<h2 id="announcements">공지사항</h2>
+<p>
+Libxaac ë¼ì´ë¸ŒëŸ¬ë¦¬ì—ì„œ 다ìŒì„ í¬í•¨í•œ 몇 가지 보안 문제가 파악ë˜ì—ˆìŠµë‹ˆë‹¤.
+CVE-2018-9528, CVE-2018-9529, CVE-2018-9530, CVE-2018-9531, CVE-2018-9532,
+CVE-2018-9533, CVE-2018-9534, CVE-2018-9535, CVE-2018-9569, CVE-2018-9570,
+CVE-2018-9571, CVE-2018-9572, CVE-2018-9573, CVE-2018-9574, CVE-2018-9575,
+CVE-2018-9576, CVE-2018-9577, CVE-2018-9578.</p>
+<p>ì´ ë¼ë¸ŒëŸ¬ë¦¬ëŠ” ì‹¤í—˜ì  ë¼ì´ë¸ŒëŸ¬ë¦¬ë¡œ 표시ë˜ì—ˆìœ¼ë©°, 프로ë•ì…˜ Android ë¹Œë“œì— ë” ì´ìƒ í¬í•¨ë˜ì§€ 않습니다.</p>
+
+<h2 id="mitigations">Android ë° Google 서비스 완화</h2>
+<p>
+다ìŒì€
+<a href="https://www.android.com/play-protect" class="external">Google Play 프로í…트</a>와 ê°™ì€
+<a href="/security/enhancements/">Android 보안 플랫í¼</a> ë° ì„œë¹„ìŠ¤ 보호 기능ì—ì„œ
+제공하는 ì™„í™”ì— ê´€í•œ 요약입니다. ì´ëŸ¬í•œ ê¸°ëŠ¥ì„ í†µí•´
+Androidì—ì„œ 보안 ì·¨ì•½ì„±ì´ ì•…ìš©ë  ê°€ëŠ¥ì„±ì„ ì¤„ìž…ë‹ˆë‹¤.
+</p>
+<ul>
+<li>Android í”Œëž«í¼ ìµœì‹  ë²„ì „ì˜ í–¥ìƒëœ 기능으로 Androidì˜ ì—¬ëŸ¬ 문제를
+악용하기가 ë”ìš± 어려워졌습니다. 가능하다면 모든 사용ìžëŠ” 최신 ë²„ì „ì˜ Androidë¡œ
+ì—…ë°ì´íŠ¸í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.</li>
+<li>Android 보안팀ì—서는 <a href="https://www.android.com/play-protect" class="external">Google Play 프로í…트</a>를 통해 악용사례를 ì ê·¹ì ìœ¼ë¡œ 모니터ë§í•˜ê³  <a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">잠재ì ìœ¼ë¡œ 위험한 애플리케ì´ì…˜</a>ì— ê´€í•´ 사용ìžì—게 경고를 보냅니다. Google Play 프로í…트는 <a href="http://www.android.com/gms" class="external">Google ëª¨ë°”ì¼ ì„œë¹„ìŠ¤</a>ê°€ ì ìš©ëœ 기기ì—
+기본ì ìœ¼ë¡œ
+사용 설정ë˜ì–´ 있으며 Google Play 외부ì—ì„œ 가져온 ì•±ì„ ì„¤ì¹˜í•˜ëŠ” 사용ìžì—게
+특히 중요합니다.</li>
+</ul>
+<h2 id="2018-11-01-details">2018-11-01 보안 패치 수준 취약성 세부정보</h2>
+<p>
+ë‹¤ìŒ ì„¹ì…˜ì—서는 2018-11-01 패치 ìˆ˜ì¤€ì— ì ìš©ë˜ëŠ”
+ê° ë³´ì•ˆ ì·¨ì•½ì„±ì— ê´€í•´ ìžì„¸ížˆ 알아볼 수 있습니다. ì·¨ì•½ì„±ì€ ì˜í–¥ì„ 받는
+구성요소 ì•„ëž˜ì— ë¶„ë¥˜ë˜ì–´ 있습니다. 여기ì—는
+문제 설명 ë° CVE, 관련 참조,
+<a href="#type">취약성 유형</a>,
+<a href="/security/overview/updates-resources.html#severity">심ê°ë„</a>,
+ì—…ë°ì´íŠ¸ëœ AOSP 버전(해당하는 경우)ì´ í¬í•¨ëœ 표가 제시ë©ë‹ˆë‹¤. 가능한 경우 AOSP 변경사항 목ë¡ê³¼ ê°™ì´ ë¬¸ì œë¥¼
+í•´ê²°í•œ 공개 ë³€ê²½ì‚¬í•­ì„ ë²„ê·¸ IDì— ì—°ê²°í•©ë‹ˆë‹¤. 하나ì˜
+버그와 ê´€ë ¨ëœ ë³€ê²½ì‚¬í•­ì´ ì—¬ëŸ¬ ê°œì¸ ê²½ìš° 추가 참조가 버그 ID
+다ìŒì— 오는 ë²ˆí˜¸ì— ì—°ê²°ë©ë‹ˆë‹¤.
+</p>
+
+<h3 id="framework">프레임워í¬</h3>
+<p>ì´ ì„¹ì…˜ì˜ ê°€ìž¥ 심ê°í•œ 취약성으로 ì¸í•´ 로컬 악성 애플리케ì´ì…˜ì´
+ê¶Œí•œì´ ì„¤ì •ëœ í”„ë¡œì„¸ìŠ¤ ë‚´ì—ì„œ ìž„ì˜ì˜ 코드를 실행할 수
+있습니다.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>ì—…ë°ì´íŠ¸ëœ AOSP 버전</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9522</td>
+ <td>A-112550251</td>
+ <td>EoP</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9524</td>
+ <td>A-34170870</td>
+ <td>EoP</td>
+ <td>높ìŒ</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9525</td>
+ <td>A-111330641</td>
+ <td>EoP</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="media-framework">미디어 프레임워í¬</h3>
+<p>ì´ ì„¹ì…˜ì˜ ê°€ìž¥ 심ê°í•œ 취약성으로 ì¸í•´ 특별히 ì œìž‘ëœ íŒŒì¼ì„ 사용하는
+ì›ê²© 공격ìžê°€ ê¶Œí•œì´ ì„¤ì •ëœ í”„ë¡œì„¸ìŠ¤ì˜ ì»¨í…스트 ë‚´ì—ì„œ ìž„ì˜ì˜ 코드를
+실행할 수 있습니다.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>ì—…ë°ì´íŠ¸ëœ AOSP 버전</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9527</td>
+ <td>A-112159345</td>
+ <td>RCE</td>
+ <td>심ê°</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9531</td>
+ <td>A-112661641</td>
+ <td>RCE</td>
+ <td>심ê°</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9536</td>
+ <td>A-112662184</td>
+ <td>EoP</td>
+ <td>심ê°</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9537</td>
+ <td>A-112891564</td>
+ <td>EoP</td>
+ <td>심ê°</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9521</td>
+ <td>A-111874331</td>
+ <td>RCE</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9539</td>
+ <td>A-113027383</td>
+ <td>EoP</td>
+ <td>높ìŒ</td>
+ <td>8.0, 8.1, 9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="system">시스템</h3>
+<p>ì´ ì„¹ì…˜ì˜ ê°€ìž¥ 심ê°í•œ 취약성으로 ì¸í•´ ì›ëž˜ëŠ” ê¶Œí•œì„ ê°–ê³  있으며 ë¡œì»¬ì— ì„¤ì¹˜í•œ
+애플리케ì´ì…˜ë§Œ 액세스할 수 있는 ë°ì´í„°ì— ì›ê²© 공격ìžê°€ 액세스하ë„ë¡
+할 수 있습니다.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>ì—…ë°ì´íŠ¸ëœ AOSP 버전</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9540</td>
+ <td>A-111450417</td>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9542</td>
+ <td>A-111896861</td>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9543</td>
+ <td>A-112868088</td>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9544</td>
+ <td>A-113037220</td>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9545</td>
+ <td>A-113111784</td>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td rowspan="2">CVE-2018-9541</td>
+ <td rowspan="2">A-111450531</td>
+ <td>ID</td>
+ <td>보통</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-media-framework">ì—…ë°ì´íŠ¸: 미디어 프레임워í¬</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>ì—…ë°ì´íŠ¸ëœ AOSP 버전</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9347</td>
+ <td>A-68664359</td>
+ <td>DoS</td>
+ <td>보통</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-system">ì—…ë°ì´íŠ¸: 시스템</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>ì—…ë°ì´íŠ¸ëœ AOSP 버전</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9457</td>
+ <td>A-72872376</td>
+ <td>EoP</td>
+ <td>보통</td>
+ <td>8.0, 8.1, 9</td>
+ </tr>
+</tbody></table>
+
+<h2 id="2018-11-05-details">2018-11-01 보안 패치 수준 취약성 세부정보</h2>
+<p>
+ë‹¤ìŒ ì„¹ì…˜ì—서는 2018-11-05 패치 ìˆ˜ì¤€ì— ì ìš©ë˜ëŠ”
+ê° ë³´ì•ˆ ì·¨ì•½ì„±ì— ê´€í•´ ìžì„¸ížˆ 알아볼 수 있습니다. 취약성ì€
+ì˜í–¥ì„ 받는 구성요소 ì•„ëž˜ì— ë¶„ë¥˜ë˜ì–´ 있으며
+CVE, 관련 참조, <a href="#type">취약성 유형</a>,
+<a href="/security/overview/updates-resources.html#severity">심ê°ë„</a>,
+구성요소(해당하는 경우), ì—…ë°ì´íŠ¸ëœ AOSP 버전(해당하는 경우)ê³¼ ê°™ì€ ì„¸ë¶€ì •ë³´ê°€ í¬í•¨ë˜ì–´ 있습니다. 가능한 경우
+AOSP 변경사항 목ë¡ê³¼ ê°™ì´ ë¬¸ì œë¥¼ í•´ê²°í•œ 공개 ë³€ê²½ì‚¬í•­ì„ ë²„ê·¸ IDì—
+연결합니다. í•˜ë‚˜ì˜ ë²„ê·¸ì™€ ê´€ë ¨ëœ ë³€ê²½ì‚¬í•­ì´ ì—¬ëŸ¬ ê°œì¸ ê²½ìš°
+추가 참조가 버그 ID 다ìŒì— 오는 ë²ˆí˜¸ì— ì—°ê²°ë©ë‹ˆë‹¤.
+</p>
+
+<h3 id="framework-05">프레임워í¬</h3>
+<p>ì´ ì„¹ì…˜ì˜ ê°€ìž¥ 심ê°í•œ 취약성으로 ì¸í•´ 로컬 악성 애플리케ì´ì…˜ì´
+ê¶Œí•œì´ ì„¤ì •ëœ í”„ë¡œì„¸ìŠ¤ ë‚´ì—ì„œ ìž„ì˜ì˜ 코드를 실행할 수
+있습니다.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>ì—…ë°ì´íŠ¸ëœ AOSP 버전</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9523</td>
+ <td>A-112859604</td>
+ <td>EoP</td>
+ <td>높ìŒ</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9526</td>
+ <td>A-112159033</td>
+ <td>ID</td>
+ <td>높ìŒ</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm 구성요소</h3>
+<p>ì´ ì„¹ì…˜ì˜ ê°€ìž¥ 심ê°í•œ 취약성으로 ì¸í•´ 로컬 악성 애플리케ì´ì…˜ì´
+ê¶Œí•œì´ ì„¤ì •ëœ í”„ë¡œì„¸ìŠ¤ì˜ ì»¨í…스트 ë‚´ì—ì„œ ìž„ì˜ì˜ 코드를 실행할 수
+있습니다.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>구성요소</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-15818</td>
+ <td>A-68992408<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/lk/commit/?id=abe4f7042cbdef928ffc152335a17150fb39b096">
+QC-CR#2078580</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>EcoSystem</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11995</td>
+ <td>A-71501677<br />
+ <a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=e3688be47d2b72f130f90dafd24b5f5acc4684ca">
+QC-CR#2129639</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>부트로ë”</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11905</td>
+ <td>A-112277889<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=0cdcf0409bdad7ed91c11d7715c89acc2e521e96">
+QC-CR#2090797</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>DSP_Services</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-closed-source-components">Qualcomm 비공개 소스
+구성요소</h3>
+<p>ë‹¤ìŒ ì·¨ì•½ì„±ì€ Qualcomm êµ¬ì„±ìš”ì†Œì— ì˜í–¥ì„ 주며 해당
+Qualcomm AMSS 보안 ê²Œì‹œíŒ ë˜ëŠ” 보안 ì•Œë¦¼ì— ìžì„¸ížˆ 설명ë˜ì–´
+있습니다. ì´ëŸ¬í•œ ë¬¸ì œì˜ ì‹¬ê°ë„ í‰ê°€ëŠ” Qualcommì—ì„œ ì§ì ‘
+제공합니다.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>구성요소</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-18317</td>
+ <td>A-78244877<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>심ê°</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5912</td>
+ <td>A-79420111<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>심ê°</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11264</td>
+ <td>A-109677962<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>심ê°</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2016-10502</td>
+ <td>A-68326808<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18316</td>
+ <td>A-78240714<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18318</td>
+ <td>A-78240675<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18315</td>
+ <td>A-78241957<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11994</td>
+ <td>A-72950294<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11996</td>
+ <td>A-74235967<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5870</td>
+ <td>A-77484722<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5877</td>
+ <td>A-77484786<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5916</td>
+ <td>A-79420492<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5917</td>
+ <td>A-79420096<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11269</td>
+ <td>A-109678529<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>높ìŒ</td>
+ <td>비공개 소스 구성요소</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">ì¼ë°˜ì ì¸ 질문 ë° ë‹µë³€</h2>
+<p>ì´ ì„¹ì…˜ì—서는 게시íŒì„ ì½ì€ ë’¤ ì œê¸°ë  ìˆ˜ 있는 ì¼ë°˜ì ì¸ ì§ˆë¬¸ì˜ ë‹µë³€ì„
+제시합니다.</p>
+<p><strong>1. ë‚´ 기기가 ì—…ë°ì´íŠ¸ë˜ì–´ ì´ ë¬¸ì œê°€ í•´ê²°ë˜ì—ˆëŠ”지 어떻게 ì•Œ 수
+있나요?</strong></p>
+<p>ê¸°ê¸°ì˜ ë³´ì•ˆ 패치 ìˆ˜ì¤€ì„ í™•ì¸í•˜ëŠ” 방법ì€
+<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Android 버전 í™•ì¸ ë° ì—…ë°ì´íŠ¸</a>를 참조하세요.</p>
+<ul>
+<li>2018-10-01 보안 패치 수준과 ê´€ë ¨ëœ ëª¨ë“  문제는 2018-10-01
+보안 패치 수준 ì´ìƒì—ì„œ í•´ê²°ë©ë‹ˆë‹¤.</li>
+<li>2018-11-05 보안 패치 수준 ë° ê·¸ ì´ì „ì˜ ëª¨ë“  패치 수준과 관련ëœ
+문제는 2018-11-05 보안 패치 수준 ì´ìƒì—ì„œ ëª¨ë‘ í•´ê²°ë©ë‹ˆë‹¤.</li>
+</ul>
+<p>ì´ëŸ¬í•œ ì—…ë°ì´íŠ¸ë¥¼ í¬í•¨í•˜ëŠ” 기기 제조업체는 패치 문ìžì—´ 수준ì„
+다ìŒê³¼ ê°™ì´ ì„¤ì •í•´ì•¼ 합니다.</p>
+<ul>
+ <li>[ro.build.version.security_patch]:[2018-11-01]</li>
+ <li>[ro.build.version.security_patch]:[2018-11-05]</li>
+</ul>
+<p><strong>2. ì´ ê²Œì‹œíŒì— ë‘ ê°€ì§€ 보안 패치 ìˆ˜ì¤€ì´ ìžˆëŠ” ì´ìœ ê°€ 무엇ì¸ê°€ìš”?</strong></p>
+<p>
+ì´ ê²Œì‹œíŒì—는 Android 파트너가 모든 Android 기기ì—ì„œ 유사하게 ë°œìƒí•˜ëŠ”
+취약성 ë¬¸ì œì˜ ì¼ë¶€ë¥¼ ë”ìš± 빠르고 유연하게 í•´ê²°í•  수 있ë„ë¡ ë‘ ê°€ì§€
+보안 패치 ìˆ˜ì¤€ì´ í¬í•¨ë˜ì–´ 있습니다. Android 파트너는 ì´ ê²Œì‹œíŒì— ì–¸ê¸‰ëœ ë¬¸ì œë¥¼ ëª¨ë‘ ìˆ˜ì •í•˜ê³ 
+최신 보안 패치 ìˆ˜ì¤€ì„ ì‚¬ìš©í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.
+</p>
+<ul>
+<li>2018-11-01 보안 패치 ìˆ˜ì¤€ì„ ì‚¬ìš©í•˜ëŠ” 기기는 ì´ ë³´ì•ˆ 패치
+수준과 ê´€ë ¨ëœ ëª¨ë“  문제와 ì´ì „ 보안 게시íŒì— ë³´ê³ ëœ
+모든 ë¬¸ì œì˜ ìˆ˜ì •ì‚¬í•­ì„ í¬í•¨í•´ì•¼ 합니다.</li>
+<li>2018-11-05 ì´í›„ì˜ ë³´ì•ˆ 패치 ìˆ˜ì¤€ì„ ì‚¬ìš©í•˜ëŠ” 기기는
+ì´ ë³´ì•ˆ 게시íŒê³¼ ì´ì „ 게시íŒì˜ 모든 관련 패치를
+í¬í•¨í•´ì•¼ 합니다.</li>
+</ul>
+<p>
+파트너는 해결하는 모든 ë¬¸ì œì˜ ìˆ˜ì •ì‚¬í•­ì„ ë‹¨ í•œ ë²ˆì˜ ì—…ë°ì´íŠ¸ì—ì„œ 번들로 묶는 것ì´
+좋습니다.
+</p>
+<p id="type">
+<strong>3. <em>유형</em> ì—´ì˜ í•­ëª©ì€ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ë‚˜ìš”?</strong>
+</p>
+<p>
+취약성 세부정보 í‘œì˜ <em>유형</em> ì—´ì— ìžˆëŠ” 항목ì€
+보안 취약성 분류를 참조합니다.
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>약어</th>
+ <th>ì •ì˜</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>리모컨 코드 실행</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>권한 승격</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>정보 공개</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>서비스 거부</td>
+ </tr>
+ <tr>
+ <td>N/A</td>
+ <td>분류 ì—†ìŒ</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>4. <em>참조</em> ì—´ì˜ í•­ëª©ì€ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ë‚˜ìš”?</strong>
+</p>
+<p>
+취약성 세부정보 í‘œì˜ <em>참조</em> ì—´ì— ìžˆëŠ” 항목ì€
+참조 ê°’ì´ ì†í•œ ì¡°ì§ì„ 나타내는 ì ‘ë‘어를 í¬í•¨í•  수
+있습니다.
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>ì ‘ë‘ì–´</th>
+ <th>참조</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android 버그 ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm 참조 번호</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek 참조 번호</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA 참조 번호</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom 참조 번호</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>5. <em>참조</em> ì—´ì—ì„œ Android 버그 ID ì˜†ì— ìžˆëŠ” * 표시는
+ë¬´ì—‡ì„ ì˜ë¯¸í•˜ë‚˜ìš”?</strong>
+</p>
+<p>
+공개ë˜ì§€ ì•Šì€ ë¬¸ì œëŠ” <em>참조</em> ì—´ì˜ Android 버그 ID ì˜†ì— * 표시가
+있습니다. ì¼ë°˜ì ìœ¼ë¡œ ì´ëŸ¬í•œ ë¬¸ì œì— ê´€í•œ ì—…ë°ì´íŠ¸ëŠ”
+<a href="https://developers.google.com/android/drivers" class="external">Google ê°œë°œìž ì‚¬ì´íŠ¸</a>ì—ì„œ 제공하는
+Pixel&amp;hairsp;/&amp;hairsp;Nexus
+기기용
+최신 ë°”ì´ë„ˆë¦¬ ë“œë¼ì´ë²„ì— í¬í•¨ë˜ì–´ 있습니다.
+</p>
+<p>
+<strong>6. 보안 ì·¨ì•½ì„±ì´ ì´ ê²Œì‹œíŒê³¼ Pixel / Nexus 게시íŒê³¼ ê°™ì€
+기기&amp;hairsp;/&amp;hairsp;파트너 보안 게시íŒì— 나뉘어져 있는
+ì´ìœ ê°€ 무엇ì¸ê°€ìš”?</strong>
+</p>
+<p>
+ì´ ë³´ì•ˆ 게시íŒì— 설명ë˜ì–´ 있는 보안 취약성ì€
+Android ê¸°ê¸°ì˜ ìµœì‹  보안 패치 ìˆ˜ì¤€ì„ ì„ ì–¸í•˜ëŠ” ë° í•„ìš”í•©ë‹ˆë‹¤. 기기&amp;hairsp;/&amp;hairsp;파트너
+보안 게시íŒì— ì„¤ëª…ëœ ì¶”ê°€ 보안 ì·¨ì•½ì„±ì€ ë³´ì•ˆ 패치 ìˆ˜ì¤€ì„ ì„ ì–¸í•˜ëŠ” ë°
+필요하지 않습니다. Android 기기 ë° ì¹©ì…‹ 제조업체는 <a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">삼성</a>, <a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> ë˜ëŠ”
+<a href="/security/bulletin/pixel/" class="external">Pixel&amp;hairsp;/&amp;hairsp;Nexus</a> 보안 게시íŒê³¼ ê°™ì€ ìžì²´
+보안 웹사ì´íŠ¸ë¥¼
+통해 기기와 관련ëœ
+다른 ìˆ˜ì •ì‚¬í•­ì´ ìžˆëŠ”ì§€
+기ë¡í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.
+</p>
+
+<h2 id="versions">버전</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>버전</th>
+ <th>날짜</th>
+ <th>참고</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018ë…„ 11ì›” 5ì¼</td>
+ <td>게시íŒì´ 게시ë¨</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/ko/security/bulletin/2018.html b/ko/security/bulletin/2018.html
index a3c4ea5f..0260e642 100644
--- a/ko/security/bulletin/2018.html
+++ b/ko/security/bulletin/2018.html
@@ -34,6 +34,22 @@
<th>보안 패치 수준</th>
</tr>
<tr>
+ <td><a href="/security/bulletin/2018-11-01.html">2018ë…„ 11ì›”</a></td>
+ <td>출시 예정
+ <!--
+ <a href="/security/bulletin/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>2018ë…„ 11ì›” 5ì¼</td>
+ <td>2018-11-01<br />
+ 2018-11-05</td>
+ </tr>
+ <tr>
<td><a href="/security/bulletin/2018-10-01.html">2018ë…„ 10ì›”</a></td>
<td>
<a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
diff --git a/ko/security/bulletin/index.html b/ko/security/bulletin/index.html
index 961dfe22..4a51984e 100644
--- a/ko/security/bulletin/index.html
+++ b/ko/security/bulletin/index.html
@@ -21,7 +21,7 @@
-->
<p>월간 기기 ì—…ë°ì´íŠ¸ëŠ” Android 사용ìžì˜ ì•ˆì „ì„ ìœ ì§€í•˜ê³  기기를 보호하는
-중요한 수단입니다. ì´ íŽ˜ì´ì§€ì—는 Android를 실행하는 ê¸°ê¸°ì— ì˜í–¥ì„ 주는 ë°œìƒ ê°€ëŠ¥í•œ ë¬¸ì œì— ëŒ€í•œ í•´ê²° ë°©ë²•ì„ ì œê³µí•˜ëŠ” Android 보안 게시íŒì— 대해 알려드립니다. 다ìŒê³¼ ê°™ì€ Android 기기 ë°
+중요한 수단입니다. ì´ íŽ˜ì´ì§€ì—는 Android 실행 ê¸°ê¸°ì— ì˜í–¥ì„ 주는 ë°œìƒ ê°€ëŠ¥í•œ ë¬¸ì œì— ëŒ€í•´ í•´ê²° ë°©ë²•ì„ ì œê³µí•˜ëŠ” Android 보안 게시íŒì— 대해 알려드립니다. 다ìŒê³¼ ê°™ì€ Android 기기 ë°
칩셋 제조업체ì—ì„œë„ ìžì‚¬ 제품과 ê´€ë ¨ëœ ë³´ì•ˆ 취약성 세부정보를 게시할 수 있습니다.</p>
<ul>
<li><a href="/security/bulletin/pixel/">Google</a></li>
@@ -64,6 +64,22 @@ Security Updates 그룹</a>ì— ê°€ìž…í•˜ì—¬ ì´ë©”ì¼ ì „ë‹¬ í™˜ê²½ì„¤ì •ì„ ëª¨
<th>게시ì¼</th>
<th>보안 패치 수준</th>
</tr>
+ <tr>
+ <td><a href="/security/bulletin/2018-11-01.html">2018ë…„ 11ì›”</a></td>
+ <td>출시 예정
+ <!--
+ <a href="/security/bulletin/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>2018ë…„ 11ì›” 5ì¼</td>
+ <td>2018-11-01<br />
+ 2018-11-05</td>
+ </tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018ë…„ 10ì›”</a></td>
<td>
@@ -596,7 +612,7 @@ Security Updates 그룹</a>ì— ê°€ìž…í•˜ì—¬ ì´ë©”ì¼ ì „ë‹¬ í™˜ê²½ì„¤ì •ì„ ëª¨
<a href="/security/bulletin/2015-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2015ë…„ 8ì›” 13ì¼</td>
- <td>N/A</td>
+ <td>해당 ì—†ìŒ</td>
</tr>
</tbody></table>
diff --git a/ko/security/bulletin/pixel/2018-05-01.html b/ko/security/bulletin/pixel/2018-05-01.html
index 917d54fe..6027da5e 100644
--- a/ko/security/bulletin/pixel/2018-05-01.html
+++ b/ko/security/bulletin/pixel/2018-05-01.html
@@ -38,7 +38,7 @@ Google ê¸°ê¸°ì˜ ê²½ìš° 2018-05-05 보안 패치 수준 ì´ìƒì—ì„œ ì´ ê²Œì‹œí
ì—…ë°ì´íŠ¸ë©ë‹ˆë‹¤. 모든 ê³ ê°ì€ 기기ì—ì„œ ì´ ì—…ë°ì´íŠ¸ë¥¼ 수ë½í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.
</p>
<p class="note">
-<strong>참고:</strong> Google 기기 펌웨어 ì´ë¯¸ì§€ëŠ”<a href="https://developers.google.com/android/nexus/images"> Google
+<strong>참고:</strong> Google 기기 펌웨어 ì´ë¯¸ì§€ëŠ” <a href="https://developers.google.com/android/nexus/images">Google
ê°œë°œìž ì‚¬ì´íŠ¸</a>
ì— ìžˆìŠµë‹ˆë‹¤.
</p>
diff --git a/ko/security/bulletin/pixel/2018-06-01.html b/ko/security/bulletin/pixel/2018-06-01.html
index 1c9f578c..659d0efd 100644
--- a/ko/security/bulletin/pixel/2018-06-01.html
+++ b/ko/security/bulletin/pixel/2018-06-01.html
@@ -38,9 +38,9 @@ Google ê¸°ê¸°ì˜ ê²½ìš° 2018-06-05 보안 패치 수준 ì´ìƒì—ì„œ ì´ ê²Œì‹œí
ì—…ë°ì´íŠ¸ë©ë‹ˆë‹¤. 모든 ê³ ê°ì€ 기기ì—ì„œ ì´ ì—…ë°ì´íŠ¸ë¥¼ 수ë½í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.
</p>
<p class="note">
-<strong>참고:</strong> Google 기기 펌웨어 ì´ë¯¸ì§€ëŠ”
-<a href="https://developers.google.com/android/images">Google 개발ìž
-사ì´íŠ¸</a>ì— ìžˆìŠµë‹ˆë‹¤.
+<strong>참고:</strong> Google 기기 펌웨어 ì´ë¯¸ì§€ëŠ” <a href="https://developers.google.com/android/images">Google
+ê°œë°œìž ì‚¬ì´íŠ¸</a>
+ì— ìžˆìŠµë‹ˆë‹¤.
</p>
<h2 id="announcements">공지사항</h2>
<p>2018ë…„ 6ì›” Android 보안 게시íŒì— ì„¤ëª…ëœ ë³´ì•ˆ 취약성 외ì—ë„
@@ -78,21 +78,21 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td>CVE-2018-9374</td>
<td><a href="https://android.googlesource.com/platform/frameworks/base/+/62b500f99595e99e1db8f0c068f719e68c73551e">A-72710897</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
<tr>
<td>CVE-2018-9375</td>
<td><a href="https://android.googlesource.com/platform/packages/providers/UserDictionaryProvider/+/cccf7d5c98fc81ff4483f921fb4ebfa974add9c6">A-75298708</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
<tr>
<td>CVE-2018-9377</td>
<td>A-64752751<a href="#asterisk">*</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>6.0, 6.0.1</td>
</tr>
@@ -116,7 +116,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td>CVE-2018-9378</td>
<td><a href="https://android.googlesource.com/platform/frameworks/av/+/e0c09e4dd62e033aa9688634844d19136c0d34bc">A-73126106</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
@@ -124,14 +124,14 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<td>CVE-2018-9379</td>
<td><a href="https://android.googlesource.com/platform/frameworks/base/+/42e5aed1d106bef1f8913ffe87aa1f9df6aae90c">A-63766886</a>
[<a href="https://android.googlesource.com/platform/packages/providers/MediaProvider/+/76ffd8258c483b7170af49a8a67702426df07f2f">2</a>]</td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
<tr>
<td rowspan="2">CVE-2018-9349</td>
<td rowspan="2"><a href="https://android.googlesource.com/platform/external/libvpx/+/69ddad629d1db85d8531af694c910626a1e80a9f">A-72510002</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
@@ -143,7 +143,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td rowspan="2">CVE-2018-9350</td>
<td rowspan="2"><a href="https://android.googlesource.com/platform/external/libavc/+/fde8eda71e8f7bc9c973fe6fbdd3846951b340ed">A-73552574</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
@@ -155,7 +155,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td rowspan="2">CVE-2018-9351</td>
<td rowspan="2"><a href="https://android.googlesource.com/platform/external/libavc/+/27c639d897fb0f1f0acf6a58b5c013d65c63bd04">A-73625898</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
@@ -168,7 +168,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<td rowspan="2">CVE-2018-9352</td>
<td rowspan="2"><a href="https://android.googlesource.com/platform/external/libhevc/+/a7303e887a40ab164b19b310068e13ac4f123edc">A-73965867</a>
[<a href="https://android.googlesource.com/platform/external/libhevc/+/9434d4d8846241f0575aaf48ee7d4342e926ae77">2</a>]</td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
@@ -180,7 +180,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td rowspan="2">CVE-2018-9353</td>
<td rowspan="2"><a href="https://android.googlesource.com/platform/external/libhevc/+/7ea8a36d5de35d71ace260a695199093fcc1f08f">A-73965890</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
@@ -221,21 +221,21 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td>CVE-2018-9380</td>
<td><a href="https://android.googlesource.com/platform/system/bt/+/85677abe2cc90bcd8b9df127088a97657d17c986">A-75298652</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
- <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1 </td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
</tr>
<tr>
<td>CVE-2018-9381</td>
<td><a href="https://android.googlesource.com/platform/system/bt/+/0519f6aa5345be0917ad52188479230148adf8bd">A-73125709</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>8.1</td>
</tr>
<tr>
<td>CVE-2018-9382</td>
<td>A-35765136<a href="#asterisk">*</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>6.0, 6.0.1, 7.0, 7.1.1, 7.1.2</td>
</tr>
@@ -259,14 +259,14 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td>CVE-2018-9383</td>
<td>A-73827422<a href="#asterisk">*</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>asn1_decoder</td>
</tr>
<tr>
<td>CVE-2018-9384</td>
<td>A-74356909<br />
- <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c02433dd6de32f042cf3ffe476746b1115b8c096">Upstream kernel</a></td>
+ <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c02433dd6de32f042cf3ffe476746b1115b8c096">업스트림 커ë„</a></td>
<td>ID</td>
<td>보통</td>
<td>커ë„</td>
@@ -274,7 +274,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td>CVE-2018-9385</td>
<td>A-74128061<br />
- <a href="https://patchwork.kernel.org/patch/10175611/">Upstream kernel</a></td>
+ <a href="https://patchwork.kernel.org/patch/10175611/">업스트림 커ë„</a></td>
<td>EoP</td>
<td>보통</td>
<td>amba</td>
@@ -282,28 +282,28 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<tr>
<td>CVE-2018-9386</td>
<td>A-71363680<a href="#asterisk">*</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>HTC reboot_block ë“œë¼ì´ë²„</td>
</tr>
<tr>
<td>CVE-2018-9387</td>
<td>A-69006385<a href="#asterisk">*</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>mnh_sm ë“œë¼ì´ë²„</td>
</tr>
<tr>
<td>CVE-2018-9388</td>
<td>A-68343441<a href="#asterisk">*</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>ftm4_touch</td>
</tr>
<tr>
<td>CVE-2018-9389</td>
<td>A-65023306<a href="#asterisk">*</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>ipv4/ipv6</td>
</tr>
@@ -311,7 +311,7 @@ Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 관련ëœ
<td>CVE-2018-7480</td>
<td>A-76106168<br />
<a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9b54d816e00425c3a517514e0d677bb3cec49258">
-Upstream kernel</a></td>
+업스트림 커ë„</a></td>
<td>EoP</td>
<td>보통</td>
<td>ë¸”ë¡ ì²˜ë¦¬ 프로그램</td>
@@ -320,7 +320,7 @@ Upstream kernel</a></td>
<td>CVE-2017-18075</td>
<td>A-73237057<br />
<a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d76c68109f37cb85b243a1cf0f40313afd2bae68">
-Upstream kernel</a></td>
+업스트림 커ë„</a></td>
<td>EoP</td>
<td>보통</td>
<td>pcrypt</td>
@@ -346,7 +346,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9390</td>
<td>A-76100614<a href="#asterisk">*</a><br />
M-ALPS03849277</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>wlanThermo procfs 항목</td>
</tr>
@@ -354,7 +354,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9391</td>
<td>A-72313579<a href="#asterisk">*</a><br />
M-ALPS03762614</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>GPS HAL</td>
</tr>
@@ -362,7 +362,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9392</td>
<td>A-72312594<a href="#asterisk">*</a><br />
M-ALPS03762614</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>GPS HAL</td>
</tr>
@@ -370,7 +370,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9393</td>
<td>A-72312577<a href="#asterisk">*</a><br />
M-ALPS03753748</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>MTK wlan</td>
</tr>
@@ -378,7 +378,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9394</td>
<td>A-72312468<a href="#asterisk">*</a><br />
M-ALPS03753652</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>MTK P2P ë“œë¼ì´ë²„</td>
</tr>
@@ -386,7 +386,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9395</td>
<td>A-72312071<a href="#asterisk">*</a><br />
M-ALPS03753735</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>MTK cfg80211</td>
</tr>
@@ -394,7 +394,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9396</td>
<td>A-71867113<a href="#asterisk">*</a><br />
M-ALPS03740353</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>Mediatek CCCI</td>
</tr>
@@ -403,7 +403,7 @@ Upstream kernel</a></td>
<td>A-71866634<a href="#asterisk">*</a><br />
M-ALPS03532675<br />
M-ALPS03479586</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>Mediatek WMT 기기</td>
</tr>
@@ -411,7 +411,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9398</td>
<td>A-71866289<a href="#asterisk">*</a><br />
M-ALPS03740468</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>FM ë¼ë””오 ë“œë¼ì´ë²„</td>
</tr>
@@ -419,7 +419,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9399</td>
<td>A-71866200<a href="#asterisk">*</a><br />
M-ALPS03740489</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>/proc/driver/wmt_dbg ë“œë¼ì´ë²„</td>
</tr>
@@ -427,7 +427,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9400</td>
<td>A-71865884<a href="#asterisk">*</a><br />
M-ALPS03753678</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>Goodix 터치스í¬ë¦° ë“œë¼ì´ë²„</td>
</tr>
@@ -435,7 +435,7 @@ Upstream kernel</a></td>
<td>CVE-2017-13308</td>
<td>A-70728757<a href="#asterisk">*</a><br />
M-ALPS03751855</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>thermal</td>
</tr>
@@ -443,7 +443,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9401</td>
<td>A-70511226<a href="#asterisk">*</a><br />
M-ALPS03693409</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>cameraisp</td>
</tr>
@@ -451,7 +451,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9402</td>
<td>A-70728072<a href="#asterisk">*</a><br />
M-ALPS03684171</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>WLAN ë“œë¼ì´ë²„</td>
</tr>
@@ -459,7 +459,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9403</td>
<td>A-72313700<a href="#asterisk">*</a><br />
M-ALPS03762413</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>HAL</td>
</tr>
@@ -467,7 +467,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9404</td>
<td>A-72314374<a href="#asterisk">*</a><br />
M-ALPS03773299</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>무선 ì¸í„°íŽ˜ì´ìŠ¤ ë ˆì´ì–´</td>
</tr>
@@ -475,7 +475,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9405</td>
<td>A-72314804<a href="#asterisk">*</a><br />
M-ALPS03762818</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>DmAgent</td>
</tr>
@@ -483,7 +483,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9406</td>
<td>A-70726950<a href="#asterisk">*</a><br />
M-ALPS03684231</td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>NlpService</td>
</tr>
@@ -491,7 +491,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9407</td>
<td>A-70728406<a href="#asterisk">*</a><br />
M-ALPS03902529</td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>emmc</td>
</tr>
@@ -499,7 +499,7 @@ Upstream kernel</a></td>
<td>CVE-2018-9408</td>
<td>A-70729980<a href="#asterisk">*</a><br />
M-ALPS03693684</td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>GPS</td>
</tr>
@@ -540,7 +540,7 @@ Upstream kernel</a></td>
<td>CVE-2018-5895</td>
<td>A-70293535<a href="#asterisk">*</a><br />
QC-CR#2161027</td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>qcacld</td>
</tr>
@@ -548,7 +548,7 @@ Upstream kernel</a></td>
<td>CVE-2018-5836</td>
<td>A-74237168<br />
<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=12a789c2e0e9fd2df40ac13ac27fe99487263887">QC-CR#2160375</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>WLAN</td>
</tr>
@@ -557,7 +557,7 @@ Upstream kernel</a></td>
<td>A-72957387<br />
<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=cf1c43ce8840021d2907afaa6c514e6971d7ebac">
QC-CR#2129566</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>WLAN</td>
</tr>
@@ -575,7 +575,7 @@ QC-CR#2107596</a></td>
<td>A-68992461<br />
<a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=c8dc3bf07ee909e6e57ad7887f9d3c0ffa5df795">
QC-CR#2104835</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>부트로ë”</td>
</tr>
@@ -584,7 +584,7 @@ QC-CR#2104835</a></td>
<td>A-68992457<br />
<a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=1daa83baa41d1e6291e89f69e6487695b6890c01">
QC-CR#2073366</a></td>
- <td>ID </td>
+ <td>ID</td>
<td>보통</td>
<td>부트로ë”</td>
</tr>
@@ -593,7 +593,7 @@ QC-CR#2073366</a></td>
<td>A-74237664<br />
<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=4cc54a30958d2a8d989364aa45a27fde3dd17352">
QC-CR#2146949</a></td>
- <td>EoP =</td>
+ <td>EoP</td>
<td>보통</td>
<td>WLAN</td>
</tr>
@@ -669,7 +669,7 @@ QC-CR#2127305</a></td>
<td>CVE-2018-5857</td>
<td>A-62536960<a href="#asterisk">*</a><br />
QC-CR#2169403</td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>wcd_cpe_core</td>
</tr>
@@ -695,7 +695,7 @@ QC-CR#2062648</a></td>
<td>CVE-2017-15856</td>
<td>A-72957506<br />
<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=ed02c0ccd6f7461a69d64903738372eaf21babcd">QC-CR#2111922</a></td>
- <td>EoP </td>
+ <td>EoP</td>
<td>보통</td>
<td>power_stats debugfs 노드</td>
</tr>
diff --git a/ko/security/bulletin/pixel/2018-10-01.html b/ko/security/bulletin/pixel/2018-10-01.html
index aab555af..7c1c1057 100644
--- a/ko/security/bulletin/pixel/2018-10-01.html
+++ b/ko/security/bulletin/pixel/2018-10-01.html
@@ -183,7 +183,7 @@ Google ê¸°ê¸°ì˜ ê²½ìš° 2018-10-05 보안 패치 수준 ì´ìƒì—ì„œ ì´ ê²Œì‹œí
ë“œë¼ì´ë²„ì— í¬í•¨ë˜ì–´ 있습니다.
</p>
<p>
-<strong>5 보안 ì·¨ì•½ì„±ì´ ì´ ê²Œì‹œíŒê³¼ Android 보안 게시íŒì— 나뉘어져 있는 ì´ìœ ê°€
+<strong>5 보안 ì·¨ì•½ì„±ì´ ì´ ê²Œì‹œíŒê³¼ Android 보안 게시íŒì— 나누어져 있는 ì´ìœ ê°€
무엇ì¸ê°€ìš”?</strong>
</p>
<p>
diff --git a/ko/security/bulletin/pixel/2018-11-01.html b/ko/security/bulletin/pixel/2018-11-01.html
new file mode 100644
index 00000000..f8ab56f1
--- /dev/null
+++ b/ko/security/bulletin/pixel/2018-11-01.html
@@ -0,0 +1,288 @@
+<html devsite><head>
+ <title>Pixel / Nexus 보안 게시íŒâ€”2018ë…„ 11ì›”</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<p><em>2018ë…„ 11ì›” 5rlxì¼ ê²Œì‹œë¨</em></p>
+
+<p>
+Pixel&amp;hairsp;/&amp;hairsp;Nexus 보안 게시íŒì—서는 <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">지ì›ë˜ëŠ”
+Google Pixel ë° Nexus 기기</a>(Google 기기)ì— ì˜í–¥ì„ 미치는 보안 취약성 ë° ê¸°ëŠ¥ ê°œì„ ì„ ìžì„¸ížˆ 다룹니다.
+Google ê¸°ê¸°ì˜ ê²½ìš° 2018-11-05 보안 패치 수준 ì´ìƒì—ì„œ ì´ ê²Œì‹œíŒì— ì–¸ê¸‰ëœ ëª¨ë“  문제와 2018ë…„ 11ì›” Android 보안 게시íŒì˜
+모든 문제를
+해결했습니다. ê¸°ê¸°ì˜ ë³´ì•ˆ 패치 ìˆ˜ì¤€ì„ í™•ì¸í•˜ëŠ” ë°©ë²•ì€ <a href="https://support.google.com/pixelphone/answer/4457705" class="external">Android 버전 í™•ì¸ ë° ì—…ë°ì´íŠ¸</a>를 참조하세요.
+</p>
+<p>
+지ì›ë˜ëŠ” 모든 Google 기기는 2018-11-05 패치 수준으로
+ì—…ë°ì´íŠ¸ë©ë‹ˆë‹¤. 모든 ê³ ê°ì€ 기기ì—ì„œ ì´ ì—…ë°ì´íŠ¸ë¥¼ 수ë½í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.
+</p>
+<p class="note">
+<strong>참고:</strong> Google 기기 펌웨어 ì´ë¯¸ì§€ëŠ” <a href="https://developers.google.com/android/images" class="external">Google
+ê°œë°œìž ì‚¬ì´íŠ¸</a>
+ì— ìžˆìŠµë‹ˆë‹¤.
+</p>
+
+<h2 id="announcements">공지사항</h2>
+
+<p><a href="/security/bulletin/2018-11-01">2018ë…„ 11ì›” Android 보안 게시íŒ</a>ì—
+ì„¤ëª…ëœ ë³´ì•ˆ 취약성 외ì—ë„
+Pixel ë° Nexus 기기ì—는 아래 ì„¤ëª…ëœ ë³´ì•ˆ 취약성과 ê´€ë ¨ëœ íŒ¨ì¹˜ë„
+í¬í•¨ë˜ì–´ 있습니다. 파트너ì—게는 ì ì–´ë„ 1개월 ì „ì— ì´ëŸ¬í•œ 문제와 관련해 ì•Œë¦¼ì´ ì „ì†¡ë˜ì—ˆìœ¼ë©°
+파트너는 ì´ëŸ¬í•œ 패치를 기기 ì—…ë°ì´íŠ¸ì˜ ì¼ë¶€ë¡œ í¬í•¨í•˜ë„ë¡ ì„ íƒí•  수
+있습니다.
+</p>
+
+<h2 id="security-patches">보안 패치</h2>
+<p>
+ì·¨ì•½ì„±ì€ ì˜í–¥ì„ 받는 구성요소 ì•„ëž˜ì— ë¶„ë¥˜ë˜ì–´ 있습니다. 여기ì—는
+문제 설명 ë° CVE, 관련 참조,
+<a href="#type">취약성 유형</a>,
+<a href="/security/overview/updates-resources#severity">심ê°ë„</a>,
+ì—…ë°ì´íŠ¸ëœ Android 오픈소스 프로ì íŠ¸(AOSP) 버전(해당하는 경우)ì´ í¬í•¨ëœ 표가 제시ë©ë‹ˆë‹¤.
+가능한 경우 AOSP 변경사항 목ë¡ê³¼ ê°™ì´ ë¬¸ì œë¥¼ í•´ê²°í•œ 공개 ë³€ê²½ì‚¬í•­ì„ ë²„ê·¸ IDì—
+연결합니다. í•˜ë‚˜ì˜ ë²„ê·¸ì™€ ê´€ë ¨ëœ ë³€ê²½ì‚¬í•­ì´ ì—¬ëŸ¬ ê°œì¸ ê²½ìš°
+추가 참조가 버그 ID 다ìŒì— 오는 ë²ˆí˜¸ì— ì—°ê²°ë©ë‹ˆë‹¤.
+</p>
+
+<h3 id="htc-components">HTC 구성요소</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>구성요소</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9580</td>
+ <td>A-76222002<a href="#asterisk">*</a></td>
+ <td>EoP</td>
+ <td>보통</td>
+ <td>부트로ë”</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm 구성요소</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>참조</th>
+ <th>유형</th>
+ <th>심ê°ë„</th>
+ <th>구성요소</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-14888</td>
+ <td>A-70237718<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d50dfd647b2396d2e2c05b7aee84d831e4a18d68">QC-CR#2119729</a></td>
+ <td>해당 ì—†ìŒ</td>
+ <td>보통</td>
+ <td>WLAN Host</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-15835</td>
+ <td>A-72957155<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=b6eeed234707244c799ae7009e67312b8bf33ccd">QC-CR#2125781</a></td>
+ <td>해당 ì—†ìŒ</td>
+ <td>보통</td>
+ <td>WLAN Host</td>
+ </tr>
+</tbody></table>
+
+<h2 id="functional-patches">기능 패치</h2>
+
+<p>Android 9를 실행하는 모든 Pixel 기기는 11ì›” OTAì˜ ì¼í™˜ìœ¼ë¡œ
+ Android 9 ì—…ë°ì´íŠ¸ë¥¼ 받게 ë©ë‹ˆë‹¤.
+ ì´ ë¶„ê¸°ë³„ 버전ì—는 Android í”Œëž«í¼ ë° ì§€ì›ë˜ëŠ” Pixel ê¸°ê¸°ì˜ ì—¬ëŸ¬ ë¶€ë¶„ì— ê´€í•œ
+ 다양한 기능 ì—…ë°ì´íŠ¸ ë° ê°œì„  ì‚¬í•­ì´ í¬í•¨ë˜ì–´ 있습니다.</p>
+
+<p>ì´ë²ˆ 버전ì—는 다ìŒì˜ 수정 ì‚¬í•­ë„ í¬í•¨ë˜ì–´ 있습니다. Android
+ 기기 제조업체는 ì´ëŸ¬í•œ 수정 ì‚¬í•­ì„ ë°˜ë“œì‹œ ë°˜ì˜í•´ì•¼ 합니다.</p>
+
+<table>
+ <tbody><tr>
+ <th>참조</th>
+ <th>카테고리</th>
+ <th>개선 사항</th>
+ <th>기기</th>
+ </tr>
+ <tr>
+ <td>A-111401911</td>
+ <td>디스플레ì´</td>
+ <td><a href="/devices/tech/display/pip">PIP 모드</a>를 사용하여 ê¸°ê¸°ì˜ ì„±ëŠ¥
+ 개선</td>
+ <td>Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-109769728</td>
+ <td>프레임워í¬</td>
+ <td>Strongbox 대칭 키 ìƒì„± 요청 개선</td>
+ <td>Pixel 3, Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112198479</td>
+ <td>디스플레ì´</td>
+ <td><a href="/devices/tech/display/pip">PIP 모드</a>를 사용하여
+ ì•±ì˜ ì„±ëŠ¥ 개선</td>
+ <td>Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112714177</td>
+ <td>알림</td>
+ <td>ì•Œë¦¼ì˜ ì•ˆì •ì„± 개선</td>
+ <td>Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">ì¼ë°˜ì ì¸ 질문 ë° ë‹µë³€</h2>
+<p>
+ì´ ì„¹ì…˜ì—서는 게시íŒì„ ì½ì€ ë’¤ ì œê¸°ë  ìˆ˜ 있는 ì¼ë°˜ì ì¸ ì§ˆë¬¸ì˜ ë‹µë³€ì„
+제시합니다.
+</p>
+<p>
+<strong>1. ë‚´ 기기가 ì—…ë°ì´íŠ¸ë˜ì–´ ì´ ë¬¸ì œê°€ í•´ê²°ë˜ì—ˆëŠ”지 어떻게 ì•Œ 수 있나요?
+</strong>
+</p>
+<p>
+2018-11-05 보안 패치 수준 ë° ê·¸ ì´ì „ì˜ ëª¨ë“  패치 수준과 관련ëœ
+문제는 2018-11-05 보안 패치 수준 ì´ìƒì—ì„œ ëª¨ë‘ í•´ê²°ë©ë‹ˆë‹¤. 기기ì˜
+보안 패치 ìˆ˜ì¤€ì„ í™•ì¸í•˜ëŠ” ë°©ë²•ì„ ì•Œì•„ë³´ë ¤ë©´ <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Pixel ë° Nexus ì—…ë°ì´íŠ¸ ì¼ì •</a>ì˜ ì•ˆë‚´ë¥¼ 참조하세요.
+</p>
+<p id="type">
+<strong>2. <em>유형</em> ì—´ì˜ í•­ëª©ì€ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ë‚˜ìš”?</strong>
+</p>
+<p>
+취약성 세부정보 í‘œì˜ <em>유형</em> ì—´ì— ìžˆëŠ” 항목ì€
+보안 취약성 분류를 참조합니다.
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>약어</th>
+ <th>ì •ì˜</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>ì›ê²© 코드 실행</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>권한 승격</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>정보 공개</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>서비스 거부</td>
+ </tr>
+ <tr>
+ <td>N/A</td>
+ <td>분류 ì—†ìŒ</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>3. <em>참조</em> ì—´ì˜ í•­ëª©ì€ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ë‚˜ìš”?</strong>
+</p>
+<p>
+취약성 세부정보 í‘œì˜ <em>참조</em> ì—´ì— ìžˆëŠ” 항목ì€
+참조 ê°’ì´ ì†í•œ ì¡°ì§ì„ 나타내는 ì ‘ë‘어를 í¬í•¨í•  수
+있습니다.
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>ì ‘ë‘ì–´</th>
+ <th>참조</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android 버그 ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm 참조 번호</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek 참조 번호</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA 참조 번호</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom 참조 번호</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>4. <em>참조</em> ì—´ì—ì„œ Android 버그 ID ì˜†ì— ìžˆëŠ” * 표시는
+ë¬´ì—‡ì„ ì˜ë¯¸í•˜ë‚˜ìš”?</strong>
+</p>
+<p>
+공개ë˜ì§€ ì•Šì€ ë¬¸ì œëŠ” <em>참조</em> ì—´ì˜ Android 버그 ID ì˜†ì— * 표시가
+있습니다. ì¼ë°˜ì ìœ¼ë¡œ ì´ëŸ¬í•œ ë¬¸ì œì— ê´€í•œ ì—…ë°ì´íŠ¸ëŠ” <a href="https://developers.google.com/android/nexus/drivers" class="external">Google
+ê°œë°œìž ì‚¬ì´íŠ¸</a>ì—ì„œ 제공ë˜ëŠ” Pixel / Nexus 기기용 최신 ë°”ì´ë„ˆë¦¬
+ë“œë¼ì´ë²„ì— í¬í•¨ë˜ì–´ 있습니다.
+</p>
+<p>
+<strong>5. 보안 ì·¨ì•½ì„±ì´ ì´ ê²Œì‹œíŒê³¼ Android 보안 게시íŒì— 나누어져 있는 ì´ìœ ê°€
+무엇ì¸ê°€ìš”?</strong>
+</p>
+<p>
+Android 보안 게시íŒì— 설명ë˜ì–´ 있는 보안 취약성ì€
+Android ê¸°ê¸°ì˜ ìµœì‹  보안 패치 ìˆ˜ì¤€ì„ ì„ ì–¸í•˜ëŠ” ë°
+필요합니다. ì´ ê²Œì‹œíŒì— ì„¤ëª…ëœ ê²ƒê³¼ ê°™ì€ ì¶”ê°€ì ì¸ 보안 취약성ì€
+보안 패치 ìˆ˜ì¤€ì„ ì„ ì–¸í•˜ëŠ” ë° í•„ìš”í•˜ì§€ 않습니다.
+</p>
+<h2 id="versions">버전</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>버전</th>
+ <th>날짜</th>
+ <th>참고</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018ë…„ 11ì›” 5ì¼</td>
+ <td>게시íŒì´ 게시ë¨</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/ko/security/bulletin/pixel/2018.html b/ko/security/bulletin/pixel/2018.html
index 91f0ebfc..e1533434 100644
--- a/ko/security/bulletin/pixel/2018.html
+++ b/ko/security/bulletin/pixel/2018.html
@@ -38,15 +38,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018ë…„ 10ì›”</a></td>
- <td>출시 예정
- <!--
- <a href="/security/bulletin/pixel/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018ë…„ 10ì›” 1ì¼</td>
<td>2018-10-05</td>
diff --git a/ko/security/bulletin/pixel/index.html b/ko/security/bulletin/pixel/index.html
index a84bf384..b373c4ac 100644
--- a/ko/security/bulletin/pixel/index.html
+++ b/ko/security/bulletin/pixel/index.html
@@ -29,7 +29,7 @@ Pixel ë° Nexus 기기ì˜
Nexus 기기</a>ì— ì ìš©ë©ë‹ˆë‹¤.</p>
<h3 id="notification">알림</h3>
-<p>Pixel ë° Nexus 기기는 월간 게시íŒì´ 출시ë˜ëŠ” 날부터 OTA ì—…ë°ì´íŠ¸ê°€
+<p>Pixel ë° Nexus 기기는 월간 게시íŒì´ 게시ë˜ëŠ” 날부터 OTA ì—…ë°ì´íŠ¸ê°€
가능합니다. ì¼ë°˜ì ìœ¼ë¡œ OTAê°€ ê° Nexus ê¸°ê¸°ì— ë„달하는 ë°
1ì£¼ì¼ ë°˜ ì •ë„ê°€ 걸립니다. Nexus 펌웨어 ì´ë¯¸ì§€ì˜ 경우 매월
<a href="https://developers.google.com/android/nexus/images">Google 개발ìž
@@ -58,15 +58,13 @@ Pixel&amp;hairsp;/&amp;hairsp;Nexus 게시íŒì´ ê²Œì‹œëœ í›„ 24~48시간 ë‚´ì—
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018ë…„ 10ì›”</a></td>
- <td>출시 예정
- <!--
- <a href="/security/bulletin/pixel/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018ë…„ 10ì›” 1ì¼</td>
<td>2018-10-05</td>
diff --git a/ru/security/bulletin/2018-07-01.html b/ru/security/bulletin/2018-07-01.html
index 0724da95..d0afc3e6 100644
--- a/ru/security/bulletin/2018-07-01.html
+++ b/ru/security/bulletin/2018-07-01.html
@@ -49,7 +49,7 @@
</ul>
<h2 id="2018-07-01-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-07-01)</h2>
<p>
-Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-07-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="/security/overview/updates-resources.html#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), и дополнительные ÑÑылки в квадратных Ñкобках.
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-07-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), и дополнительные ÑÑылки в квадратных Ñкобках.
</p>
<h3 id="framework">Framework</h3>
@@ -185,7 +185,7 @@
<h2 id="2018-07-05-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-07-05)</h2>
<p>
-Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-07-05. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведена таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="/security/overview/updates-resources.html#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), и дополнительные ÑÑылки в квадратных Ñкобках.
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-07-05. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведена таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), и дополнительные ÑÑылки в квадратных Ñкобках.
</p>
<h3 id="kernel-components">Компоненты Ñдра</h3>
@@ -284,7 +284,7 @@
QC-CR#2151011</td>
<td>ПП</td>
<td>Ð’Ñ‹Ñокий</td>
- <td>Драйвер OpenGL ES</td>
+ <td>Драйвер OpenGL ES</td>
</tr>
<tr>
<td>CVE-2018-3586</td>
@@ -555,7 +555,7 @@
</tr>
</tbody></table>
<p id="asterisk">
-<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/2018-08-01.html b/ru/security/bulletin/2018-08-01.html
index 899b67f5..89a22005 100644
--- a/ru/security/bulletin/2018-08-01.html
+++ b/ru/security/bulletin/2018-08-01.html
@@ -274,8 +274,7 @@ Upstream kernel</a></td>
<tr>
<td>CVE-2018-9465</td>
<td>A-69164715<br />
- <a href="https://patchwork.kernel.org/patch/10058587/">Upstream
-kernel</a></td>
+ <a href="https://patchwork.kernel.org/patch/10058587/">Upstream kernel</a></td>
<td>ПП</td>
<td>Ð’Ñ‹Ñокий</td>
<td>Binder</td>
@@ -283,7 +282,7 @@ kernel</a></td>
</tbody></table>
<h3 id="qualcomm-components">Компоненты Qualcomm</h3>
-<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ</p>
+<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет злоумышленнику, не обладающему дополнительными правами на выполнение кода, удаленно раÑкрывать информацию.</p>
<table>
<colgroup><col width="21%" />
@@ -336,7 +335,7 @@ QC-CR#2204872</a></td>
</tbody></table>
<h3 id="qualcomm-closed-source-components">Компоненты Qualcomm Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</h3>
-<p>Эти уÑзвимоÑти затрагивают компоненты Qualcomm. Они опиÑаны в бюллетенÑÑ… по безопаÑноÑти Qualcomm AMSS и оповещениÑÑ… ÑиÑтемы безопаÑноÑти. Уровень ÑерьезноÑти Ñтих уÑзвимоÑтей определÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно компанией Qualcomm.</p>
+<p>Эти уÑзвимоÑти затрагивают компоненты Qualcomm. Они опиÑаны в бюллетенÑÑ… по безопаÑноÑти Qualcomm AMSS или оповещениÑÑ… ÑиÑтемы безопаÑноÑти. Уровень ÑерьезноÑти Ñтих уÑзвимоÑтей определÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно компанией Qualcomm.</p>
<table>
<colgroup><col width="21%" />
@@ -512,8 +511,8 @@ QC-CR#2204872</a></td>
<p><strong>1. Как определить, уÑтановлено ли на уÑтройÑтво обновление, в котором уÑтранены перечиÑленные проблемы?</strong></p>
<p>Информацию о том, как проверить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти, можно найти в <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Справочном центре</a>.</p>
<ul>
-<li>Ð’ иÑправлении от 1 авгуÑта 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-08-01.</li>
-<li>Ð’ иÑправлении от 5 авгуÑта 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-08-05.</li>
+<li>Ð’ иÑправлении от 1 авгуÑта 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-08-01.</li>
+<li>Ð’ иÑправлении от 5 авгуÑта 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-08-05.</li>
</ul>
<p>Производители уÑтройÑтв, позволÑющие уÑтановить Ñти обновлениÑ, должны приÑвоить им один из Ñтих уровней:</p>
<ul>
@@ -522,11 +521,11 @@ QC-CR#2204872</a></td>
</ul>
<p><strong>2. Почему в Ñтом бюллетене говоритÑÑ Ð¾ двух обновлениÑÑ… ÑиÑтемы безопаÑноÑти?</strong></p>
<p>
-Мы включили в Ñтот бюллетень ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ двух обновлениÑÑ…, чтобы помочь нашим партнерам как можно Ñкорее уÑтранить уÑзвимоÑти, затрагивающие вÑе уÑтройÑтва Android. Рекомендуем партнерам Android иÑправить вÑе вышеперечиÑленные проблемы и уÑтановить поÑледнее обновление ÑиÑтемы безопаÑноÑти.
+Мы включили в Ñтот бюллетень ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ двух обновлениÑÑ…, чтобы помочь нашим партнерам как можно Ñкорее уÑтранить уÑзвимоÑти, затрагивающие вÑе уÑтройÑтва Android. Рекомендуем партнерам Android иÑправить вÑе перечиÑленные выше проблемы и уÑтановить поÑледнее обновление ÑиÑтемы безопаÑноÑти.
</p>
<ul>
<li>Ðа уÑтройÑтвах Ñ ÑƒÑтановленным обновлением 2018-08-01 должны быть иÑправлены вÑе проблемы, упомÑнутые в ÑоответÑтвующем разделе Ñтого бюллетенÑ, а также в предыдущих выпуÑках.</li>
-<li>Ðа уÑтройÑтвах Ñ ÑƒÑтановленным обновлением 2018-08-05 или более новым должны быть иÑправлены вÑе проблемы, упомÑнутые в Ñтом бюллетене и предыдущих выпуÑках.</li>
+<li>Ðа уÑтройÑтвах Ñ ÑƒÑтановленным обновлением 2018-08-05 или более поздним должны быть иÑправлены вÑе проблемы, упомÑнутые в Ñтом бюллетене и предыдущих выпуÑках.</li>
</ul>
<p>
Рекомендуем партнерам Ñобрать вÑе иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ в одно обновление.
diff --git a/ru/security/bulletin/2018-09-01.html b/ru/security/bulletin/2018-09-01.html
index 5ed7b18c..febf4537 100644
--- a/ru/security/bulletin/2018-09-01.html
+++ b/ru/security/bulletin/2018-09-01.html
@@ -47,7 +47,7 @@
</ul>
<h2 id="2018-09-01-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-09-01)</h2>
<p>
-Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-09-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровнь ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-09-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
</p>
<h3 id="android-runtime">Android Runtime</h3>
@@ -749,10 +749,10 @@ QC-CR#2119840<a href="#asterisk">*</a></td>
</tr>
</tbody></table>
<p id="asterisk">
-<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
-Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/drivers" class="external">Ñайте Google Developers</a>.
+Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/drivers" class="external">Ñайте Google Developers</a>.
</p>
<p>
<strong>6. Почему теперь одни уÑзвимоÑти опиÑываютÑÑ Ð² Ñтих бюллетенÑÑ…, а другие – в бюллетенÑÑ… по безопаÑноÑти Pixel  и Nexus, а также в оÑтальных бюллетенÑÑ… партнеров?</strong>
diff --git a/ru/security/bulletin/2018-10-01.html b/ru/security/bulletin/2018-10-01.html
index db2d464a..8b0ac6e5 100644
--- a/ru/security/bulletin/2018-10-01.html
+++ b/ru/security/bulletin/2018-10-01.html
@@ -43,11 +43,11 @@
</p>
<ul>
<li>Ð’ новых верÑиÑÑ… Android Ñложнее иÑпользовать многие уÑзвимоÑти, поÑтому мы рекомендуем вÑем пользователÑм Ñвоевременно обновлÑÑ‚ÑŒ ÑиÑтему.</li>
-<li>Команда, Ð¾Ñ‚Ð²ÐµÑ‡Ð°ÑŽÑ‰Ð°Ñ Ð·Ð° безопаÑноÑÑ‚ÑŒ Android, активно отÑлеживает Ð·Ð»Ð¾ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <a href="https://www.android.com/play-protect" class="external">Google Play Защиты</a> и предупреждает пользователей об уÑтановке <a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">потенциально опаÑных приложений</a>. Google Play Защита включена по умолчанию на вÑех телефонах и планшетах, иÑпользующих <a href="http://www.android.com/gms" class="external">ÑервиÑÑ‹ Google Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв</a>. Она оÑобенно важна, еÑли уÑтанавливаетÑÑ ÐŸÐž из Ñторонних иÑточников.</li>
+<li>Команда, Ð¾Ñ‚Ð²ÐµÑ‡Ð°ÑŽÑ‰Ð°Ñ Ð·Ð° безопаÑноÑÑ‚ÑŒ Android, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <a href="https://www.android.com/play-protect" class="external">Google Play Защиты</a> активно отÑлеживает Ð·Ð»Ð¾ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð¸ предупреждает пользователей об уÑтановке <a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">потенциально опаÑных приложений</a>. Google Play Защита включена по умолчанию на вÑех телефонах и планшетах, иÑпользующих <a href="http://www.android.com/gms" class="external">ÑервиÑÑ‹ Google Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв</a>. Она оÑобенно важна, еÑли уÑтанавливаетÑÑ ÐŸÐž из Ñторонних иÑточников.</li>
</ul>
<h2 id="2018-10-01-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-10-01)</h2>
<p>
-Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-10-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="/security/overview/updates-resources.html#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-10-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
</p>
<h3 id="framework">Framework</h3>
@@ -267,7 +267,7 @@
<h2 id="2018-10-05-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-10-05)</h2>
<p>
-Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-10-05. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведена таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="/security/overview/updates-resources.html#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-10-05. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведена таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
</p>
<h3 id="kernel-components">Компоненты Ñдра</h3>
@@ -402,10 +402,10 @@
</tr>
</tbody></table>
<p id="asterisk">
-<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
-Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/drivers" class="external">Ñайте Google Developers</a>.
+Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/drivers" class="external">Ñайте Google Developers</a>.
</p>
<p>
<strong>6. Почему теперь одни уÑзвимоÑти опиÑываютÑÑ Ð² Ñтих бюллетенÑÑ…, а другие – в бюллетенÑÑ… по безопаÑноÑти Pixel  и Nexus, а также в оÑтальных бюллетенÑÑ… партнеров?</strong>
diff --git a/ru/security/bulletin/2018-11-01.html b/ru/security/bulletin/2018-11-01.html
new file mode 100644
index 00000000..cf7c5639
--- /dev/null
+++ b/ru/security/bulletin/2018-11-01.html
@@ -0,0 +1,589 @@
+<html devsite><head>
+ <title>Бюллетень по безопаÑноÑти Android – ноÑбрь 2018 г.</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<p><em>Опубликовано 5 ноÑÐ±Ñ€Ñ 2018 г.</em></p>
+
+<p>
+Ð’ Ñтом бюллетене ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± уÑзвимоÑÑ‚ÑÑ… в защите уÑтройÑтв Android. Ð’Ñе актуальные проблемы, перечиÑленные здеÑÑŒ, уÑтранены в иÑправлении от 5 ноÑÐ±Ñ€Ñ 2018 года или более новом. Информацию о том, как проверить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти, можно найти в <a href="https://support.google.com/pixelphone/answer/4457705" class="external">Справочном центре</a>.
+</p>
+<p>
+Мы Ñообщили партнерам обо вÑех проблемах по крайней мере за меÑÑц до выхода бюллетенÑ. ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÑзвимоÑтей будут добавлены в хранилище Android Open Source Project (AOSP) в течение 48 чаÑов. СÑылки на AOSP поÑвÑÑ‚ÑÑ Ð² Ñтом бюллетене позже.</p>
+<p>
+Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет находÑщемуÑÑ Ð¿Ð¾Ð±Ð»Ð¸Ð·Ð¾Ñти злоумышленнику выполнÑÑ‚ÑŒ произвольный код в контекÑте привилегированного процеÑÑа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñпециально Ñозданного файла. <a href="/security/overview/updates-resources.html#severity">Уровень ÑерьезноÑти</a> завиÑит от того, какой ущерб будет нанеÑен уÑтройÑтву при атаке Ñ Ð¸Ñпользованием уÑзвимоÑти, еÑли ÑредÑтва защиты будут отключены разработчиком или взломаны.
+</p>
+<p>
+У Ð½Ð°Ñ Ð½ÐµÑ‚ информации о том, что обнаруженные уÑзвимоÑти ÑкÑплуатировалиÑÑŒ. Ð’ разделе <a href="#mitigations">Предотвращение атак</a> раÑÑказываетÑÑ, как <a href="/security/enhancements/">платформа безопаÑноÑти</a> и Google Play Защита помогают Ñнизить вероÑтноÑÑ‚ÑŒ атак на Android.
+</p>
+<p class="note">
+<strong>Примечание.</strong> Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ поÑледних автоматичеÑких обновлениÑÑ… (OTA) и образах вÑтроенного ПО Ð´Ð»Ñ ÑƒÑтройÑтв Google ÑодержитÑÑ Ð² <a href="/security/bulletin/pixel/2018-11-01">бюллетене по безопаÑноÑти Pixel  и Nexus</a> за ноÑбрь 2018 года.
+</p>
+
+<h2 id="announcements">ÐовоÑти</h2>
+<p>
+Ð’ библиотеке Libxaac было обнаружено неÑколько уÑзвимоÑтей, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ CVE-2018-9528, CVE-2018-9529, CVE-2018-9530, CVE-2018-9531, CVE-2018-9532, CVE-2018-9533, CVE-2018-9534, CVE-2018-9535, CVE-2018-9569, CVE-2018-9570, CVE-2018-9571, CVE-2018-9572, CVE-2018-9573, CVE-2018-9574, CVE-2018-9575, CVE-2018-9576, CVE-2018-9577 и CVE-2018-9578.</p>
+<p>Библиотека была отмечена как ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ больше не включаетÑÑ Ð² какие-либо рабочие Ñборки Android.</p>
+
+<h2 id="mitigations">Предотвращение атак</h2>
+<p>
+Ðиже раÑÑказываетÑÑ, как <a href="/security/enhancements/">платформа безопаÑноÑти</a> и ÑредÑтва защиты ÑервиÑов, например <a href="https://www.android.com/play-protect" class="external">Google Play Защита</a>, позволÑÑŽÑ‚ Ñнизить вероÑтноÑÑ‚ÑŒ атак на Android.
+</p>
+<ul>
+<li>Ð’ новых верÑиÑÑ… Android Ñложнее иÑпользовать многие уÑзвимоÑти, поÑтому мы рекомендуем вÑем пользователÑм Ñвоевременно обновлÑÑ‚ÑŒ ÑиÑтему.</li>
+<li>Команда, Ð¾Ñ‚Ð²ÐµÑ‡Ð°ÑŽÑ‰Ð°Ñ Ð·Ð° безопаÑноÑÑ‚ÑŒ Android, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <a href="https://www.android.com/play-protect" class="external">Google Play Защиты</a> активно отÑлеживает Ð·Ð»Ð¾ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð¸ предупреждает пользователей об уÑтановке <a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">потенциально опаÑных приложений</a>. Google Play Защита включена по умолчанию на вÑех телефонах и планшетах, иÑпользующих <a href="http://www.android.com/gms" class="external">ÑервиÑÑ‹ Google Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв</a>. Она оÑобенно важна, еÑли уÑтанавливаетÑÑ ÐŸÐž из Ñторонних иÑточников.</li>
+</ul>
+<h2 id="2018-11-01-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-11-01)</h2>
+<p>
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-11-01. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+</p>
+
+<h3 id="framework">Framework</h3>
+<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет локальному вредоноÑному ПО выполнÑÑ‚ÑŒ произвольный код в контекÑте привилегированного процеÑÑа.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Обновленные верÑии AOSP</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9522</td>
+ <td>A-112550251</td>
+ <td>ПП</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9524</td>
+ <td>A-34170870</td>
+ <td>ПП</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9525</td>
+ <td>A-111330641</td>
+ <td>ПП</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+</tbody></table>
+
+<h3 id="media-framework">Media Framework</h3>
+<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет злоумышленнику выполнÑÑ‚ÑŒ произвольный код в контекÑте привилегированного процеÑÑа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñпециально Ñозданного файла.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Обновленные верÑии AOSP</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9527</td>
+ <td>A-112159345</td>
+ <td>УВК</td>
+ <td>КритичеÑкий</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9531</td>
+ <td>A-112661641</td>
+ <td>УВК</td>
+ <td>КритичеÑкий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9536</td>
+ <td>A-112662184</td>
+ <td>ПП</td>
+ <td>КритичеÑкий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9537</td>
+ <td>A-112891564</td>
+ <td>ПП</td>
+ <td>КритичеÑкий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9521</td>
+ <td>A-111874331</td>
+ <td>УВК</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9539</td>
+ <td>A-113027383</td>
+ <td>ПП</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>8.0, 8.1, 9.0</td>
+ </tr>
+</tbody></table>
+
+<h3 id="system">СиÑтема</h3>
+<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет злоумышленнику удаленно получать доÑтуп к данным, открытым только Ð´Ð»Ñ ÑƒÑтановленных на уÑтройÑтве приложений, которые обладают необходимыми разрешениÑми.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Обновленные верÑии AOSP</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9540</td>
+ <td>A-111450417</td>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9542</td>
+ <td>A-111896861</td>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9543</td>
+ <td>A-112868088</td>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9544</td>
+ <td>A-113037220</td>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9545</td>
+ <td>A-113111784</td>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td rowspan="2">CVE-2018-9541</td>
+ <td rowspan="2">A-111450531</td>
+ <td>РИ</td>
+ <td>Средний</td>
+ <td>9.0</td>
+ </tr>
+ <tr>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-media-framework">Обновление: Media Framework</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Обновленные верÑии AOSP</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9347</td>
+ <td>A-68664359</td>
+ <td>ОО</td>
+ <td>Средний</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9.0</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-system">Обновление: ÑиÑтема</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Обновленные верÑии AOSP</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9457</td>
+ <td>A-72872376</td>
+ <td>ПП</td>
+ <td>Средний</td>
+ <td>8.0, 8.1, 9.0</td>
+ </tr>
+</tbody></table>
+
+<h2 id="2018-11-05-details">ОпиÑание уÑзвимоÑтей (обновление ÑиÑтемы безопаÑноÑти 2018-11-05)</h2>
+<p>
+Ð’ Ñтом разделе вы найдете подробную информацию обо вÑех уÑзвимоÑÑ‚ÑÑ…, уÑтраненных в обновлении ÑиÑтемы безопаÑноÑти 2018-11-05. Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведена таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+</p>
+
+<h3 id="framework-05">Framework</h3>
+<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет локальному вредоноÑному ПО выполнÑÑ‚ÑŒ произвольный код в контекÑте привилегированного процеÑÑа.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Обновленные верÑии AOSP</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9523</td>
+ <td>A-112859604</td>
+ <td>ПП</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>7.0, 7.1.1, 7.1.2, 8.0, 8.1, 9.0</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9526</td>
+ <td>A-112159033</td>
+ <td>РИ</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>9.0</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Компоненты Qualcomm</h3>
+<p>Ð¡Ð°Ð¼Ð°Ñ ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ ÑƒÑзвимоÑÑ‚ÑŒ позволÑет локальному вредоноÑному ПО выполнÑÑ‚ÑŒ произвольный код в контекÑте привилегированного процеÑÑа.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Компонент</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-15818</td>
+ <td>A-68992408<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/lk/commit/?id=abe4f7042cbdef928ffc152335a17150fb39b096">
+QC-CR#2078580</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>ЭкоÑиÑтема</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11995</td>
+ <td>A-71501677<br />
+ <a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=e3688be47d2b72f130f90dafd24b5f5acc4684ca">
+QC-CR#2129639</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Загрузчик</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11905</td>
+ <td>A-112277889<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=0cdcf0409bdad7ed91c11d7715c89acc2e521e96">
+QC-CR#2090797</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>DSP_Services</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-closed-source-components">Компоненты Qualcomm Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</h3>
+<p>Эти уÑзвимоÑти затрагивают компоненты Qualcomm. Они опиÑаны в бюллетенÑÑ… по безопаÑноÑти Qualcomm AMSS или оповещениÑÑ… ÑиÑтемы безопаÑноÑти. Уровень ÑерьезноÑти Ñтих уÑзвимоÑтей определÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно компанией Qualcomm.</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Компонент</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-18317</td>
+ <td>A-78244877<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>КритичеÑкий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5912</td>
+ <td>A-79420111<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>КритичеÑкий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11264</td>
+ <td>A-109677962<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>КритичеÑкий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2016-10502</td>
+ <td>A-68326808<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18316</td>
+ <td>A-78240714<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18318</td>
+ <td>A-78240675<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18315</td>
+ <td>A-78241957<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11994</td>
+ <td>A-72950294<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11996</td>
+ <td>A-74235967<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5870</td>
+ <td>A-77484722<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5877</td>
+ <td>A-77484786<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5916</td>
+ <td>A-79420492<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5917</td>
+ <td>A-79420096<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11269</td>
+ <td>A-109678529<a href="#asterisk">*</a></td>
+ <td>Ð/Д</td>
+ <td>Ð’Ñ‹Ñокий</td>
+ <td>Компонент Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">ЧаÑто задаваемые вопроÑÑ‹</h2>
+<p>Ð’ Ñтом разделе мы отвечаем на вопроÑÑ‹, которые могут возникнуть поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð±ÑŽÐ»Ð»ÐµÑ‚ÐµÐ½Ñ.</p>
+<p><strong>1. Как определить, уÑтановлено ли на уÑтройÑтво обновление, в котором уÑтранены перечиÑленные проблемы?</strong></p>
+<p>Информацию о том, как проверить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти, можно найти в <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Справочном центре</a>.</p>
+<ul>
+<li>Ð’ иÑправлении от 1 ноÑÐ±Ñ€Ñ 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-11-01.</li>
+<li>Ð’ иÑправлении от 5 ноÑÐ±Ñ€Ñ 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-11-05.</li>
+</ul>
+<p>Производители уÑтройÑтв, позволÑющие уÑтановить Ñти обновлениÑ, должны приÑвоить им один из Ñтих уровней:</p>
+<ul>
+ <li>[ro.build.version.security_patch]:[2018-11-01]</li>
+ <li>[ro.build.version.security_patch]:[2018-11-05]</li>
+</ul>
+<p><strong>2. Почему в Ñтом бюллетене говоритÑÑ Ð¾ двух обновлениÑÑ… ÑиÑтемы безопаÑноÑти?</strong></p>
+<p>
+Мы включили в Ñтот бюллетень ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ двух обновлениÑÑ…, чтобы помочь нашим партнерам как можно Ñкорее уÑтранить уÑзвимоÑти, затрагивающие вÑе уÑтройÑтва Android. Рекомендуем партнерам Android иÑправить вÑе перечиÑленные выше проблемы и уÑтановить поÑледнее обновление ÑиÑтемы безопаÑноÑти.
+</p>
+<ul>
+<li>Ðа уÑтройÑтвах Ñ ÑƒÑтановленным обновлением 2018-11-01 должны быть иÑправлены вÑе проблемы, упомÑнутые в ÑоответÑтвующем разделе Ñтого бюллетенÑ, а также в предыдущих выпуÑках.</li>
+<li>Ðа уÑтройÑтвах Ñ ÑƒÑтановленным обновлением 2018-11-05 или более поздним должны быть иÑправлены вÑе проблемы, упомÑнутые в Ñтом бюллетене и предыдущих выпуÑках.</li>
+</ul>
+<p>
+Рекомендуем партнерам Ñобрать вÑе иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ в одно обновление.
+</p>
+<p id="type">
+<strong>3. Что означают ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð² Ñтолбце <em>Тип</em>?</strong>
+</p>
+<p>
+Ð’ Ñтом Ñтолбце указан тип уÑзвимоÑти по Ñледующей клаÑÑификации:<em></em>
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>Сокращение</th>
+ <th>ОпиÑание</th>
+ </tr>
+ <tr>
+ <td>УВК</td>
+ <td>Удаленное выполнение кода</td>
+ </tr>
+ <tr>
+ <td>ПП</td>
+ <td>Повышение привилегий</td>
+ </tr>
+ <tr>
+ <td>РИ</td>
+ <td>РаÑкрытие информации</td>
+ </tr>
+ <tr>
+ <td>ОО</td>
+ <td>Отказ в обÑлуживании</td>
+ </tr>
+ <tr>
+ <td>Ð/Д</td>
+ <td>КлаÑÑÐ¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>4. Что означает Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² Ñтолбце <em>СÑылки</em>?</strong>
+</p>
+<p>
+Ð’ таблицах Ñ Ð¾Ð¿Ð¸Ñанием уÑзвимоÑтей еÑÑ‚ÑŒ Ñтолбец <em>СÑылки</em>. ÐšÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в нем может Ñодержать префикÑ, указывающий на иÑточник ÑÑылки, а именно:
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>ПрефикÑ</th>
+ <th>Значение</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Идентификатор ошибки Android</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>СÑылочный номер Qualcomm</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>СÑылочный номер MediaTek</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>СÑылочный номер NVIDIA</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>СÑылочный номер Broadcom</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>5. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+</p>
+<p>
+Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/drivers" class="external">Ñайте Google Developers</a>.
+</p>
+<p>
+<strong>6. Почему теперь одни уÑзвимоÑти опиÑываютÑÑ Ð² Ñтих бюллетенÑÑ…, а другие – в бюллетенÑÑ… по безопаÑноÑти Pixel  и Nexus, а также в оÑтальных бюллетенÑÑ… партнеров?</strong>
+</p>
+<p>
+Ð’ Ñтом бюллетене опиÑаны уÑзвимоÑти, которые были уÑтранены в поÑледнем обновлении ÑиÑтемы безопаÑноÑти Ð´Ð»Ñ ÑƒÑтройÑтв Android. Решать дополнительные проблемы, перечиÑленные в бюллетенÑÑ… по безопаÑноÑти партнеров, Ð´Ð»Ñ Ñтого не потребовалоÑÑŒ. Мы рекомендуем производителÑм чипÑетов и уÑтройÑтв Android раÑÑказывать об иÑправлениÑÑ… Ð´Ð»Ñ Ñвоих уÑтройÑтв в бюллетенÑÑ… по безопаÑноÑти на ÑобÑтвенных Ñайтах, например <a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>, <a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a>, а также <a href="/security/bulletin/pixel/" class="external">Pixel  и Nexus</a>.
+</p>
+
+<h2 id="versions">ВерÑии</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>ВерÑиÑ</th>
+ <th>Дата</th>
+ <th>ПримечаниÑ</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>5 ноÑÐ±Ñ€Ñ 2018 г.</td>
+ <td>Бюллетень опубликован.</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/ru/security/bulletin/2018.html b/ru/security/bulletin/2018.html
index 60b2c166..f8c3a771 100644
--- a/ru/security/bulletin/2018.html
+++ b/ru/security/bulletin/2018.html
@@ -35,14 +35,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">ОктÑбрь 2018 г.</a></td>
- <td>ГотовитÑÑ Ðº публикации <!--
- <a href="/security/bulletin/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=ru">руÑÑкий</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>1 октÑÐ±Ñ€Ñ 2018 г.</td>
<td>2018-10-01<br />
diff --git a/ru/security/bulletin/index.html b/ru/security/bulletin/index.html
index 0aac331f..07225d14 100644
--- a/ru/security/bulletin/index.html
+++ b/ru/security/bulletin/index.html
@@ -57,14 +57,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">ОктÑбрь 2018 г.</a></td>
- <td>ГотовитÑÑ Ðº публикации <!--
- <a href="/security/bulletin/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=ru">руÑÑкий</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+<a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>1 октÑÐ±Ñ€Ñ 2018 г.</td>
<td>2018-10-01<br />
diff --git a/ru/security/bulletin/pixel/2018-01-01.html b/ru/security/bulletin/pixel/2018-01-01.html
index c8874335..c658221d 100644
--- a/ru/security/bulletin/pixel/2018-01-01.html
+++ b/ru/security/bulletin/pixel/2018-01-01.html
@@ -725,7 +725,7 @@ QC-CR#2078342</a></td>
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/pixel/2018-02-01.html b/ru/security/bulletin/pixel/2018-02-01.html
index af5888cf..21a575e2 100644
--- a/ru/security/bulletin/pixel/2018-02-01.html
+++ b/ru/security/bulletin/pixel/2018-02-01.html
@@ -536,7 +536,7 @@ QC-CR#2003798</a></td>
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/pixel/2018-03-01.html b/ru/security/bulletin/pixel/2018-03-01.html
index 9b14b138..bba31988 100644
--- a/ru/security/bulletin/pixel/2018-03-01.html
+++ b/ru/security/bulletin/pixel/2018-03-01.html
@@ -621,7 +621,7 @@ QC-CR#2119401</a></td>
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/pixel/2018-04-01.html b/ru/security/bulletin/pixel/2018-04-01.html
index 98ba5896..e3a5835f 100644
--- a/ru/security/bulletin/pixel/2018-04-01.html
+++ b/ru/security/bulletin/pixel/2018-04-01.html
@@ -36,7 +36,7 @@
<h2 id="security-patches">ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти</h2>
<p>
-УÑзвимоÑти Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="https://source.android.com/security/overview/updates-resources.html#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), Дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+УÑзвимоÑти Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="https://source.android.com/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), Дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
</p>
<h3 id="framework">Framework</h3>
@@ -945,7 +945,7 @@ QC-CR#2098332</a></td>
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/pixel/2018-05-01.html b/ru/security/bulletin/pixel/2018-05-01.html
index 9f2dc2e0..7d851afa 100644
--- a/ru/security/bulletin/pixel/2018-05-01.html
+++ b/ru/security/bulletin/pixel/2018-05-01.html
@@ -537,7 +537,7 @@ QC-CR#2149720</a></td>
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/pixel/2018-06-01.html b/ru/security/bulletin/pixel/2018-06-01.html
index b7596172..67daedbe 100644
--- a/ru/security/bulletin/pixel/2018-06-01.html
+++ b/ru/security/bulletin/pixel/2018-06-01.html
@@ -1,5 +1,5 @@
<html devsite><head>
- <title>Бюллетень по безопаÑноÑти Pixel и Nexus – июнь 2018 г.</title>
+ <title>Бюллетень по безопаÑноÑти Pixel и Nexus – июнь 2018 г.</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
@@ -30,7 +30,8 @@
Обновление ÑиÑтемы безопаÑноÑти 2018-06-05 получат вÑе поддерживаемые уÑтройÑтва Google. Мы наÑтоÑтельно рекомендуем пользователÑм уÑтановить Ñто обновление.
</p>
<p class="note">
-<strong>Примечание.</strong> Образы вÑтроенного ПО Ð´Ð»Ñ ÑƒÑтройÑтв Google можно найти на <a href="https://developers.google.com/android/images">Ñайте Google Developers</a>.
+<strong>Примечание.</strong> Образы вÑтроенного ПО Ð´Ð»Ñ ÑƒÑтройÑтв Google можно найти на
+<a href="https://developers.google.com/android/images">Ñайте Google Developers</a>.
</p>
<h2 id="announcements">ОбъÑвлениÑ</h2>
<p>Помимо иÑправлений уÑзвимоÑтей, опиÑанных в бюллетене по безопаÑноÑти Android за июнь 2018 года, Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus Ñодержат также иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼, перечиÑленных ниже. Мы Ñообщили партнерам об Ñтих проблемах не менее меÑÑца назад. Они могут включить Ñти иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² Ñвои Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти.</p>
@@ -101,7 +102,8 @@
</tr>
<tr>
<td>CVE-2018-9379</td>
- <td><a href="https://android.googlesource.com/platform/frameworks/base/+/42e5aed1d106bef1f8913ffe87aa1f9df6aae90c">A-63766886</a> [<a href="https://android.googlesource.com/platform/packages/providers/MediaProvider/+/76ffd8258c483b7170af49a8a67702426df07f2f">2</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/frameworks/base/+/42e5aed1d106bef1f8913ffe87aa1f9df6aae90c">A-63766886</a>
+ [<a href="https://android.googlesource.com/platform/packages/providers/MediaProvider/+/76ffd8258c483b7170af49a8a67702426df07f2f">2</a>]</td>
<td>РИ</td>
<td>Средний</td>
<td>6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
@@ -144,7 +146,8 @@
</tr>
<tr>
<td rowspan="2">CVE-2018-9352</td>
- <td rowspan="2"><a href="https://android.googlesource.com/platform/external/libhevc/+/a7303e887a40ab164b19b310068e13ac4f123edc">A-73965867</a> [<a href="https://android.googlesource.com/platform/external/libhevc/+/9434d4d8846241f0575aaf48ee7d4342e926ae77">2</a>]</td>
+ <td rowspan="2"><a href="https://android.googlesource.com/platform/external/libhevc/+/a7303e887a40ab164b19b310068e13ac4f123edc">A-73965867</a>
+ [<a href="https://android.googlesource.com/platform/external/libhevc/+/9434d4d8846241f0575aaf48ee7d4342e926ae77">2</a>]</td>
<td>РИ</td>
<td>Средний</td>
<td>7.0, 7.1.1, 7.1.2, 8.0, 8.1</td>
diff --git a/ru/security/bulletin/pixel/2018-07-01.html b/ru/security/bulletin/pixel/2018-07-01.html
index 60d88ef8..6dd0700f 100644
--- a/ru/security/bulletin/pixel/2018-07-01.html
+++ b/ru/security/bulletin/pixel/2018-07-01.html
@@ -38,7 +38,7 @@
<h2 id="security-patches">ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти</h2>
<p>
-УÑзвимоÑти Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="https://source.android.com/security/overview/updates-resources.html#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), Дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+УÑзвимоÑти Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="https://source.android.com/security/overview/updates-resources.html#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии). Где возможно, мы приводим оÑновную ÑÑылку на опубликованное изменение, ÑвÑзанное Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки (например, ÑпиÑок AOSP), Дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
</p>
<h3 id="framework">Framework</h3>
@@ -429,7 +429,7 @@
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers">Ñайте Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²</a>.
diff --git a/ru/security/bulletin/pixel/2018-08-01.html b/ru/security/bulletin/pixel/2018-08-01.html
index dc23432f..149a5b00 100644
--- a/ru/security/bulletin/pixel/2018-08-01.html
+++ b/ru/security/bulletin/pixel/2018-08-01.html
@@ -267,7 +267,7 @@ QC-CR#2174716</a></td>
QC-CR#2169715</a></td>
<td>ПП</td>
<td>Средний</td>
- <td>Драйвер diag</td>
+ <td>Драйвер DIAG</td>
</tr>
<tr>
<td>CVE-2018-5904</td>
@@ -486,7 +486,7 @@ QC-CR#2185477</a></td>
<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
-Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers" class="external">Ñайте Google Developers</a>.
+Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers" class="external">Ñайте Google Developers</a>.
</p>
<p>
<strong>5. Почему теперь одни уÑзвимоÑти опиÑываютÑÑ Ð² Ñтом бюллетене, а другие – в бюллетенÑÑ… по безопаÑноÑти Android?</strong>
@@ -506,7 +506,7 @@ QC-CR#2185477</a></td>
</tr>
<tr>
<td>1.0</td>
- <td>6 авгуÑта 2018 г.</td>
+ <td>6 авгуÑта 2018 г.</td>
<td>Бюллетень опубликован.</td>
</tr>
</tbody></table>
diff --git a/ru/security/bulletin/pixel/2018-09-01.html b/ru/security/bulletin/pixel/2018-09-01.html
index 055a48e1..4337ea68 100644
--- a/ru/security/bulletin/pixel/2018-09-01.html
+++ b/ru/security/bulletin/pixel/2018-09-01.html
@@ -38,7 +38,7 @@
<h2 id="security-patches">ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти</h2>
<p>
-Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица Ñ CVE, ÑÑылками, <a href="#type">типом</a>, <a href="/security/overview/updates-resources#severity">уровнем ÑерьезноÑти</a>, а также верÑиÑми AOSP (при наличии).
+Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии).
Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
</p>
@@ -307,7 +307,7 @@
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers" class="external">Ñайте Google Developers</a>.
diff --git a/ru/security/bulletin/pixel/2018-10-01.html b/ru/security/bulletin/pixel/2018-10-01.html
index bcbfa06d..51145d6c 100644
--- a/ru/security/bulletin/pixel/2018-10-01.html
+++ b/ru/security/bulletin/pixel/2018-10-01.html
@@ -156,7 +156,7 @@
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
</p>
<p>
Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers" class="external">Ñайте Google Developers</a>.
diff --git a/ru/security/bulletin/pixel/2018-11-01.html b/ru/security/bulletin/pixel/2018-11-01.html
new file mode 100644
index 00000000..7cfd1922
--- /dev/null
+++ b/ru/security/bulletin/pixel/2018-11-01.html
@@ -0,0 +1,251 @@
+<html devsite><head>
+ <title>Бюллетень по безопаÑноÑти Pixel и Nexus – ноÑбрь 2018 г.</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<p><em>Опубликовано 5 ноÑÐ±Ñ€Ñ 2018 г.</em></p>
+
+<p>
+Ð’ Ñтом бюллетене ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± уÑзвимоÑÑ‚ÑÑ… в защите и улучшениÑÑ… функциональных возможноÑтей <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">поддерживаемых уÑтройÑтв Pixel и Nexus</a> (уÑтройÑтва Google).
+Ð’Ñе проблемы, перечиÑленные здеÑÑŒ и в бюллетене по безопаÑноÑти Android за ноÑбрь 2018 года, уÑтранены в иÑправлении от 5 ноÑÐ±Ñ€Ñ 2018 года или более новом. Информацию о том, как проверить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти, можно найти в Ñтатье <a href="https://support.google.com/pixelphone/answer/4457705" class="external">Справочного центра</a>.
+</p>
+<p>
+Обновление ÑиÑтемы безопаÑноÑти 2018-11-05 получат вÑе поддерживаемые уÑтройÑтва Google. Мы наÑтоÑтельно рекомендуем пользователÑм уÑтановить Ñто обновление.
+</p>
+<p class="note">
+<strong>Примечание.</strong> Образы вÑтроенного ПО Ð´Ð»Ñ ÑƒÑтройÑтв Google можно найти на <a href="https://developers.google.com/android/images" class="external">Ñайте Google Developers</a>.
+</p>
+
+<h2 id="announcements">ÐовоÑти</h2>
+
+<p>Помимо иÑправлений уÑзвимоÑтей, опиÑанных в <a href="/security/bulletin/2018-11-01">бюллетене по безопаÑноÑти Android</a> за ноÑбрь 2018 года, Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus Ñодержат также иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼, перечиÑленных ниже. Мы Ñообщили партнерам об Ñтих проблемах не менее меÑÑца назад. Они могут включить Ñти иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² Ñвои Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти.
+</p>
+
+<h2 id="security-patches">ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти</h2>
+<p>
+Проблемы Ñгруппированы по компонентам, которые они затрагивают. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ приведены опиÑание и таблица, где указаны CVE, ÑÑылки, <a href="#type">тип уÑзвимоÑти</a>, <a href="/security/overview/updates-resources#severity">уровень ÑерьезноÑти</a>, а также верÑии AOSP (при наличии).
+Где возможно, идентификаторы ошибки Ñодержат ÑÑылку на опубликованное изменение (например, ÑпиÑок AOSP). Когда неÑколько изменений отноÑÑÑ‚ÑÑ Ðº одной ошибке, дополнительные ÑÑылки перечиÑлены в квадратных Ñкобках.
+</p>
+
+<h3 id="htc-components">Компоненты HTC</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Компонент</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9580</td>
+ <td>A-76222002<a href="#asterisk">*</a></td>
+ <td>ПП</td>
+ <td>Средний</td>
+ <td>Загрузчик</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Компоненты Qualcomm</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>СÑылки</th>
+ <th>Тип</th>
+ <th>Уровень ÑерьезноÑти</th>
+ <th>Компонент</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-14888</td>
+ <td>A-70237718<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d50dfd647b2396d2e2c05b7aee84d831e4a18d68">QC-CR#2119729</a></td>
+ <td>Ð/Д</td>
+ <td>Средний</td>
+ <td>ХоÑÑ‚ WLAN</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-15835</td>
+ <td>A-72957155<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=b6eeed234707244c799ae7009e67312b8bf33ccd">QC-CR#2125781</a></td>
+ <td>Ð/Д</td>
+ <td>Средний</td>
+ <td>ХоÑÑ‚ WLAN</td>
+ </tr>
+</tbody></table>
+
+<h2 id="functional-patches">Ð£Ð»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ… возможноÑтей</h2>
+
+<p>Ð’Ñе уÑтройÑтва Pixel Ñ Android 9.0 получат обновление ÑиÑтемы вмеÑте Ñ Ð½Ð¾ÑбрьÑким автоматичеÑким обновлением (OTA). Ð’ ежеквартальный выпуÑк входÑÑ‚ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ… возможноÑтей и иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… компонентов платформы Android и поддерживаемых уÑтройÑтв Pixel.</p>
+
+<p>Ð’ Ñтот выпуÑк также включены перечиÑленные ниже иÑправлениÑ, которые производители уÑтройÑтв Android обÑзаны внеÑти в обновление.</p>
+
+<table>
+ <tbody><tr>
+ <th>СÑылки</th>
+ <th>КатегориÑ</th>
+ <th>ОпиÑание</th>
+ <th>УÑтройÑтва</th>
+ </tr>
+ <tr>
+ <td>A-111401911</td>
+ <td>Экран</td>
+ <td>Повышена производительноÑÑ‚ÑŒ Ð´Ð»Ñ ÑƒÑтройÑтв Ñ <a href="/devices/tech/display/pip">функцией "картинка в картинке"</a>.</td>
+ <td>Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-109769728</td>
+ <td>Фреймворк</td>
+ <td>Улучшены запроÑÑ‹ на генерирование Ñимметричных ключей Strongbox.</td>
+ <td>Pixel 3, Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112198479</td>
+ <td>Экран</td>
+ <td>Повышена производительноÑÑ‚ÑŒ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ Ñ <a href="/devices/tech/display/pip">функцией "картинка в картинке"</a>.</td>
+ <td>Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112714177</td>
+ <td>УведомлениÑ</td>
+ <td>Повышена ÑтабильноÑÑ‚ÑŒ уведомлений.</td>
+ <td>Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">ЧаÑто задаваемые вопроÑÑ‹</h2>
+<p>
+Ð’ Ñтом разделе мы отвечаем на вопроÑÑ‹, которые могут возникнуть поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð±ÑŽÐ»Ð»ÐµÑ‚ÐµÐ½Ñ.
+</p>
+<p>
+<strong>1. Как определить, уÑтановлено ли на уÑтройÑтво обновление, в котором уÑтранены перечиÑленные проблемы?
+</strong>
+</p>
+<p>
+Ð’ иÑправлении от 5 ноÑÐ±Ñ€Ñ 2018 года или более новом уÑтранены вÑе проблемы, ÑвÑзанные Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ 2018-11-05. Информацию о том, как проверить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемы безопаÑноÑти, можно найти в Ñтатье <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Справочного центра</a>.
+</p>
+<p id="type">
+<strong>2. Что означают ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð² Ñтолбце <em>Тип</em>?</strong>
+</p>
+<p>
+Ð’ Ñтом Ñтолбце указан тип уÑзвимоÑти по Ñледующей клаÑÑификации:<em></em>
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>Сокращение</th>
+ <th>ОпиÑание</th>
+ </tr>
+ <tr>
+ <td>УВК</td>
+ <td>Удаленное выполнение кода</td>
+ </tr>
+ <tr>
+ <td>ПП</td>
+ <td>Повышение привилегий</td>
+ </tr>
+ <tr>
+ <td>РИ</td>
+ <td>РаÑкрытие информации</td>
+ </tr>
+ <tr>
+ <td>ОО</td>
+ <td>Отказ в обÑлуживании</td>
+ </tr>
+ <tr>
+ <td>Ð/Д</td>
+ <td>КлаÑÑÐ¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>3. Что означает Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² Ñтолбце <em>СÑылки</em>?</strong>
+</p>
+<p>
+Ð’ таблицах Ñ Ð¾Ð¿Ð¸Ñанием уÑзвимоÑтей еÑÑ‚ÑŒ Ñтолбец <em>СÑылки</em>. ÐšÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в нем может Ñодержать префикÑ, указывающий на иÑточник ÑÑылки, а именно:
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>ПрефикÑ</th>
+ <th>Значение</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Идентификатор ошибки Android</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>СÑылочный номер Qualcomm</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>СÑылочный номер MediaTek</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>СÑылочный номер NVIDIA</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>СÑылочный номер Broadcom</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>4. Что означает Ñимвол * Ñ€Ñдом Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ ошибки Android в Ñтолбце <em>СÑылки</em>?</strong>
+</p>
+<p>
+Символ * означает, что иÑправление Ð´Ð»Ñ ÑƒÑзвимоÑти не опубликовано.<em></em> Ðеобходимое обновление ÑодержитÑÑ Ð² поÑледних бинарных драйверах Ð´Ð»Ñ ÑƒÑтройÑтв Pixel и Nexus, которые можно Ñкачать на <a href="https://developers.google.com/android/nexus/drivers" class="external">Ñайте Google Developers</a>.
+</p>
+<p>
+<strong>5. Почему теперь одни уÑзвимоÑти опиÑываютÑÑ Ð² Ñтом бюллетене, а другие – в бюллетенÑÑ… по безопаÑноÑти Android?</strong>
+</p>
+<p>
+Ð’ бюллетене по безопаÑноÑти Android опиÑаны уÑзвимоÑти, которые необходимо уÑтранить в поÑледнем обновлении ÑиÑтемы безопаÑноÑти Ð´Ð»Ñ ÑƒÑтройÑтв Android. ИÑправление дополнительных проблем, перечиÑленных здеÑÑŒ, Ð´Ð»Ñ Ð²Ñ‹Ð¿ÑƒÑка Ñтого Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ требуетÑÑ.
+</p>
+<h2 id="versions">ВерÑии</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>ВерÑиÑ</th>
+ <th>Дата</th>
+ <th>ПримечаниÑ</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>5 ноÑÐ±Ñ€Ñ 2018 г.</td>
+ <td>Бюллетень опубликован.</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/ru/security/bulletin/pixel/2018.html b/ru/security/bulletin/pixel/2018.html
index c4bf1c43..67792eb5 100644
--- a/ru/security/bulletin/pixel/2018.html
+++ b/ru/security/bulletin/pixel/2018.html
@@ -1,5 +1,5 @@
<html devsite><head>
- <title>Бюллетени по безопаÑноÑти Pixel и Nexus за 2018 г.</title>
+ <title>Бюллетени по безопаÑноÑти Pixel и Nexus за 2018 г.</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
@@ -33,15 +33,30 @@
<th>Дата публикации</th>
<th>Обновление ÑиÑтемы безопаÑноÑти</th>
</tr>
+ <tr>
+ <td><a href="/security/bulletin/pixel/2018-11-01.html">ÐоÑбрь 2018 г.</a></td>
+ <td>ГотовитÑÑ Ðº публикации
+ <!--
+ <a href="/security/bulletin/pixel/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>5 ноÑÐ±Ñ€Ñ 2018 г.</td>
+ <td>2018-11-05</td>
+ </tr>
<tr>
- <td><a href="/security/bulletin/pixel/2018-10-01.html">ОктÑбрь 2018 г.</a></td>
+ <td><a href="/security/bulletin/pixel/2018-10-01.html">ОктÑбрь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>1 октÑÐ±Ñ€Ñ 2018 г.</td>
<td>2018-10-05</td>
@@ -50,11 +65,11 @@
<td><a href="/security/bulletin/pixel/2018-09-01.html">СентÑбрь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-09-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>4 ÑентÑÐ±Ñ€Ñ 2018 г.</td>
<td>2018-09-05</td>
@@ -63,11 +78,11 @@
<td><a href="/security/bulletin/pixel/2018-08-01.html">ÐвгуÑÑ‚ 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-08-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>6 авгуÑта 2018 г.</td>
<td>2018-08-05</td>
@@ -76,11 +91,11 @@
<td><a href="/security/bulletin/pixel/2018-07-01.html">Июль 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-07-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2Â Ð¸ÑŽÐ»Ñ 2018 г.</td>
<td>2018-07-05</td>
@@ -89,11 +104,11 @@
<td><a href="/security/bulletin/pixel/2018-06-01.html">Июнь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-06-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>4Â Ð¸ÑŽÐ½Ñ 2018 г.</td>
<td>2018-06-05</td>
@@ -102,11 +117,11 @@
<td><a href="/security/bulletin/pixel/2018-05-01.html">Май 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-05-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>7Â Ð¼Ð°Ñ 2018 г.</td>
<td>2018-05-05</td>
@@ -115,11 +130,11 @@
<td><a href="/security/bulletin/pixel/2018-04-01.html">Ðпрель 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-04-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2Â Ð°Ð¿Ñ€ÐµÐ»Ñ 2018 г.</td>
<td>2018-04-05</td>
@@ -128,11 +143,11 @@
<td><a href="/security/bulletin/pixel/2018-03-01.html">Март 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-03-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>Март 2018 г.</td>
<td>2018-03-05</td>
@@ -141,11 +156,11 @@
<td><a href="/security/bulletin/pixel/2018-02-01.html">Февраль 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-02-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>Февраль 2018 г.</td>
<td>2018-02-05</td>
@@ -154,11 +169,11 @@
<td><a href="/security/bulletin/pixel/2018-01-01.html">Январь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-01-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>Январь 2018 г.</td>
<td>2018-01-05</td>
diff --git a/ru/security/bulletin/pixel/index.html b/ru/security/bulletin/pixel/index.html
index cb4731b4..4cb2e1ad 100644
--- a/ru/security/bulletin/pixel/index.html
+++ b/ru/security/bulletin/pixel/index.html
@@ -42,15 +42,30 @@
<th>Дата публикации</th>
<th>Обновление ÑиÑтемы безопаÑноÑти</th>
</tr>
+ <tr>
+ <td><a href="/security/bulletin/pixel/2018-11-01.html">ÐоÑбрь 2018 г.</a></td>
+ <td>ГотовитÑÑ Ðº публикации
+ <!--
+ <a href="/security/bulletin/pixel/2018-11-01.html">English</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ja">日本語</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ko">한국어</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
+ <a href="/security/bulletin/pixel/2018-11-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
+ -->
+ </td>
+ <td>5 ноÑÐ±Ñ€Ñ 2018 г.</td>
+ <td>2018-11-05</td>
+ </tr>
<tr>
- <td><a href="/security/bulletin/pixel/2018-10-01.html">ОктÑбрь 2018 г.</a></td>
+ <td><a href="/security/bulletin/pixel/2018-10-01.html">ОктÑбрь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>1 октÑÐ±Ñ€Ñ 2018 г.</td>
<td>2018-10-05</td>
@@ -59,11 +74,11 @@
<td><a href="/security/bulletin/pixel/2018-09-01.html">СентÑбрь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-09-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>4 ÑентÑÐ±Ñ€Ñ 2018 г.</td>
<td>2018-09-05</td>
@@ -72,11 +87,11 @@
<td><a href="/security/bulletin/pixel/2018-08-01.html">ÐвгуÑÑ‚ 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-08-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>6 авгуÑта 2018 г.</td>
<td>2018-08-05</td>
@@ -85,11 +100,11 @@
<td><a href="/security/bulletin/pixel/2018-07-01.html">Июль 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-07-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2Â Ð¸ÑŽÐ»Ñ 2018 г.</td>
<td>2018-07-05</td>
@@ -98,11 +113,11 @@
<td><a href="/security/bulletin/pixel/2018-06-01.html">Июнь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-06-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>4Â Ð¸ÑŽÐ½Ñ 2018 г.</td>
<td>2018-06-05</td>
@@ -111,11 +126,11 @@
<td><a href="/security/bulletin/pixel/2018-05-01.html">Май 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-05-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>7Â Ð¼Ð°Ñ 2018 г.</td>
<td>2018-05-05</td>
@@ -124,11 +139,11 @@
<td><a href="/security/bulletin/pixel/2018-04-01.html">Ðпрель 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-04-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2Â Ð°Ð¿Ñ€ÐµÐ»Ñ 2018 г.</td>
<td>2018-04-05</td>
@@ -137,11 +152,11 @@
<td><a href="/security/bulletin/pixel/2018-03-01.html">Март 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-03-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>5 марта 2018 г.</td>
<td>2018-03-05</td>
@@ -150,11 +165,11 @@
<td><a href="/security/bulletin/pixel/2018-02-01.html">Февраль 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-02-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>5Â Ñ„ÐµÐ²Ñ€Ð°Ð»Ñ 2018 г.</td>
<td>2018-02-05</td>
@@ -163,11 +178,11 @@
<td><a href="/security/bulletin/pixel/2018-01-01.html">Январь 2018 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2018-01-01.html">English</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2 ÑÐ½Ð²Ð°Ñ€Ñ 2018 г.</td>
<td>2018-01-05</td>
@@ -176,11 +191,11 @@
<td><a href="/security/bulletin/pixel/2017-12-01.html">Декабрь 2017 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2017-12-01.html">English</a> /
-<a href="/security/bulletin/pixel/2017-12-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2017-12-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2017-12-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2017-12-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2017-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2017-12-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2017-12-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2017-12-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2017-12-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2017-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>4Â Ð´ÐµÐºÐ°Ð±Ñ€Ñ 2017 г.</td>
<td>2017-12-05</td>
@@ -189,11 +204,11 @@
<td><a href="/security/bulletin/pixel/2017-11-01.html">ÐоÑбрь 2017 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2017-11-01.html">English</a> /
-<a href="/security/bulletin/pixel/2017-11-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2017-11-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2017-11-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2017-11-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2017-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2017-11-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2017-11-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2017-11-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2017-11-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2017-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>6 ноÑÐ±Ñ€Ñ 2017 г.</td>
<td>2017-11-05</td>
@@ -202,11 +217,11 @@
<td><a href="/security/bulletin/pixel/2017-10-01.html">ОктÑбрь 2017 г.</a></td>
<td>
<a href="/security/bulletin/pixel/2017-10-01.html">English</a> /
-<a href="/security/bulletin/pixel/2017-10-01.html?hl=ja">日本語</a> /
-<a href="/security/bulletin/pixel/2017-10-01.html?hl=ko">한국어</a> /
-<a href="/security/bulletin/pixel/2017-10-01.html?hl=ru">руÑÑкий</a> /
-<a href="/security/bulletin/pixel/2017-10-01.html?hl=zh-cn">中文 (中国)</a> /
-<a href="/security/bulletin/pixel/2017-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/pixel/2017-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2017-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2017-10-01.html?hl=ru">руÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2017-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2017-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2 октÑÐ±Ñ€Ñ 2017 г.</td>
<td>2017-10-05</td>
diff --git a/zh-cn/compatibility/9.0/android-9.0-cdd.html b/zh-cn/compatibility/9.0/android-9.0-cdd.html
new file mode 100644
index 00000000..bb4b20dd
--- /dev/null
+++ b/zh-cn/compatibility/9.0/android-9.0-cdd.html
@@ -0,0 +1,10002 @@
+<html devsite><head>
+ <title>Android 9 兼容性定义</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+ <h2 id="1_introduction">
+1. 简介
+ </h2>
+ <p>
+本文档列举了设备必须满足哪些è¦æ±‚æ‰èƒ½ä¸Ž Android 9 兼容。
+ </p>
+ <p>
+本文档按照 <a href="http://www.ietf.org/rfc/rfc2119.txt">RFC2119</a> 中定义的 IETF 标准使用“必须â€ã€â€œä¸å¾—â€ã€â€œå¿…需â€ã€â€œä¼šâ€ã€â€œä¸ä¼šâ€ã€â€œåº”â€ã€â€œä¸åº”â€ã€â€œå»ºè®®â€ã€â€œå¯ä»¥â€å’Œâ€œå¯é€‰â€å­—样。
+ </p>
+ <p>
+在本文档中,“设备实现者â€æˆ–“实现者â€æŒ‡çš„是开å‘è¿è¡Œ Android 9 的硬件/软件解决方案的个人或å•ä½ã€‚“设备实现â€æˆ–“实现â€æŒ‡çš„是所开å‘的硬件/软件解决方案。
+ </p>
+ <p>
+设备实现必须满足本兼容性定义文档(包括以å‚考资料的形å¼çº³å…¥çš„任何文档)中列出的è¦æ±‚,æ‰ä¼šè¢«è§†ä¸ºä¸Ž Android 9 兼容。
+ </p>
+ <p>
+如果本定义或<a href="#10_software_compatibility_testing">第 10 节</a>中所述的软件测试未æåŠã€å«ç³Šä¸æ¸…或ä¸å®Œæ•´ï¼Œè®¾å¤‡å®žçŽ°è€…需负责确ä¿ä¸ŽçŽ°æœ‰å®žçŽ°å…¼å®¹ã€‚
+ </p>
+ <p>
+因此,<a href="http://source.android.com/">Android å¼€æºé¡¹ç›®</a>既是å‚考 Android 实现,也是首选 Android 实现。强烈建议设备实现者尽å¯èƒ½ä½¿å…¶å®žçŽ°åŸºäºŽ Android å¼€æºé¡¹ç›®æ供的“上游â€æºä»£ç ã€‚虽然æŸäº›ç»„件å¯ä»¥å‡è®¾æ›¿æ¢ä¸ºå¤‡ç”¨å®žçŽ°ï¼Œä½†å¼ºçƒˆå»ºè®®ä¸è¦è¿™æ ·åšï¼Œå¦åˆ™é€šè¿‡è½¯ä»¶æµ‹è¯•çš„难度会大大增加。实现者需负责确ä¿è¡Œä¸ºä¸Žæ ‡å‡† Android 实现(包括兼容性测试套件åŠå…¶ä»–内容)完全兼容。最åŽè¯·æ³¨æ„,本文档明确ç¦æ­¢æ›¿æ¢å’Œä¿®æ”¹æŸäº›ç»„件。
+ </p>
+ <p>
+本文档中链接到的许多资æºéƒ½ç›´æŽ¥æˆ–间接æ¥è‡ª Android SDK,并且与该 SDK 的文档中包å«çš„ä¿¡æ¯å‘挥相åŒçš„作用。如果出现任何本兼容性定义或兼容性测试套件与 SDK 文档ä¸ä¸€è‡´çš„情况,都è¦ä»¥ SDK 文档为准。本文档中链接到的资æºå†…æ供的任何技术详细信æ¯éƒ½è¢«è§†ä¸ºæ˜¯æœ¬å…¼å®¹æ€§å®šä¹‰çš„一部分。
+ </p>
+ <h3 id="1_1_document_structure">
+1.1 文档结构
+ </h3>
+ <h4 id="1_1_1_requirements_by_device_type">
+1.1.1. 针对å„ç§è®¾å¤‡ç±»åž‹çš„è¦æ±‚
+ </h4>
+ <p>
+ <a href="#2_device_types">第 2 节</a>中包å«é€‚用于特定设备类型的所有è¦æ±‚。<a href="#2_device_types">第 2 节</a>中的æ¯ä¸ªå°èŠ‚å‡åˆ†åˆ«é’ˆå¯¹ä¸€ç§ç‰¹å®šè®¾å¤‡ç±»åž‹ã€‚
+ </p>
+ <p>
+<a href="#2_device_types">第 2 节</a>之åŽçš„å„节中列出了普é适用于所有 Android 设备实现的所有其他è¦æ±‚。本文档中将这些è¦æ±‚称为“核心è¦æ±‚â€ã€‚
+ </p>
+ <h4 id="1_1_2_requirement_id">
+1.1.2. è¦æ±‚ ID
+ </h4>
+ <p>
+“必须â€æ»¡è¶³çš„è¦æ±‚都被分é…了è¦æ±‚ ID。
+ </p>
+ <ul>
+ <li>åªæœ‰â€œå¿…é¡»â€æ»¡è¶³çš„è¦æ±‚被分é…了 ID。
+ </li>
+ <li>“强烈建议â€æ»¡è¶³çš„è¦æ±‚带有 [SR] æ ‡è®°ï¼Œä½†æœªè¢«åˆ†é… ID。
+ </li>
+ <li>ID 由以下部分构æˆï¼šè®¾å¤‡ç±»åž‹ ID - æ¡ä»¶ ID - è¦æ±‚ ID(例如 C-0-1)。
+ </li>
+ </ul>
+ <p>
+æ¯ä¸ª ID 的定义如下:
+ </p>
+ <ul>
+ <li>设备类型 ID(有关详情,请å‚阅 <a href="#2_device_types">2. 设备类型</a>)
+ <ul>
+ <li>C:核心(适用于所有 Android 设备实现的è¦æ±‚)
+ </li>
+ <li>H:Android 手æŒè®¾å¤‡
+ </li>
+ <li>T:Android TV 设备
+ </li>
+ <li>A:Android Automotive 实现
+ </li>
+ <li>Tab:Android å¹³æ¿ç”µè„‘实现
+ </li>
+ </ul>
+ </li>
+ <li>æ¡ä»¶ ID
+ <ul>
+ <li>如果è¦æ±‚是无æ¡ä»¶çš„,则此 ID 会被设为 0。
+ </li>
+ <li>如果è¦æ±‚是有æ¡ä»¶çš„,则在åŒä¸€èŠ‚çš„åŒä¸€è®¾å¤‡ç±»åž‹ä¸‹ï¼Œä¸ºç¬¬ 1 个æ¡ä»¶åˆ†é…çš„ ID 为 1,为åŽç»­æ¡ä»¶åˆ†é…çš„ ID 按 1 递增。
+ </li>
+ </ul>
+ </li>
+ <li>è¦æ±‚ ID
+ <ul>
+ <li>在åŒä¸€èŠ‚çš„åŒä¸€æ¡ä»¶ä¸‹ï¼Œç¬¬ 1 项è¦æ±‚çš„ ID 为 1,åŽç»­è¦æ±‚çš„ ID 则按 1 递增。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h4 id="1_1_3_requirement_id_in_section_2">
+1.1.3. 第 2 节中的è¦æ±‚ ID
+ </h4>
+ <p>
+<a href="#2_device_types">第 2 节</a>中的è¦æ±‚ ID 以相应的å°èŠ‚ ID 开头,接ç€æ˜¯ä¸Šè¿°è¦æ±‚ ID。
+ </p>
+ <ul>
+ <li><a href="#2_device_types">第 2 节</a>中的 ID 由以下部分构æˆï¼šå°èŠ‚ ID/设备类型 ID - æ¡ä»¶ ID - è¦æ±‚ ID(例如 7.4.3/A-0-1)。
+ </li>
+ </ul>
+ <h2 id="2_device_types">
+2. 设备类型
+ </h2>
+ <p>
+虽然 Android å¼€æºé¡¹ç›®æ供了一个å¯ç”¨äºŽå„ç§è®¾å¤‡ç±»åž‹å’Œå¤–形规格的软件堆栈,但还有些设备类型具有相对æ¥è¯´æ›´ä¸ºå®Œå–„的应用分å‘生æ€ç³»ç»Ÿã€‚
+ </p>
+ <p>
+本节介ç»äº†è¿™äº›è®¾å¤‡ç±»åž‹ï¼Œä»¥åŠé€‚用于æ¯ç§è®¾å¤‡ç±»åž‹çš„é¢å¤–è¦æ±‚和建议。
+ </p>
+ <p>
+ä¸å±žäºŽä»»ä½•æ‰€è¿°è®¾å¤‡ç±»åž‹çš„所有 Android 设备实现ä»å¿…须满足本兼容性定义其他å„节中的所有è¦æ±‚。
+ </p>
+ <h3 id="2_1_device_configurations">
+2.1 设备é…ç½®
+ </h3>
+ <p>
+è¦äº†è§£å„ç§è®¾å¤‡ç±»åž‹åœ¨ç¡¬ä»¶é…置方é¢çš„主è¦åŒºåˆ«ï¼Œè¯·å‚阅本节中éšåŽä»‹ç»çš„设备专属è¦æ±‚。
+ </p>
+ <h3 id="2_2_handheld_requirements">
+2.2. 针对手æŒè®¾å¤‡çš„è¦æ±‚
+ </h3>
+ <p>
+<strong>Android 手æŒè®¾å¤‡</strong>ï¼šä¸€ç§ Android 设备实现,通常是拿在手中使用,例如 mp3 播放器ã€æ‰‹æœºæˆ–å¹³æ¿ç”µè„‘。
+ </p>
+ <p>
+满足以下所有æ¡ä»¶çš„ Android 设备实现å¯å½’类为手æŒè®¾å¤‡ï¼š
+ </p>
+ <ul>
+ <li>具有能够使设备实现移动性的电æºï¼Œä¾‹å¦‚电池。
+ </li>
+ <li>å±å¹•çš„物ç†å¯¹è§’线尺寸介于 2.5 到 8 英寸之间。
+ </li>
+ </ul>
+ <p>
+本节其余部分中的附加è¦æ±‚针对的是 Android 手æŒè®¾å¤‡å®žçŽ°ã€‚
+ </p>
+ <div class="note">
+ <b>注æ„</b>:ä¸é€‚用于 Android å¹³æ¿ç”µè„‘设备的è¦æ±‚带有 * 标记。
+ </div>
+ <h4 id="2_2_1_hardware">
+2.2.1. 硬件
+ </h4>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_1_display_and_graphics">7.1</a>.1.1/H-0-1] 必须具有物ç†å¯¹è§’线尺寸至少为 2.5 英寸的å±å¹•ã€‚
+ </li>
+ <li>[<a href="#7_1_display_and_graphics">7.1</a>.1.3/H-SR] 强烈建议为用户æ供一ç§ç”¨äºŽæ›´æ”¹æ˜¾ç¤ºåŒºåŸŸå¤§å°çš„æ–¹å¼ã€‚(å±å¹•å¯†åº¦ï¼‰
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°é€šè¿‡ <a href="https://developer.android.com/reference/android/content/res/Configuration.html#isScreenHdr%28%29"><code>Configuration.isScreenHdr()</code></a> 声明支æŒé«˜åŠ¨æ€èŒƒå›´æ˜¾ç¤ºå±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_1_display-and-graphics">7.1</a>.4.5/H-1-1] å¿…é¡»é€šå‘Šæ”¯æŒ <code>EGL_EXT_gl_colorspace_bt2020_pq</code>ã€<code>EGL_EXT_surface_SMPTE2086_metadata</code>ã€<code>EGL_EXT_surface_CTA861_3_metadata</code>ã€<code>VK_EXT_swapchain_colorspace</code> å’Œ <code>VK_EXT_hdr_metadata</code> 扩展。
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_1_display_and_graphics">7.1</a>.5/H-0-1] 必须支æŒä¸Šæ¸¸ Android 开放æºä»£ç æ‰€å®žçŽ°çš„旧版应用兼容模å¼ã€‚也就是说,设备实现ä¸å¾—更改å¯ç”¨å…¼å®¹æ¨¡å¼çš„触å‘æ¡ä»¶æˆ–阈值,也ä¸å¾—更改兼容模å¼æœ¬èº«çš„行为。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.1/H-0-1] 必须支æŒç¬¬ä¸‰æ–¹è¾“入法编辑器 (IME) 应用。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.3/H-0-1] å¿…é¡»æ供“主å±å¹•â€ã€â€œæœ€è¿‘用过â€å’Œâ€œè¿”回â€åŠŸèƒ½ã€‚
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.3/H-0-2] 必须将“返回â€åŠŸèƒ½ (<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK"><code>KEYCODE_BACK</code></a>) 的常规按下事件和长按事件都å‘é€åˆ°å‰å°åº”用。上述事件ä¸å¾—被系统å ç”¨ï¼Œä¸”å¯ä»Ž Android 设备外部触å‘(例如,连接到 Android 设备的外部硬件键盘)。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.4/H-0-1] 必须支æŒè§¦æ‘¸å±è¾“入。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.4/H-SR] 强烈建议å¯åŠ¨ç”¨æˆ·é€‰æ‹©çš„辅助应用(也就是实现 VoiceInteractionService 的应用)或在长按 <a href="https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_MEDIA_PLAY_PAUSE"><code>KEYCODE_MEDIA_PLAY_PAUSE</code></a> 或 <a href="https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_HEADSETHOOK"><code>KEYCODE_HEADSETHOOK</code></a> æ—¶è´Ÿè´£å¤„ç† <a href="https://developer.android.com/reference/android/content/Intent#ACTION_ASSIST"><code>ACTION_ASSIST</code></a> çš„ Activity(如果å‰å° Activity ä¸å¤„ç†ä¸Šè¿°é•¿æŒ‰äº‹ä»¶ï¼‰ã€‚
+ </li>
+ <li>[<a href="#7_3_sensors">7.3</a>.1/H-SR] å¼ºçƒˆå»ºè®®åŒ…å« 3 轴加速度计。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°åŒ…å« 3 轴加速度计,则:
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.1/H-1-1] 必须能够以至少 100 Hz 的频率报告事件。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°åŒ…å«é™€èžºä»ªï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.4/H-1-1] 必须能够以至少 100 Hz 的频率报告事件。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°å¯ä»¥è¿›è¡Œè¯­éŸ³é€šè¯ï¼Œå¹¶ä¸”在 <code>getPhoneType</code> 中指出了 <code>PHONE_TYPE_NONE</code> 以外的任何其他值,则:
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.8/H] 应包å«è¿‘程传感器。
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.12/H-SR] 建议支æŒå…·æœ‰ 6 个自由度的姿势传感器。
+ </li>
+ <li>[<a href="#7_4_data_connectivity">7.4</a>.3/H] 应支æŒè“牙和è“牙 LE。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°åŒ…å«æŒ‰æµé‡è®¡è´¹çš„网络连接,则:
+ </p>
+ <ul>
+ <li>[<a href="#7_4_data_connectivity">7.4</a>.7/H-1-1] å¿…é¡»æä¾›æµé‡èŠ‚çœç¨‹åºæ¨¡å¼ã€‚
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_6_memory_and_storage">7.6</a>.1/H-0-1] 必须有至少 4GB çš„éžæ˜“失性存储空间å¯ç”¨äºŽå­˜å‚¨åº”用专属数æ®ï¼ˆè¯¥ç©ºé—´ä¹Ÿç§°ä¸ºâ€œ/dataâ€åˆ†åŒºï¼‰ã€‚
+ </li>
+ <li>[<a href="#7_6_memory_and_storage">7.6</a>.1/H-0-2] 当å¯ä¾›å†…核和用户空间使用的内存少于 1GB 时,必须针对 <code>ActivityManager.isLowRamDevice()</code> 返回“trueâ€ã€‚
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°æ˜¯ 32 ä½ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-1-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 512MB:
+ </p>
+ <ul>
+ <li>280dpi 或更低(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>ldpi 或更低(超大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更低(大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-2-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 608MB:
+ </p>
+ <ul>
+ <li>xhdpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>hdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-3-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 896MB:
+ </p>
+ <ul>
+ <li>400dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>xhdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>tvdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-4-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1344MB:
+ </p>
+ <ul>
+ <li>560dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>400dpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°æ˜¯ 64 ä½ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-5-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 816MB:
+ </p>
+ <ul>
+ <li>280dpi 或更低(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>ldpi 或更低(超大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更低(大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-6-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 944MB:
+ </p>
+ <ul>
+ <li>xhdpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>hdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-7-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1280MB:
+ </p>
+ <ul>
+ <li>400dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>xhdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>tvdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/H-8-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1824MB:
+ </p>
+ <ul>
+ <li>560dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰<sup>*</sup>
+ </li>
+ <li>400dpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+请注æ„,上文æ到的“å¯ä¾›å†…核和用户空间使用的内存â€æ˜¯æŒ‡é™¤äº†å·²ä¸“门用于硬件组件(例如设备实现上的无线装置ã€è§†é¢‘组件,以åŠå…¶ä»–ä¸å—内核控制的组件)的所有内存之外å¦è¡Œæ供的内存空间。
+ </p>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_6_memory_and_storage">7.6</a>.2/H-0-1] å¿…é¡»æä¾›ä¸å°äºŽ 1GiB 的应用共享存储空间。
+ </li>
+ <li>[<a href="#7_7_usb">7.7</a>.1/H] 应包å«æ”¯æŒå¤–围设备模å¼çš„ USB 端å£ã€‚
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°åŒ…å«æ”¯æŒå¤–围设备模å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_7_usb">7.7</a>.1/H-1-1] 必须实现 Android Open Accessory (AOA) API。
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_8_audio">7.8</a>.1/H-0-1] 必须包å«éº¦å…‹é£Žã€‚
+ </li>
+ <li>[<a href="#7_8_audio">7.8</a>.2/H-0-1] 必须具有音频输出机制,并声明 <code>android.hardware.audio.output</code>。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°èƒ½å¤Ÿæ»¡è¶³å…³äºŽæ”¯æŒ VR 模å¼çš„所有性能è¦æ±‚ä¸”æ”¯æŒ VR 模å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_9_virtual_reality">7.9</a>.1/H-1-1] 必须声明 <code>android.hardware.vr.high_performance</code> 功能标记。
+ </li>
+ <li>[<a href="#7_9_virtual_reality">7.9</a>.1/H-1-2] 必须包å«ç”¨äºŽå®žçŽ° <code>android.service.vr.VrListenerService</code>(å¯ç”± VR 应用通过 <code>android.app.Activity#setVrModeEnabled</code> å¯ç”¨ï¼‰çš„应用。
+ </li>
+ </ul>
+ <h4 id="2_2_2_multimedia">
+2.2.2. 多媒体
+ </h4>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°å¿…须支æŒä»¥ä¸‹éŸ³é¢‘ç¼–ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_1_media_codecs">5.1</a>.1/H-0-1] AMR-NB
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>.1/H-0-2] AMR-WB
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>.1/H-0-3] MPEG-4 AAC Profile (AAC LC)
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>.1/H-0-4] MPEG-4 HE AAC Profile (AAC+)
+ </li>
+ <li>[<a href="#5_1_media-codecs">5.1</a>.1/H-0-5] AAC ELD(增强型低延迟 AAC)
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°å¿…须支æŒä»¥ä¸‹éŸ³é¢‘解ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_1_media_codecs">5.1</a>.2/H-0-1] AMR-NB
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>.2/H-0-2] AMR-WB
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°å¿…须支æŒä»¥ä¸‹è§†é¢‘ç¼–ç ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用:
+ </p>
+ <ul>
+ <li>[<a href="#5_2_video_encoding">5.2</a>/H-0-1] H.264 AVC
+ </li>
+ <li>[<a href="#5_2_video_encoding">5.2</a>/H-0-2] VP8
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°å¿…须支æŒä»¥ä¸‹è§†é¢‘解ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/H-0-1] H.264 AVC
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/H-0-2] H.265 HEVC
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/H-0-3] MPEG-4 SP
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/H-0-4] VP8
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/H-0-5] VP9
+ </li>
+ </ul>
+ <h4 id="2_2_3_software">
+2.2.3. 软件
+ </h4>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#3_2_3_1_core_application_intents">3.2.3.1</a>/H-0-1] 必须包å«å¯å¤„ç† <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_GET_CONTENT"><code>ACTION_GET_CONTENT</code></a>ã€<a href="https://developer.android.com/reference/android/content/Intent#ACTION_OPEN_DOCUMENT"><code>ACTION_OPEN_DOCUMENT</code></a>ã€<a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_OPEN_DOCUMENT_TREE"><code>ACTION_OPEN_DOCUMENT_TREE</code></a> å’Œ <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_CREATE_DOCUMENT"><code>ACTION_CREATE_DOCUMENT</code></a> Intent 的应用(如 SDK 文档中所述),并æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿä½¿ç”¨ <a href="https://developer.android.com/reference/android/provider/DocumentsProvider"><code>DocumentsProvider</code></a> API 访问文档æ供程åºæ•°æ®ã€‚
+ </li>
+ <li>[<a href="#3_4_web_compatibility">3.4</a>.1/H-0-1] å¿…é¡»æä¾› <code>android.webkit.Webview</code> API 的完整实现。
+ </li>
+ <li>[<a href="#3_4_web_compatibility">3.4</a>.2/H-0-1] 必须包å«ç‹¬ç«‹çš„æµè§ˆå™¨åº”用,以供用户进行一般的网页æµè§ˆã€‚
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.1/H-SR] 强烈建议实现一个支æŒåº”用内固定快æ·æ–¹å¼ã€å¾®ä»¶å’Œ <a href="https://developer.android.com/reference/android/appwidget/AppWidgetProviderInfo.html#widgetFeatures">widgetFeatures</a> 的默认å¯åŠ¨å™¨ã€‚
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.1/H-SR] 强烈建议实现一个å¯è®©ç”¨æˆ·å¿«é€Ÿè®¿é—®ç¬¬ä¸‰æ–¹åº”用通过 <a href="https://developer.android.com/reference/android/content/pm/ShortcutManager.html">ShortcutManager</a> API æ供的其他快æ·æ–¹å¼çš„默认å¯åŠ¨å™¨ã€‚
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.1/H-SR] 强烈建议包å«ä¸€ä¸ªä¼šä¸ºåº”用图标显示标记的默认å¯åŠ¨å™¨åº”用。
+ </li>
+ <li>[<a href="#3_8_user-interface_compatibility">3.8</a>.2/H-SR] 强烈建议支æŒç¬¬ä¸‰æ–¹åº”用微件。
+ </li>
+ <li>[<a href="#3_8_user-interface_compatibility">3.8</a>.3/H-0-1] å¿…é¡»å…许第三方应用通过 <a href="https://developer.android.com/reference/android/app/Notification.html"><code>Notification</code></a> å’Œ <a href="https://developer.android.com/reference/android/app/NotificationManager.html"><code>NotificationManager</code></a> API ç±»å‘用户å‘出关于é‡è¦äº‹ä»¶çš„通知。
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.3/H-0-2] 必须支æŒå†…容丰富的通知。
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.3/H-0-3] 必须支æŒæ醒å¼é€šçŸ¥ã€‚
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.3/H-0-4] 必须包å«é€šçŸ¥æ ï¼Œä»¥ä¾¿ç”¨æˆ·èƒ½å¤Ÿé€šè¿‡ç›¸åº”æ–¹å¼ï¼ˆä¾‹å¦‚ AOSP 中实现的æ“作按钮或控制é¢æ¿ï¼‰ç›´æŽ¥æŽ§åˆ¶é€šçŸ¥ï¼ˆä¾‹å¦‚回å¤ã€å»¶åŽã€å…³é—­ã€å±è”½é€šçŸ¥ï¼‰ã€‚
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.3/H-0-5] 必须在通知æ æ˜¾ç¤ºé€šè¿‡ <a href="https://developer.android.com/reference/android/app/RemoteInput.Builder.html#setChoices%28java.lang.CharSequence[]%29"><code>RemoteInput.Builder setChoices()</code></a> æ供的选项。
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.3/H-SR] 强烈建议在无需用户é¢å¤–互动的情况下在通知æ æ˜¾ç¤ºé€šè¿‡ <a href="https://developer.android.com/reference/android/app/RemoteInput.Builder.html#setChoices%28java.lang.CharSequence[]%29"><code>RemoteInput.Builder setChoices()</code></a> æ供的第一个选项。
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.3/H-SR] 强烈建议在用户展开通知æ ä¸­çš„所有通知时显示通过 <a href="https://developer.android.com/reference/android/app/RemoteInput.Builder.html#setChoices%28java.lang.CharSequence[]%29"><code>RemoteInput.Builder setChoices()</code></a> æ供的所有选项。
+ </li>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.4/H-SR] 强烈建议在设备上实现一个辅助程åºæ¥å¤„ç†<a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">辅助æ“作</a>。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°æ”¯æŒè¾…助æ“作,则:
+ </p>
+ <ul>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.4/H-SR] 强烈建议将长按 <code>HOME</code> 键用作å¯åŠ¨è¾…助应用的指定交互方å¼ï¼ˆå¦‚<a href="#7_2_3_navigation_keys">第 7.2.3 节</a>中所述)。必须å¯åŠ¨ç”¨æˆ·é€‰æ‹©çš„辅助应用(也就是实现 <a href="https://developer.android.com/reference/android/service/voice/VoiceInteractionService"><code>VoiceInteractionService</code></a> çš„åº”ç”¨ï¼‰æˆ–è´Ÿè´£å¤„ç† <code>ACTION_ASSIST</code> Intent çš„ Activity。
+ </li>
+ </ul>
+ <p>
+如果 Android 手æŒè®¾å¤‡å®žçŽ°æ”¯æŒé”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.10/H-1-1] 必须显示包å«åª’体通知模æ¿çš„é”定å±å¹•é€šçŸ¥ã€‚
+ </li>
+ </ul>
+ <p>如果手æŒè®¾å¤‡å®žçŽ°æ”¯æŒå®‰å…¨é”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#3_9_device_administration">3.9</a>/H-1-1] 必须实现 Android SDK 文档中定义的所有<a href="http://developer.android.com/guide/topics/admin/device-admin.html">设备管ç†</a>政策。
+ </li>
+ <li>[<a href="#3_9_device_administration">3.9</a>/H-1-2] 必须通过 <code>android.software.managed_users</code> 功能标记声明支æŒå—管ç†ä¸ªäººèµ„料,除éžè®¾å¤‡çš„é…置决定了设备会将其自身<a href="http://developer.android.com/reference/android/app/ActivityManager.html#isLowRamDevice%28%29">报告</a>为低 RAM 设备,或会将内部(ä¸å¯ç§»åŠ¨ï¼‰å­˜å‚¨ç©ºé—´åˆ†é…为共享存储空间。
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#3_10_accessibility">3.10</a>/H-0-1] 必须支æŒç¬¬ä¸‰æ–¹æ— éšœç¢æœåŠ¡ã€‚
+ </li>
+ <li>[<a href="#3_10_accessibility">3.10</a>/H-SR] 强烈建议在设备上预加载无障ç¢æœåŠ¡ï¼Œå¹¶ä¸”这些æœåŠ¡çš„功能è¦ä¸Ž <a href="https://github.com/google/talkback">TalkBack å¼€æºé¡¹ç›®</a>中æ供的开关控制和 TalkBack(适用于预加载的文字转语音引擎支æŒçš„语言)无障ç¢æœåŠ¡çš„功能相当或更胜一筹。
+ </li>
+ <li>[<a href="#3_11_text_to_speech">3.11</a>/H-0-1] 必须支æŒå®‰è£…第三方 TTS 引擎。
+ </li>
+ <li>[<a href="#3_11_text_to_speech">3.11</a>/H-SR] 强烈建议包å«æ”¯æŒè®¾å¤‡ä¸Šå¯ç”¨è¯­è¨€çš„ TTS 引擎。
+ </li>
+ <li>[<a href="#3_13_quick_settings">3.13</a>/H-SR] 强烈建议包å«å¿«æ·è®¾ç½®ç•Œé¢ç»„件。
+ </li>
+ </ul>
+ <p>
+如果 Android 手æŒè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>FEATURE_BLUETOOTH</code> 或 <code>FEATURE_WIFI</code>,则:
+ </p>
+ <ul>
+ <li>[<a href="#3_15_instant_apps">3.15</a>/H-1-1] 必须支æŒé…套设备é…对功能。
+ </li>
+ </ul>
+ <h4 id="2_2_4_performance_and_power">
+2.2.4. 性能和功耗
+ </h4>
+ <ul>
+ <li>[<a href="#8_1_user_experience_consistency">8.1</a>/H-0-1] <strong>一致的帧延迟</strong>:帧延迟或渲染帧延迟ä¸ä¸€è‡´çš„å‘生频率ä¸å¾—超过æ¯ç§’ 5 帧,并且应低于æ¯ç§’ 1 帧。
+ </li>
+ <li>[<a href="#8_1_user_experience_consistency">8.1</a>/H-0-2] <strong>ç•Œé¢å»¶è¿Ÿ</strong>:设备实现必须确ä¿ä½Žå»¶è¿Ÿçš„用户体验,具体方法是在ä¸åˆ° 36 秒的时间内,滚动由 Android 兼容性测试套件 (CTS) å®šä¹‰çš„åŒ…å« 10K 列表æ¡ç›®çš„列表。
+ </li>
+ <li>[<a href="#8_1_user_experience_consistency">8.1</a>/H-0-3] <strong>任务切æ¢</strong>:在å¯åŠ¨äº†å¤šä¸ªåº”用的情况下,如果é‡æ–°å¯åŠ¨å·²å¯åŠ¨ä¸”已在è¿è¡Œçš„应用,所用时间ä¸å¾—超过 1 秒。
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/H-0-1] 必须确ä¿é¡ºåºå†™å…¥æ€§èƒ½è‡³å°‘为 5MB/s。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/H-0-2] 必须确ä¿éšæœºå†™å…¥æ€§èƒ½è‡³å°‘为 0.5MB/s。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/H-0-3] 必须确ä¿é¡ºåºè¯»å–性能至少为 15MB/s。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/H-0-4] 必须确ä¿éšæœºè¯»å–性能至少为 3.5MB/s。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°ä¸­çš„功能å¯æ”¹è¿› AOSP 中的设备电æºç®¡ç†æˆ–扩展 AOSP 中的功能,则:
+ </p>
+ <ul>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/H-1-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨å’Œåœç”¨çœç”µæ¨¡å¼ã€‚
+ </li>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/H-1-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å…于进入应用待机模å¼å’Œä½Žç”µè€—模å¼çš„所有应用。
+ </li>
+ </ul>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/H-0-1] å¿…é¡»æ供一个关于å„组件功耗的é…置文件,其中è¦å®šä¹‰æ¯ç§ç¡¬ä»¶ç»„件的<a href="http://source.android.com/devices/tech/power/values.html">耗电值</a>,以åŠç»„件在一段时间内大概消耗的电é‡ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上所述)。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/H-0-2] 必须以毫安å°æ—¶ (mAh) 为å•ä½æŠ¥å‘Šæ‰€æœ‰åŠŸè€—值。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/H-0-3] 必须按æ¯ä¸ªè¿›ç¨‹çš„ UID 报告 CPU 功耗。Android å¼€æºé¡¹ç›®é€šè¿‡ <code>uid_cputime</code> 内核模å—实现æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/H-0-4] 必须能让应用开å‘者通过 <a href="http://source.android.com/devices/tech/power/batterystats.html"><code>adb shell dumpsys batterystats</code></a> shell 命令查看此功耗。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/H] 如果无法将硬件组件的功耗归于æŸä¸ªåº”用,则应将其归于硬件组件本身。
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°åŒ…å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/H-1-1] 必须能够éµä»Ž <a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_POWER_USAGE_SUMMARY"><code>android.intent.action.POWER_USAGE_SUMMARY</code></a> Intent æ供一个会显示此功耗的设置èœå•ã€‚
+ </li>
+ </ul>
+ <h4 id="2_2_5_security_model">
+2.2.5. 安全模型
+ </h4>
+ <p>
+手æŒè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#9_1_permissions">9.1</a>/H-0-1] å¿…é¡»å…许第三方应用通过 <code>android.permission.PACKAGE_USAGE_STATS</code> æƒé™è®¿é—®ä½¿ç”¨æƒ…况统计信æ¯ï¼Œå¹¶èƒ½å¤Ÿå› åº” <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION&amp;lowbar;USAGE&amp;lowbar;ACCESS&amp;lowbar;SETTINGS"><code>android.settings.ACTION_USAGE_ACCESS_SETTINGS</code></a> Intent æ供一ç§å¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„机制,让用户能够为此类应用授予或撤消该访问æƒé™ã€‚
+ </li>
+ </ul>
+ <p>
+如果手æŒè®¾å¤‡å®žçŽ°æ”¯æŒå®‰å…¨é”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#9_11_permissions">9.11</a>/H-1-1] å¿…é¡»å…许用户选择最短的休眠超时,å³ä»Žè§£é”状æ€åˆ°é”定状æ€çš„过渡时间ä¸å¾—超过 15 秒。
+ </li>
+ <li>[<a href="#9_11_permissions">9.11</a>/H-1-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿéšè—通知并åœç”¨æ‰€æœ‰èº«ä»½éªŒè¯æ–¹æ³•ï¼ˆ<a href="#9_11_1_secure-lock-screen">9.11.1 安全é”定å±å¹•</a>中所述的主è¦èº«ä»½éªŒè¯æ–¹æ³•é™¤å¤–)。AOSP 满足é”定模å¼çš„è¦æ±‚。
+ </li>
+ </ul>
+ <p>
+<strong>Android TV 设备</strong>ï¼šä¸€ç§ Android 设备实现,是适åˆç”¨æˆ·å在约 10 英尺远的è·ç¦»è§‚看的娱ä¹ç•Œé¢ï¼ˆâ€œæ供大å±å¹•å¨±ä¹ä½“验的界é¢â€æˆ–“è·ç¦» 10 英尺观看的界é¢â€ï¼‰ï¼Œç”¨äºŽè§‚看数字媒体ã€å½±ç‰‡ã€ç”µè§†ç›´æ’­ï¼ŒçŽ©æ¸¸æˆå’Œ/或使用应用。
+ </p>
+ <p>
+满足以下所有æ¡ä»¶çš„ Android 设备实现å¯å½’类为 TV 设备:
+ </p>
+ <ul>
+ <li>æ供了å¯è¿œç¨‹æŽ§åˆ¶æ˜¾ç¤ºå±ï¼ˆå¯èƒ½è·ç”¨æˆ· 10 英尺远)上呈现的界é¢çš„机制。
+ </li>
+ <li>具有对角线长度超过 24 英寸的嵌入å¼æ˜¾ç¤ºå±ï¼Œæˆ–包å«è§†é¢‘输出端å£ï¼Œä¾‹å¦‚用于连接显示设备的 VGAã€HDMIã€DisplayPort 或无线端å£ã€‚
+ </li>
+ </ul>
+ <p>
+本节其余部分中的附加è¦æ±‚针对的是 Android TV 设备实现。
+ </p>
+ <h4 id="2_3_1_hardware">
+2.3.1. 硬件
+ </h4>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_2_input_devices">7.2</a>.2/T-0-1] 必须支æŒ<a href="https://developer.android.com/reference/android/content/res/Configuration.html#NAVIGATION_DPAD">æ–¹å‘é”®</a>。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.3/T-0-1] å¿…é¡»æ供“主å±å¹•â€å’Œâ€œè¿”回â€åŠŸèƒ½ã€‚
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.3/T-0-2] 必须将“返回â€åŠŸèƒ½ (<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK"><code>KEYCODE_BACK</code></a>) 的常规按下事件和长按事件都å‘é€åˆ°å‰å°åº”用。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.6.1/T-0-1] 必须支æŒæ¸¸æˆæŽ§åˆ¶å™¨ï¼Œå¹¶å£°æ˜Ž <code>android.hardware.gamepad</code> 功能标记。
+ </li>
+ <li>[<a href="#7_2_input_devices">7.2</a>.7/T] 应æä¾›å¯è®©ç”¨æˆ·ä½¿ç”¨<a href="#7_2_2_non-touch_navigation">éžè§¦æ‘¸å¯¼èˆª</a>å’Œ<a href="#7_2_3_navigation_keys">核心导航键</a>输入功能的é¥æŽ§å™¨ã€‚
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现包å«é™€èžºä»ªï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.4/T-1-1] 必须能够以至少 100 Hz 的频率报告事件。
+ </li>
+ </ul>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_4_data_connectivity">7.4</a>.3/T-0-1] 必须支æŒè“牙和è“牙 LE。
+ </li>
+ <li>[<a href="#7_6_memory_and_storage">7.6</a>.1/T-0-1] 必须有至少 4GB çš„éžæ˜“失性存储空间å¯ç”¨äºŽå­˜å‚¨åº”用éšç§æ•°æ®ï¼ˆè¯¥ç©ºé—´ä¹Ÿç§°ä¸ºâ€œ/dataâ€åˆ†åŒºï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现包å«æ”¯æŒä¸»æœºæ¨¡å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_5_camera">7.5</a>.3/T-1-1] 必须支æŒé€šè¿‡æ­¤ USB 端å£è¿žæŽ¥ä½†æ— éœ€ä¿æŒè¿žæŽ¥çš„外接摄åƒå¤´ã€‚
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现是 32 ä½ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/T-1-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 896MB:
+ </p>
+ <ul>
+ <li>400dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>tvdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现是 64 ä½ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/T-2-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1280MB:
+ </p>
+ <ul>
+ <li>400dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>tvdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+请注æ„,上文æ到的“å¯ä¾›å†…核和用户空间使用的内存â€æ˜¯æŒ‡é™¤äº†å·²ä¸“门用于硬件组件(例如设备实现上的无线装置ã€è§†é¢‘组件,以åŠå…¶ä»–ä¸å—内核控制的组件)的所有内存之外å¦è¡Œæ供的内存空间。
+ </p>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_8_audio">7.8</a>.1/T] 应包å«éº¦å…‹é£Žã€‚
+ </li>
+ <li>[<a href="#7_8_audio">7.8</a>.2/T-0-1] 必须具有音频输出机制,并声明 <code>android.hardware.audio.output</code>。
+ </li>
+ </ul>
+ <h4 id="2_3_2_multimedia">
+2.3.2. 多媒体
+ </h4>
+ <p>
+TV 设备实现必须支æŒä»¥ä¸‹éŸ³é¢‘ç¼–ç æ ¼å¼ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_1_media_codecs">5.1</a>/T-0-1] MPEG-4 AAC Profile (AAC LC)
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>/T-0-2] MPEG-4 HE AAC Profile (AAC+)
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>/T-0-3] AAC ELD(增强型低延迟 AAC)
+ </li>
+ </ul>
+ <p>
+TV 设备实现必须支æŒä»¥ä¸‹è§†é¢‘ç¼–ç æ ¼å¼ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_2_video_encoding">5.2</a>/T-0-1] H.264
+ </li>
+ <li>[<a href="#5_2_video_encoding">5.2</a>/T-0-2] VP8
+ </li>
+ </ul>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#5_2_video_encoding">5.2</a>.2/T-SR] 强烈建议支æŒä»¥ 30 帧/秒的帧速率对分辨率为 720p å’Œ 1080p 的视频进行 H.264 ç¼–ç ã€‚
+ </li>
+ </ul>
+ <p>
+TV 设备实现必须支æŒä»¥ä¸‹è§†é¢‘解ç æ ¼å¼ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.3</a>/T-0-1] MPEG-4 SP
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.4</a>/T-0-2] H.264 AVC
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.5</a>/T-0-3] H.265 HEVC
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.6</a>/T-0-4] VP8
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.7</a>/T-0-5] VP9
+ </li>
+ </ul>
+ <p>
+强烈建议 TV 设备实现支æŒä»¥ä¸‹è§†é¢‘解ç æ ¼å¼ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.1</a>/T-SR] MPEG-2
+ </li>
+ </ul>
+ <p>
+TV 设备实现必须支æŒä»¥æ ‡å‡†çš„视频帧速率进行 H.264 解ç ï¼ˆç¬¬ 5.3.4 节中对此进行了详细说明),视频的分辨率ä¸å¾—高于:
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.4</a>.4/T-1-1] 高清 1080p,60 帧/秒,Basline Profile
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.4</a>.4/T-1-2] 高清 1080p,60 帧/秒,Main Profile
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.4</a>.4/T-1-3] 高清 1080p,60 帧/秒,High Profile Level 4.2
+ </li>
+ </ul>
+ <p>
+é…备 H.265 硬件解ç å™¨çš„ TV 设备实现必须支æŒä»¥æ ‡å‡†çš„视频帧速率进行 H.265 解ç ï¼ˆç¬¬ 5.3.5 节中对此进行了详细说明),视频的分辨率ä¸å¾—高于:
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.5</a>.4/T-1-1] 高清 1080p,60 帧/秒,Main Profile Level 4.1
+ </li>
+ </ul>
+ <p>
+如果é…备 H.265 硬件解ç å™¨çš„ TV è®¾å¤‡å®žçŽ°æ”¯æŒ H.265 解ç å’Œè¶…高清解ç é…置,则:
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.5</a>.5/T-2-1] 必须支æŒè¶…高清 3480p,60 帧/秒,Main10 Level 5 Main Tier é…置。
+ </li>
+ </ul>
+ <p>
+TV 设备实现必须支æŒä»¥æ ‡å‡†çš„视频帧速率进行 VP8 解ç ï¼ˆç¬¬ 5.3.6 节中对此进行了详细说明),视频的分辨率ä¸å¾—高于:
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.6</a>.4/T-1-1] 高清 1080p,60 帧/秒解ç é…ç½®
+ </li>
+ </ul>
+ <p>
+é…备 VP9 硬件解ç å™¨çš„ TV 设备实现必须支æŒä»¥æ ‡å‡†çš„视频帧速率进行 VP9 解ç ï¼ˆç¬¬ 5.3.7 节中对此进行了详细说明),视频的分辨率ä¸å¾—高于:
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.7</a>.4/T-1-1] 高清 1080p,60 帧/秒,profile 0(8 ä½è‰²æ·±ï¼‰
+ </li>
+ </ul>
+ <p>
+如果é…备 VP9 硬件解ç å™¨çš„ TV è®¾å¤‡å®žçŽ°æ”¯æŒ VP9 解ç å’Œè¶…高清解ç é…置,则:
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3.7</a>.5/T-2-1] 必须支æŒè¶…高清 3480p,60 帧/秒,profile 0(8 ä½è‰²æ·±ï¼‰ã€‚
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3.7</a>.5/T-2-1] 强烈建议支æŒè¶…高清 3480p,60 帧/秒,profile 2(10 ä½è‰²æ·±ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#5_5_audio_playback">5.5</a>.3/T-0-1] 必须支æŒåœ¨æ”¯æŒçš„输出装置上进行系统主音é‡å’Œæ•°å­—音频输出音é‡è¡°å‡ï¼Œä½¿ç”¨åŽ‹ç¼©éŸ³é¢‘直通输出装置时(在这ç§æƒ…况下,设备上ä¸ä¼šè¿›è¡Œä»»ä½•éŸ³é¢‘解ç ï¼‰é™¤å¤–。
+ </li>
+ <li>[<a href="#5_8_secure_media">5.8</a>/T-0-1] 必须将 HDMI 输出模å¼è®¾ä¸ºé€‰æ‹©æ‰€æœ‰ 50Hz 或 60Hz 刷新率有线显示å±å¯æ”¯æŒçš„最高分辨率。
+ </li>
+ <li>[<a href="#5_8_secure_media">5.8</a>/T-SR] 强烈建议针对所有有线显示å±æ供用户å¯é…置的 HDMI 刷新率选择器。
+ </li>
+ <li>[<a href="#5_8_secure_media">5.8</a>/T-SR] 强烈建议支æŒåŒæ—¶å¯¹å¤šä¸ªå®‰å…¨è§†é¢‘æµè¿›è¡Œè§£ç ï¼Œå¹¶å¼ºçƒˆå»ºè®®è‡³å°‘支æŒåŒæ—¶å¯¹ä¸¤ä¸ªè§†é¢‘æµè¿›è¡Œè§£ç ã€‚
+ </li>
+ <li>[<a href="#5_8_secure_media">5.8</a>] 应将 HDMI 输出模å¼åˆ·æ–°çŽ‡è®¾ç½®ä¸º 50Hz 或 60Hz,具体å–决于出售设备的地区所有有线显示å±çš„视频刷新率。
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现支æŒè¶…高清解ç ä¸”支æŒå¤–接显示å±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_8_secure_media">5.8</a>/T-1-1] å¿…é¡»æ”¯æŒ HDCP 2.2。
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现ä¸æ”¯æŒè¶…高清解ç ä½†æ”¯æŒå¤–接显示å±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_8_secure_media">5.8</a>/T-2-1] å¿…é¡»æ”¯æŒ HDCP 1.4
+ </li>
+ </ul>
+ <h4 id="2_3_3_software">
+2.3.3. 软件
+ </h4>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_0_intro">3</a>/T-0-1] 必须声明 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_LEANBACK"><code>android.software.leanback</code></a> 和 <code>android.hardware.type.television</code> 功能。
+ </li>
+ <li>[<a href="#3_4_web_compatibility">3.4</a>.1/T-0-1] å¿…é¡»æä¾› <code>android.webkit.Webview</code> API 的完整实现。
+ </li>
+ </ul>
+ <p>
+如果 Android TV 设备实现支æŒé”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.10/T-1-1] 必须显示包å«åª’体通知模æ¿çš„é”定å±å¹•é€šçŸ¥ã€‚
+ </li>
+ </ul>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.14/T-SR] 强烈建议支æŒç”»ä¸­ç”» (PIP) 多窗å£æ¨¡å¼ã€‚
+ </li>
+ <li>[<a href="#3_10_accessibility">3.10</a>/T-0-1] 必须支æŒç¬¬ä¸‰æ–¹æ— éšœç¢æœåŠ¡ã€‚
+ </li>
+ <li>[<a href="#3_10_accessibility">3.10</a>/T-SR] 强烈建议在设备上预加载无障ç¢æœåŠ¡ï¼Œå¹¶ä¸”这些æœåŠ¡çš„功能è¦ä¸Ž <a href="https://github.com/google/talkback">TalkBack å¼€æºé¡¹ç›®</a>中æ供的开关控制和 TalkBack(适用于预加载的文字转语音引擎支æŒçš„语言)无障ç¢æœåŠ¡çš„功能相当或更胜一筹。
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现报告 <code>android.hardware.audio.output</code> 功能,则:
+ </p>
+ <ul>
+ <li>[<a href="#3_11_text_to_speech">3.11</a>/T-SR] 强烈建议包å«æ”¯æŒè®¾å¤‡ä¸Šå¯ç”¨è¯­è¨€çš„ TTS 引擎。
+ </li>
+ <li>[<a href="#3_11_text_to_speech">3.11</a>/T-1-1] 必须支æŒå®‰è£…第三方 TTS 引擎。
+ </li>
+ </ul>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_12_tv_input_framework">3.12</a>/T-0-1] å¿…é¡»æ”¯æŒ TV 输入框架。
+ </li>
+ </ul>
+ <h4 id="2_3_4_performance_and_power">
+2.3.4. 性能和功耗
+ </h4>
+ <ul>
+ <li>[<a href="#8_1_user_experience_consistency">8.1</a>/T-0-1] <strong>一致的帧延迟</strong>:帧延迟或渲染帧延迟ä¸ä¸€è‡´çš„å‘生频率ä¸å¾—超过æ¯ç§’ 5 帧,并且应低于æ¯ç§’ 1 帧。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/T-0-1] 必须确ä¿é¡ºåºå†™å…¥æ€§èƒ½è‡³å°‘为 5MB/s。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/T-0-2] 必须确ä¿éšæœºå†™å…¥æ€§èƒ½è‡³å°‘为 0.5MB/s。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/T-0-3] 必须确ä¿é¡ºåºè¯»å–性能至少为 15MB/s。
+ </li>
+ <li>[<a href="#8_2_file_io_access_performance">8.2</a>/T-0-4] 必须确ä¿éšæœºè¯»å–性能至少为 3.5MB/s。
+ </li>
+ </ul>
+ <p>
+如果 TV 设备实现中的功能å¯æ”¹è¿› AOSP 中的设备电æºç®¡ç†æˆ–扩展 AOSP 中的功能,则:
+ </p>
+ <ul>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/T-1-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨å’Œåœç”¨çœç”µæ¨¡å¼ã€‚
+ </li>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/T-1-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å…于进入应用待机模å¼å’Œä½Žç”µè€—模å¼çš„所有应用。
+ </li>
+ </ul>
+ <p>
+TV 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/T-0-1] å¿…é¡»æ供一个关于å„组件功耗的é…置文件,其中è¦å®šä¹‰æ¯ç§ç¡¬ä»¶ç»„件的<a href="http://source.android.com/devices/tech/power/values.html">耗电值</a>,以åŠç»„件在一段时间内大概消耗的电é‡ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上所述)。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/T-0-2] 必须以毫安å°æ—¶ (mAh) 为å•ä½æŠ¥å‘Šæ‰€æœ‰åŠŸè€—值。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/T-0-3] 必须按æ¯ä¸ªè¿›ç¨‹çš„ UID 报告 CPU 功耗。Android å¼€æºé¡¹ç›®é€šè¿‡ <code>uid_cputime</code> 内核模å—实现æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/T] 如果无法将硬件组件的功耗归于æŸä¸ªåº”用,则应将其归于硬件组件本身。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/T-0-4] 必须能让应用开å‘者通过 <a href="http://source.android.com/devices/tech/power/batterystats.html"><code>adb shell dumpsys batterystats</code></a> shell 命令查看此功耗。
+ </li>
+ </ul>
+ <h3 id="2_4_watch_requirements">
+2.4. 针对 Watch çš„è¦æ±‚
+ </h3>
+ <p>
+<strong>Android Watch 设备</strong>:一ç§åº”穿戴在身上(也许是戴在手腕上)的 Android 设备实现。
+ </p>
+ <p>
+满足以下所有æ¡ä»¶çš„ Android 设备实现å¯å½’类为 Watch 设备:
+ </p>
+ <ul>
+ <li>具有物ç†å¯¹è§’线长度介于 1.1 到 2.5 英寸之间的å±å¹•ã€‚
+ </li>
+ <li>具有旨在方便穿戴在身上的机制。
+ </li>
+ </ul>
+ <p>
+本节其余部分中的附加è¦æ±‚针对的是 Android Watch 设备实现。
+ </p>
+ <h4 id="2_4_1_hardware">
+2.4.1. 硬件
+ </h4>
+ <p>
+Watch 设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_1_display_and_graphics">7.1</a>.1.1/W-0-1] 必须具有物ç†å¯¹è§’线尺寸介于 1.1 到 2.5 英寸之间的å±å¹•ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_2_input_devices">7.2</a>.3/W-0-1] 必须为用户æ供“主å±å¹•â€åŠŸèƒ½ï¼Œè¿˜å¿…é¡»æ供“返回â€åŠŸèƒ½ï¼ˆå¤„于 <code>UI_MODE_TYPE_WATCH</code> 模å¼æ—¶é™¤å¤–)。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_2_input_devices">7.2</a>.4/W-0-1] 必须支æŒè§¦æ‘¸å±è¾“入。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_3_sensors">7.3</a>.1/W-SR] å¼ºçƒˆå»ºè®®åŒ…å« 3 轴加速度计。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_4_data_connectivity">7.4</a>.3/W-0-1] 必须支æŒè“牙。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/W-0-1] 必须有至少 1GB çš„éžæ˜“失性存储空间å¯ç”¨äºŽå­˜å‚¨åº”用éšç§æ•°æ®ï¼ˆè¯¥ç©ºé—´ä¹Ÿç§°ä¸ºâ€œ/dataâ€åˆ†åŒºï¼‰ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/W-0-2] 必须有至少 416MB 的内存å¯ä¾›å†…核和用户空间使用。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_8_audio">7.8</a>.1/W-0-1] 必须包å«éº¦å…‹é£Žã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_8_audio">7.8</a>.2/W] å¯ä»¥ï¼ˆä½†ä¸åº”)包å«éŸ³é¢‘输出机制。
+ </p>
+ </li>
+ </ul>
+ <h4 id="2_4_2_multimedia">
+2.4.2. 多媒体
+ </h4>
+ <p>
+没有é¢å¤–è¦æ±‚。
+ </p>
+ <h4 id="2_4_3_software">
+2.4.3. 软件
+ </h4>
+ <p>
+Watch 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_0_intro">3</a>/W-0-1] 必须声明 <code>android.hardware.type.watch</code> 功能。
+ </li>
+ <li>[<a href="#3_0_intro">3</a>/W-0-2] å¿…é¡»æ”¯æŒ uiMode = <a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_WATCH">UI_MODE_TYPE_WATCH</a>。
+ </li>
+ </ul>
+ <p>
+Watch 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.4/W-SR] 强烈建议在设备上实现一个辅助程åºæ¥å¤„ç†<a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">辅助æ“作</a>。
+ </li>
+ </ul>
+ <p>
+声明 <code>android.hardware.audio.output</code> 功能标记的 Watch 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_10_accessibility">3.10</a>/W-1-1] 必须支æŒç¬¬ä¸‰æ–¹æ— éšœç¢æœåŠ¡ã€‚
+ </li>
+ <li>[<a href="#3_10_accessibility">3.10</a>/W-SR] 强烈建议在设备上预加载无障ç¢æœåŠ¡ï¼Œå¹¶ä¸”这些æœåŠ¡çš„功能è¦ä¸Ž <a href="https://github.com/google/talkback">TalkBack å¼€æºé¡¹ç›®</a>中æ供的开关控制和 TalkBack(适用于预加载的文字转语音引擎支æŒçš„语言)无障ç¢æœåŠ¡çš„功能相当或更胜一筹。
+ </li>
+ </ul>
+ <p>
+如果 Watch 设备实现报告 android.hardware.audio.output 功能,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#3_11_text_to_speech">3.11</a>/W-SR] 强烈建议包å«æ”¯æŒè®¾å¤‡ä¸Šå¯ç”¨è¯­è¨€çš„ TTS 引擎。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_11_text_to_speech">3.11</a>/W-0-1] 必须支æŒå®‰è£…第三方 TTS 引擎。
+ </p>
+ </li>
+ </ul>
+ <h4 id="2_4_4_performance_and_power">
+2.4.4. 性能和功耗
+ </h4>
+ <p>
+如果 Watch 设备实现中的功能å¯æ”¹è¿› AOSP 中的设备电æºç®¡ç†æˆ–扩展 AOSP 中的功能,则:
+ </p>
+ <ul>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/W-SR] 强烈建议æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å…于进入应用待机模å¼å’Œä½Žç”µè€—模å¼çš„所有应用。
+ </li>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/W-SR] 强烈建议æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨å’Œåœç”¨çœç”µæ¨¡å¼ã€‚
+ </li>
+ </ul>
+ <p>
+Watch 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/W-0-1] å¿…é¡»æ供一个关于å„组件功耗的é…置文件,其中è¦å®šä¹‰æ¯ç§ç¡¬ä»¶ç»„件的<a href="http://source.android.com/devices/tech/power/values.html">耗电值</a>,以åŠç»„件在一段时间内大概消耗的电é‡ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上所述)。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/W-0-2] 必须以毫安å°æ—¶ (mAh) 为å•ä½æŠ¥å‘Šæ‰€æœ‰åŠŸè€—值。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/W-0-3] 必须按æ¯ä¸ªè¿›ç¨‹çš„ UID 报告 CPU 功耗。Android å¼€æºé¡¹ç›®é€šè¿‡ <code>uid_cputime</code> 内核模å—实现æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/W-0-4] 必须能让应用开å‘者通过 <a href="http://source.android.com/devices/tech/power/batterystats.html"><code>adb shell dumpsys batterystats</code></a> shell 命令查看此功耗。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/W] 如果无法将硬件组件的功耗归于æŸä¸ªåº”用,则应将其归于硬件组件本身。
+ </li>
+ </ul>
+ <h3 id="2_5_automotive_requirements">
+2.5. 针对 Automotive çš„è¦æ±‚
+ </h3>
+ <p>
+ <strong>Android Automotive 实现</strong>:一ç§æ±½è½¦éŸ³å“主机,è¿è¡Œ Android 作为æ“作系统æ¥å®žçŽ°éƒ¨åˆ†æˆ–全部的系统功能和/或信æ¯å¨±ä¹åŠŸèƒ½ã€‚
+ </p>
+ <p>
+声明了 <code>android.hardware.type.automotive</code> 功能或满足以下所有æ¡ä»¶çš„ Android 设备实现å¯å½’类为 Automotive 设备。
+ </p>
+ <ul>
+ <li>作为部件嵌入到车辆上或å¯æ’入到车辆上。
+ </li>
+ <li>使用驾驶侧的å±å¹•ä½œä¸ºä¸»è¦æ˜¾ç¤ºå±ã€‚
+ </li>
+ </ul>
+ <p>
+本节其余部分中的附加è¦æ±‚针对的是 Android Automotive 设备实现。
+ </p>
+ <h4 id="2_5_1_hardware">
+2.5.1. 硬件
+ </h4>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_1_display_and-graphics">7.1</a>.1.1/A-0-1] 必须具有物ç†å¯¹è§’线尺寸至少为 6 英寸的å±å¹•ã€‚
+ </li>
+ <li>
+ <p>
+[<a href="#7_1_display_and_graphics">7.1</a>.1.1/A-0-2] å±å¹•å°ºå¯¸å¸ƒå±€å¿…须至少为 750 dp x 480 dp。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_2_input_devices">7.2</a>.3/A-0-1] å¿…é¡»æ供“主å±å¹•â€åŠŸèƒ½ï¼Œå¹¶ä¸”å¯ä»¥æ供“返回â€å’Œâ€œæœ€è¿‘用过â€åŠŸèƒ½ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_2_input_devices">7.2</a>.3/A-0-2] 必须将“返回â€åŠŸèƒ½ (<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK"><code>KEYCODE_BACK</code></a>) 的常规按下事件和长按事件都å‘é€åˆ°å‰å°åº”用。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_3_sensors">7.3</a>.1/A-SR] å¼ºçƒˆå»ºè®®åŒ…å« 3 轴加速度计。
+ </p>
+ </li>
+ </ul>
+ <p>
+如果 Automotive è®¾å¤‡å®žçŽ°åŒ…å« 3 轴加速度计,则:
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.1/A-1-1] 必须能够以至少 100 Hz 的频率报告事件。
+ </li>
+ <li>[<a href="#7_3_sensors">7.3</a>.1/A-1-2] å¿…é¡»éµä»Ž Android <a href="http://source.android.com/devices/sensors/sensor-types.html#auto_axes">汽车传感器å标系</a>。
+ </li>
+ </ul>
+ <p>
+如果 Automotive è®¾å¤‡å®žçŽ°åŒ…å« GPS/GNSS 接收器,并且通过 <code>android.hardware.location.gps</code> 功能标记å‘应用报告该功能,则:
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.3/A-1-1] GNSS 技术的出产年份必须为“2017 å¹´â€æˆ–更晚。
+ </li>
+ </ul>
+ <p>
+如果 Automotive 设备实现包å«é™€èžºä»ªï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.4/A-1-1] 必须能够以至少 100 Hz 的频率报告事件。
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.11/A-0-1] å¿…é¡»æ供用电装置(作为 <code>SENSOR_TYPE_GEAR</code>)。
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_3_sensors">7.3</a>.11.2/A-0-1] 必须支æŒå®šä¹‰ä¸º <code>SENSOR_TYPE_NIGHT</code> 的日间/夜间模å¼ã€‚
+ </li>
+ <li>[<a href="#7_3_sensors">7.3</a>.11.2/A-0-2] <code>SENSOR_TYPE_NIGHT</code> 标记的值必须与信æ¯ä¸­å¿ƒçš„日间/夜间模å¼ä¸€è‡´ï¼Œå¹¶ä¸”应基于环境光传感器输入。
+ </li>
+ <li>
+ <p>
+底层环境光传感器å¯ä»¥ä¸Ž<a href="#7_3_7_photometer">光度计</a>相åŒã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_3_sensors">7.3</a>.11.4/A-0-1] å¿…é¡»æ供定义为 <code>SENSOR_TYPE_CAR_SPEED</code> 的车速。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_3_sensors">7.3</a>.11.5/A-0-1] å¿…é¡»æ供定义为 <code>SENSOR_TYPE_PARKING_BRAKE</code> 的驻车制动状æ€ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_4_data_connectivity">7.4</a>.3/A-0-1] 必须支æŒè“牙,并且应支æŒè“牙 LE。
+ </p>
+ </li>
+ <li>[<a href="#7_4_data_connectivity">7.4</a>.3/A-0-2] Android Automotive 实现必须支æŒä»¥ä¸‹è“牙é…置:
+ <ul>
+ <li>通过å…æ模å¼é…ç½® (HFP) 拨打电è¯ã€‚
+ </li>
+ <li>通过音频分å‘é…ç½® (A2DP) 播放媒体。
+ </li>
+ <li>通过远程控制é…ç½® (AVRCP) 控制媒体播放。
+ </li>
+ <li>使用电è¯ç°¿è®¿é—®é…ç½® (PBAP) 分享è”系人信æ¯ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_4_data_connectivity">7.4</a>.3/A-SR] 强烈建议支æŒæ¶ˆæ¯è®¿é—®é…ç½® (MAP)。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_4_data_connectivity">7.4</a>.5/A] 应支æŒåŸºäºŽç§»åŠ¨ç½‘络的数æ®ç½‘络连接。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_4_data_connectivity">7.4</a>.5/A] å¯ä»¥é’ˆå¯¹åº”å¯ä¾›ç³»ç»Ÿåº”用使用的网络使用系统 API <code>NetworkCapabilities#NET_CAPABILITY_OEM_PAID</code> 常é‡ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-0-1] 必须有至少 4GB çš„éžæ˜“失性存储空间å¯ç”¨äºŽå­˜å‚¨åº”用éšç§æ•°æ®ï¼ˆè¯¥ç©ºé—´ä¹Ÿç§°ä¸ºâ€œ/dataâ€åˆ†åŒºï¼‰ã€‚
+ </p>
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_6_memory_and_storage">7.6</a>.1/A] 应设置数æ®åˆ†åŒºçš„æ ¼å¼ä»¥æå‡é—ªå­˜çš„性能和使用寿命(例如采用 <code>f2fs</code> 文件系统)。
+ </li>
+ </ul>
+ <p>
+如果 Automotive 设备实现通过一部分ä¸å¯ç§»åŠ¨çš„内部存储空间æ供共享的外部存储空间,则:
+ </p>
+ <ul>
+ <li>[<a href="#7_6_memory_and_storage">7.6</a>.1/A-SR] 强烈建议å‡å°‘对外部存储空间执行æ“作所需的 I/O 开销(例如使用 <code>SDCardFS</code>)。
+ </li>
+ </ul>
+ <p>
+如果 Automotive 设备实现是 32 ä½ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-1-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 512MB:
+ </p>
+ <ul>
+ <li>280dpi 或更低(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>ldpi 或更低(超大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更低(大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-1-2] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 608MB:
+ </p>
+ <ul>
+ <li>xhdpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>hdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-1-3] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 896MB:
+ </p>
+ <ul>
+ <li>400dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>tvdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-1-4] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1344MB:
+ </p>
+ <ul>
+ <li>560dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>400dpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果 Automotive 设备实现是 64 ä½ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-2-1] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 816MB:
+ </p>
+ <ul>
+ <li>280dpi 或更低(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>ldpi 或更低(超大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更低(大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-2-2] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 944MB:
+ </p>
+ <ul>
+ <li>xhdpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>hdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>mdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-2-3] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1280MB:
+ </p>
+ <ul>
+ <li>400dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>tvdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[<a href="#7_6_memory_and_storage">7.6</a>.1/A-2-4] 如果使用了以下任何密度,则å¯ä¾›å†…核和用户空间使用的内存必须至少为 1824MB:
+ </p>
+ <ul>
+ <li>560dpi 或更高(å°å±å¹•/普通å±å¹•ï¼‰
+ </li>
+ <li>400dpi 或更高(大å±å¹•ï¼‰
+ </li>
+ <li>xhdpi 或更高(超大å±å¹•ï¼‰
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+请注æ„,上文æ到的“å¯ä¾›å†…核和用户空间使用的内存â€æ˜¯æŒ‡é™¤äº†å·²ä¸“门用于硬件组件(例如设备实现上的无线装置ã€è§†é¢‘组件,以åŠå…¶ä»–ä¸å—内核控制的组件)的所有内存之外å¦è¡Œæ供的内存空间。
+ </p>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_7_usb">7.7</a>.1/A] 应包å«æ”¯æŒå¤–设模å¼çš„ USB 端å£ã€‚
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_8_audio">7.8</a>.1/A-0-1] 必须包å«éº¦å…‹é£Žã€‚
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#7_8_audio">7.8</a>.2/A-0-1] 必须具有音频输出机制,并声明 <code>android.hardware.audio.output</code>。
+ </li>
+ </ul>
+ <h4 id="2_5_2_multimedia">
+2.5.2. 多媒体
+ </h4>
+ <p>
+Automotive 设备实现必须支æŒä»¥ä¸‹éŸ³é¢‘ç¼–ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_1_media_codecs">5.1</a>/A-0-1] MPEG-4 AAC Profile (AAC LC)
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>/A-0-2] MPEG-4 HE AAC Profile (AAC+)
+ </li>
+ <li>[<a href="#5_1_media_codecs">5.1</a>/A-0-3] AAC ELD(增强型低延迟 AAC)
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现必须支æŒä»¥ä¸‹è§†é¢‘ç¼–ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_2_video_encoding">5.2</a>/A-0-1] H.264 AVC
+ </li>
+ <li>[<a href="#5_2_video_encoding">5.2</a>/A-0-2] VP8
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现必须支æŒä»¥ä¸‹è§†é¢‘解ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/A-0-1] H.264 AVC
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/A-0-2] MPEG-4 SP
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/A-0-3] VP8
+ </li>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/A-0-4] VP9
+ </li>
+ </ul>
+ <p>
+强烈建议 Automotive 设备实现支æŒä»¥ä¸‹è§†é¢‘解ç ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#5_3_video_decoding">5.3</a>/A-SR] H.265 HEVC
+ </li>
+ </ul>
+ <h4 id="2_5_3_software">
+2.5.3. 软件
+ </h4>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[<a href="#3_0_intro">3</a>/A-0-1] 必须声明 <code>android.hardware.type.automotive</code> 功能。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_0_intro">3</a>/A-0-2] å¿…é¡»æ”¯æŒ uiMode = <a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_CAR"><code>UI_MODE_TYPE_CAR</code></a>。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_0_intro">3</a>/A-0-3] å¿…é¡»æ”¯æŒ <a href="https://developer.android.com/reference/android/car/package-summary"><code>android.car.*</code></a> 命å空间中的所有公共 API。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_4_web_compatibility">3.4</a>.1/A-0-1] å¿…é¡»æä¾› <code>android.webkit.Webview</code> API 的完整实现。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_8_user_interface_compatibility">3.8</a>.3/A-0-1] 必须能够应第三方应用的请求显示使用 <a href="https://developer.android.com/reference/android/app/Notification.CarExtender.html"><code>Notification.CarExtender</code></a> API 的通知。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_8_user_interface_compatibility">3.8</a>.4/A-0-1] 必须在设备上实现一个辅助程åºï¼Œç”¨äºŽæä¾› <a href="https://developer.android.com/reference/android/service/voice/VoiceInteractionSession"><code>VoiceInteractionSession</code></a> æœåŠ¡çš„默认实现。
+ </p>
+ </li>
+ <li>
+ <p>
+[<a href="#3_13_quick_settings">3.13</a>/A-SR] 强烈建议包å«å¿«æ·è®¾ç½®ç•Œé¢ç»„件。
+ </p>
+ </li>
+ </ul>
+ <p>
+如果 Automotive 设备实现包å«æŒ‰é”®é€šè¯æŒ‰é’®ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#3_8_user_interface_compatibility">3.8</a>.4/A-1-1] 必须将短按按键通è¯æŒ‰é’®ç”¨ä½œå¯åŠ¨ç”¨æˆ·é€‰æ‹©çš„辅助应用(也就是实现 <a href="https://developer.android.com/reference/android/service/voice/VoiceInteractionService"><code>VoiceInteractionService</code></a> 的应用)的指定交互。
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#3_14_media_ui">3.14</a>/A-0-1] 必须包å«ä¸€ä¸ªç•Œé¢æ¡†æž¶ï¼Œä»¥æ”¯æŒä½¿ç”¨åª’体 API 的第三方应用(如第 <a href="#3_14_media_ui">3.14</a> 节中所述)。
+ </li>
+ </ul>
+ <h4 id="2_5_4_performance_and_power">
+2.5.4. 性能和功耗
+ </h4>
+ <p>
+如果 Automotive 设备实现中的功能å¯æ”¹è¿› AOSP 中的设备电æºç®¡ç†æˆ–扩展 AOSP 中的功能,则:
+ </p>
+ <ul>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/A-1-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨å’Œåœç”¨çœç”µæ¨¡å¼ã€‚
+ </li>
+ <li>[<a href="#8_3_power_saving_modes">8.3</a>/A-1-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å…于进入应用待机模å¼å’Œä½Žç”µè€—模å¼çš„所有应用。
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#8_2_file_i/o_access_performance">8.2</a>/A-0-1] 必须按æ¯ä¸ªè¿›ç¨‹çš„ UID 报告读å–和写入éžæ˜“失性存储空间的字节数,以便开å‘者通过系统 API <code>android.car.storagemonitoring.CarStorageMonitoringManager</code> 获å–统计信æ¯ã€‚Android å¼€æºé¡¹ç›®é€šè¿‡ <code>uid_sys_stats</code> 内核模å—æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/A-0-1] å¿…é¡»æ供一个关于å„组件功耗的é…置文件,其中è¦å®šä¹‰æ¯ç§ç¡¬ä»¶ç»„件的<a href="http://source.android.com/devices/tech/power/values.html">耗电值</a>,以åŠç»„件在一段时间内大概消耗的电é‡ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上所述)。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/A-0-2] 必须以毫安å°æ—¶ (mAh) 为å•ä½æŠ¥å‘Šæ‰€æœ‰åŠŸè€—值。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/A-0-3] 必须按æ¯ä¸ªè¿›ç¨‹çš„ UID 报告 CPU 功耗。Android å¼€æºé¡¹ç›®é€šè¿‡ <code>uid_cputime</code> 内核模å—实现æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/A] 如果无法将硬件组件的功耗归于æŸä¸ªåº”用,则应将其归于硬件组件本身。
+ </li>
+ <li>[<a href="#8_4_power_consumption_accounting">8.4</a>/A-0-4] 必须能让应用开å‘者通过 <a href="http://source.android.com/devices/tech/power/batterystats.html"><code>adb shell dumpsys batterystats</code></a> shell 命令查看此功耗。
+ </li>
+ </ul>
+ <h4 id="2_5_5_security_model">
+2.5.5. 安全模型
+ </h4>
+ <p>
+如果 Automotive 设备实现支æŒå¤šä¸ªç”¨æˆ·ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#9_5_multi_user_support">9.5</a>/A-1-1] 必须包å«ä¸€ä¸ªè®©ç”¨æˆ·æ— éœ€ç™»å½•å³å¯ä½¿ç”¨è½¦è½½ç³»ç»Ÿæ‰€æœ‰åŠŸèƒ½çš„访客å¸å·ã€‚
+ </li>
+ </ul>
+ <p>
+如果 Automotive 设备实现支æŒå®‰å…¨é”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#9_9_full_disk_encryption">9.9</a>.2/A-1-1] 必须支æŒæ ¹æ®ç‰¹å®šäºŽç”¨æˆ·çš„身份验è¯å¯†é’¥è¿›è¡ŒåŠ å¯†ã€‚<a href="https://source.android.com/security/encryption/file-based">文件级加密 (FBE)</a> 便是一ç§æ–¹æ³•ã€‚
+ </li>
+ </ul>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>[<a href="#9_14_automotive_system_isolation">9.14</a>/A-0-1] 必须对æ¥è‡ª Android 框架车载å­ç³»ç»Ÿçš„消æ¯è¿›è¡ŒæŠŠå…³ï¼Œä¾‹å¦‚å°†å…许的消æ¯ç±»åž‹å’Œæ¶ˆæ¯æ¥æºåˆ—入白åå•ã€‚
+ </li>
+ <li>[<a href="#9_14_automotive_system_isolation">9.14</a>/A-0-2] 必须监控æ¥è‡ª Android 框架或第三方应用的拒ç»æœåŠ¡æ”»å‡»ã€‚此监控程åºå¯é˜²æ­¢æ¶æ„软件使用泛洪攻击车载网络æµé‡ï¼ˆè¿™å¯èƒ½ä¼šå¯¼è‡´è½¦è½½å­ç³»ç»Ÿæ— æ³•æ­£å¸¸è¿è¡Œï¼‰ã€‚
+ </li>
+ </ul>
+ <h3 id="2_6_tablet_requirements">
+2.6. 针对平æ¿ç”µè„‘çš„è¦æ±‚
+ </h3>
+ <p>
+<strong>Android å¹³æ¿ç”µè„‘设备</strong>ï¼šä¸€ç§ Android 设备实现,通常是拿在åŒæ‰‹ä¸­ä½¿ç”¨ï¼Œå¹¶ä¸”外形ä¸æ˜¯ç¿»ç›–å¼ã€‚
+ </p>
+ <p>
+满足以下所有æ¡ä»¶çš„ Android 设备实现å¯å½’类为平æ¿ç”µè„‘:
+ </p>
+ <ul>
+ <li>具有能够使设备实现移动性的电æºï¼Œä¾‹å¦‚电池。
+ </li>
+ <li>å±å¹•çš„物ç†å¯¹è§’线尺寸介于 7 到 18 英寸之间。
+ </li>
+ </ul>
+ <p>
+å¹³æ¿ç”µè„‘设备实现需è¦æ»¡è¶³çš„è¦æ±‚与手æŒè®¾å¤‡å®žçŽ°éœ€è¦æ»¡è¶³çš„è¦æ±‚类似。对于两者的ä¸åŒä¹‹å¤„,手æŒè®¾å¤‡å®žçŽ°è¦æ±‚的相应章节中已使用 * 指明,本节中也æ供了相应备注以供å‚考。
+ </p>
+ <h4 id="2_4_1_hardware">
+2.4.1. 硬件
+ </h4>
+ <p>
+ <strong>å±å¹•å°ºå¯¸</strong>
+ </p>
+ <ul>
+ <li>[<a href="#7_1_display_and_graphics">7.1</a>.1.1/Tab-0-1] 必须具有尺寸介于 7 到 18 英寸之间的å±å¹•ã€‚
+ </li>
+ </ul>
+ <p>
+ <strong>最å°å†…存和存储空间(第 7.6.1 节)</strong>
+ </p>
+ <p>
+针对手æŒè®¾å¤‡çš„è¦æ±‚中为å°å±å¹•/普通å±å¹•åˆ—出的å±å¹•å¯†åº¦ä¸é€‚用于平æ¿ç”µè„‘。
+ </p>
+ <p>
+ <strong>USB 外设模å¼ï¼ˆç¬¬ 7.7.1 节)</strong>
+ </p>
+ <p>
+如果平æ¿ç”µè„‘设备实现包å«æ”¯æŒå¤–设模å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[<a href="#7_7_usb">7.7.1</a>/Tab] å¯ä»¥å®žçŽ° Android Open Accessory (AOA) API。
+ </li>
+ </ul>
+ <p>
+ <strong>虚拟实境模å¼ï¼ˆç¬¬ 7.9.1 节)</strong>
+ </p>
+ <p>
+ <strong>虚拟实境高性能(第 7.9.2 节)</strong>
+ </p>
+ <p>
+针对虚拟实境的è¦æ±‚ä¸é€‚用于平æ¿ç”µè„‘。
+ </p>
+ <h2 id="3_software">
+3. 软件
+ </h2>
+ <h3 id="3_1_managed_api_compatibility">
+3.1. å—ç®¡ç† API 兼容性
+ </h3>
+ <p>
+å—ç®¡ç† Dalvik 字节ç æ‰§è¡ŒçŽ¯å¢ƒæ˜¯ Android 应用所需的主è¦å®¹å™¨ã€‚Android åº”ç”¨ç¼–ç¨‹æŽ¥å£ (API) 是一组 Android å¹³å°æŽ¥å£ï¼Œå¯ä¾›åœ¨å—管ç†è¿è¡Œæ—¶çŽ¯å¢ƒä¸­è¿è¡Œçš„应用使用。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] å¿…é¡»æ供以下 API 的完整实现(包括所有载述的行为):<a href="http://developer.android.com/reference/packages.html">Android SDK</a> 中载述的所有 API,或上游 Android æºä»£ç ä¸­æ‰€æœ‰å¸¦â€œ@SystemApiâ€æ ‡è®°çš„ API。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] 必须支æŒ/ä¿ç•™æ‰€æœ‰æ ‡æœ‰ TestApi 注记 (@TestApi) çš„ç±»ã€æ–¹æ³•å’Œå…³è”的元素。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-3] 除éžæœ¬å…¼å®¹æ€§å®šä¹‰ä¸­æ˜Žç¡®è®¸å¯ï¼Œå¦åˆ™ä¸å¾—çœç•¥ä»»ä½•å—ç®¡ç† API,ä¸å¾—更改 API 接å£æˆ–ç­¾å,ä¸å¾—è¿èƒŒè½½è¿°çš„行为,也ä¸å¾—包å«ç©ºæ“作。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-4] å¿…é¡»ä»ä¿ç•™ API 并使其采å–åˆç†çš„行为方å¼ï¼Œå³ä½¿ Android 包å«çš„ API 所对应的æŸäº›ç¡¬ä»¶åŠŸèƒ½è¢«çœç•¥ä¹Ÿæ˜¯å¦‚此。如需了解针对这ç§æƒ…况的具体è¦æ±‚,请å‚阅<a href="#7_hardware_compatibility">第 7 节</a>。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-5] å¿…é¡»é™åˆ¶ç¬¬ä¸‰æ–¹åº”用使用éšè— API(在 Android 命å空间中被定义为带 <code>@hidden</code> 注释但ä¸å¸¦ <code>@SystemAPI</code> 或 <code>@TestApi</code> çš„ API)(如 <a href="https://developer.android.com/preview/restrictions-non-sdk-interfaces">SDK 文档</a>中所述),并在通过 <code>prebuilts/runtime/appcompat/</code> 路径下的浅ç°åå•ã€æ·±ç°åå•å’Œé»‘åå•æ–‡ä»¶ä¸º AOSP 中相应的 API 级别分支æ供的相åŒå—é™åˆ—表中éšé™„æ¯ä¸ªéšè— API,ä¸è¿‡ï¼š
+ </p>
+ <ul>
+ <li>如果éšè— API ä¸å­˜åœ¨æˆ–在设备实现中以其他方å¼å®žçŽ°ï¼Œåˆ™å¯ä»¥å°†éšè— API 移入黑åå•æˆ–从所有å—é™åˆ—表(å³æµ…ç°åå•ã€æ·±ç°åå•ã€é»‘åå•ï¼‰ä¸­å°†å…¶çœç•¥ã€‚
+ </li>
+ <li>如果 AOSP 中尚没有æŸä¸ªéšè— API,则å¯ä»¥å°†è¯¥éšè— API 添加到任一å—é™åˆ—表(å³æµ…ç°åå•ã€æ·±ç°åå•ã€é»‘åå•ï¼‰ä¸­ã€‚
+ </li>
+ <li>å¯ä»¥å®žçŽ°æŸç§åŠ¨æ€æ›´æ–°æœºåˆ¶ï¼Œå°†éšè— API 从å—é™åˆ—表中移入é™åˆ¶æ›´å®½æ¾çš„列表(白åå•é™¤å¤–)中。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h3 id="3_1_1_android_extensions">
+3.1.1. Android 扩展
+ </h3>
+ <p>
+Android 支æŒåœ¨ä½¿ API 级别版本ä¿æŒä¸å˜çš„情况下扩展å—ç®¡ç† API。
+ </p>
+ <ul>
+ <li>[C-0-1] Android 设备实现必须预加载 <code>ExtShared</code> 共享库和 <code>ExtServices</code> æœåŠ¡ï¼ˆç‰ˆæœ¬ä¸ä½ŽäºŽæ¯ä¸ª API 级别所å…许的最低版本)的 AOSP 实现。例如,è¿è¡Œ API 24 级的 Android 7.0 设备实现包å«çš„版本必须至少为 1。
+ </li>
+ </ul>
+ <h3 id="3_1_2_android_library">
+3.1.2. Android 库
+ </h3>
+ <p>
+由于<a href="https://developer.android.com/preview/behavior-changes#apache-p">已弃用 Apache HTTP 客户端</a>,设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] ä¸å¾—å°† <code>org.apache.http.legacy</code> 库放入å¯åŠ¨ç±»è·¯å¾„。
+ </li>
+ <li>[C-0-2] 必须仅在应用满足以下æ¡ä»¶ä¹‹ä¸€æ—¶å°† <code>org.apache.http.legacy</code> 库添加到应用类路径:
+ <ul>
+ <li>é¢å‘ API 28 级或更低级别。
+ </li>
+ <li>通过将 <code>&lt;uses-library&gt;</code> çš„ <code>android:name</code> 属性设置为 <code>org.apache.http.legacy</code>,在其清å•æ–‡ä»¶ä¸­å£°æ˜Žéœ€è¦è¯¥åº“。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+AOSP 实现满足上述è¦æ±‚。
+ </p>
+ <h3 id="3_2_soft_api_compatibility">
+3.2. 软 API 兼容性
+ </h3>
+ <p>
+除了<a href="#3_1_managed_api_compatibility">第 3.1 节</a>中的å—ç®¡ç† API 之外,Android 还包å«ä¸€ä¸ªéžå¸¸é‡è¦çš„è¿è¡Œæ—¶ä¸“用“软â€API,该 API 采用 Intentã€æƒé™ï¼Œä»¥åŠ Android 应用的类似方é¢ï¼ˆå®ƒä»¬åœ¨åº”用编译期间无法被强制执行)等形å¼ã€‚
+ </p>
+ <h4 id="3_2_1_permissions">
+3.2.1. æƒé™
+ </h4>
+ <ul>
+ <li>[C-0-1] 设备实现必须支æŒå¹¶å¼ºåˆ¶æ‰§è¡Œæ‰€æœ‰æƒé™å¸¸é‡ï¼ˆå¦‚<a href="http://developer.android.com/reference/android/Manifest.permission.html">“æƒé™â€å‚考页é¢</a>中所述)。请注æ„,<a href="#9_security_model_compatibility">第 9 节</a>中列出了与 Android 安全模型相关的附加è¦æ±‚。
+ </li>
+ </ul>
+ <h4 id="3_2_2_build_parameters">
+3.2.2. 版本å·å‚æ•°
+ </h4>
+ <p>
+Android API 在 <a href="http://developer.android.com/reference/android/os/Build.html">android.os.Build ç±»</a>中包å«ä¸€äº›ç”¨äºŽæ述当å‰è®¾å¤‡çš„常é‡ã€‚
+ </p>
+ <ul>
+ <li>[C-0-1] 为了在å„ç§è®¾å¤‡å®žçŽ°ä¹‹é—´æ供一致且有æ„义的值,下表中列出了针对这些值的格å¼çš„一些其他é™åˆ¶ï¼Œè®¾å¤‡å®žçŽ°å¿…é¡»éµä»Žè¿™äº›é™åˆ¶ã€‚
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th>
+å‚æ•°
+ </th>
+ <th>
+详细信æ¯
+ </th>
+ </tr>
+ <tr>
+ <td>
+VERSION.RELEASE
+ </td>
+ <td>
+当å‰æ­£åœ¨æ‰§è¡Œçš„ Android 系统的版本,采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该字段的值必须是 <a href="http://source.android.com/compatibility/9/versions.html">9</a> 中定义的字符串值之一。
+ </td>
+ </tr>
+ <tr>
+ <td>
+VERSION.SDK
+ </td>
+ <td>
+当å‰æ­£åœ¨æ‰§è¡Œçš„ Android 系统的版本,采用第三方应用代ç å¯è®¿é—®çš„æ ¼å¼ã€‚对于 Android 9,该字段必须为整数值 9_INT。
+ </td>
+ </tr>
+ <tr>
+ <td>
+VERSION.SDK_INT
+ </td>
+ <td>
+当å‰æ­£åœ¨æ‰§è¡Œçš„ Android 系统的版本,采用第三方应用代ç å¯è®¿é—®çš„æ ¼å¼ã€‚对于 Android 9,该字段必须为整数值 9_INT。
+ </td>
+ </tr>
+ <tr>
+ <td>
+VERSION.INCREMENTAL
+ </td>
+ <td>
+由设备实现者选择的值,用于指定当å‰æ­£åœ¨æ‰§è¡Œçš„ Android 系统的具体细分版本,采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该值ä¸å¾—é‡å¤ç”¨äºŽæ供给最终用户的ä¸åŒç»†åˆ†ç‰ˆæœ¬ã€‚该字段的一个典型用途是,指示用于生æˆç‰ˆæœ¬çš„版本å·æˆ–æºä»£ç æŽ§åˆ¶æ›´æ”¹æ ‡è¯†ç¬¦ã€‚该字段ä¸å¾—为 null,也ä¸å¾—为空字符串 (""),除此之外,对该字段的具体格å¼æ²¡æœ‰ä»»ä½•å…¶ä»–è¦æ±‚。
+ </td>
+ </tr>
+ <tr>
+ <td>
+BOARD
+ </td>
+ <td>
+由设备实现者选择的值,用于标识设备所使用的具体内部硬件,采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该字段的一个å¯èƒ½ç”¨é€”是指明设备主æ¿çš„具体修订版本。该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9_-]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ <tr>
+ <td>
+BRAND
+ </td>
+ <td>
+该值用于指明与设备关è”çš„å“牌å称,å³æœ€ç»ˆç”¨æˆ·æ‰€ç†ŸçŸ¥çš„设备å“牌å称。必须采用人类å¯è¯»æ‡‚çš„æ ¼å¼ï¼Œå¹¶ä¸”应表示设备的制造商或设备在è¥é”€æ—¶æ‰€å† çš„å…¬å¸å“牌。该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9_-]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ <tr>
+ <td>
+SUPPORTED_ABIS
+ </td>
+ <td>
+本机代ç æŒ‡ä»¤é›†çš„å称(CPU 类型 + ABI 惯例)。请å‚阅<a href="#3_3_native_api_compatibility">第 3.3. 节:本机 API 兼容性</a>。
+ </td>
+ </tr>
+ <tr>
+ <td>
+SUPPORTED_32_BIT_ABIS
+ </td>
+ <td>
+本机代ç æŒ‡ä»¤é›†çš„å称(CPU 类型 + ABI 惯例)。请å‚阅<a href="#3_3_native_api_compatibility">第 3.3. 节:本机 API 兼容性</a>。
+ </td>
+ </tr>
+ <tr>
+ <td>
+SUPPORTED_64_BIT_ABIS
+ </td>
+ <td>
+本机代ç ç¬¬äºŒä¸ªæŒ‡ä»¤é›†çš„å称(CPU 类型 + ABI 惯例)。请å‚阅<a href="#3_3_native_api_compatibility">第 3.3. 节:本机 API 兼容性</a>。
+ </td>
+ </tr>
+ <tr>
+ <td>
+CPU_ABI
+ </td>
+ <td>
+本机代ç æŒ‡ä»¤é›†çš„å称(CPU 类型 + ABI 惯例)。请å‚阅<a href="#3_3_native_api_compatibility">第 3.3. 节:本机 API 兼容性</a>。
+ </td>
+ </tr>
+ <tr>
+ <td>
+CPU_ABI2
+ </td>
+ <td>
+本机代ç ç¬¬äºŒä¸ªæŒ‡ä»¤é›†çš„å称(CPU 类型 + ABI 惯例)。请å‚阅<a href="#3_3_native_api_compatibility">第 3.3. 节:本机 API 兼容性</a>。
+ </td>
+ </tr>
+ <tr>
+ <td>
+DEVICE
+ </td>
+ <td>
+由设备实现者选择的值,其中包å«å¼€å‘者å称或代ç å称,用于标识设备的硬件功能和工业设计é…置。该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9_-]+$â€åŒ¹é…。该设备å称在产å“的生命周期内ä¸å¾—更改。
+ </td>
+ </tr>
+ <tr>
+ <td>
+FINGERPRINT
+ </td>
+ <td>
+该字符串用于唯一标识相应细分版本,应采用人类å¯è¯»æ‡‚çš„æ ¼å¼ï¼Œä¸”å¿…é¡»éµä»Žä»¥ä¸‹æ¨¡æ¿ï¼š
+ <p class="small">
+ $(BRAND)/$(PRODUCT)/<br />
+     $(DEVICE):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)
+ </p>
+ <p>
+例如:
+ </p>
+ <p class="small">
+ acme/myproduct/<br />
+     mydevice:9/LMYXX/3359:userdebug/test-keys
+ </p>
+ <p>
+该指纹ä¸å¾—包å«ç©ºæ ¼ã€‚如果上述模æ¿ä¸­åŒ…å«çš„其他字段内有空格,则在细分版本指纹中必须将其替æ¢ä¸ºå…¶ä»–字符(例如下划线 ("_") 字符)。该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值。
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+HARDWARE
+ </td>
+ <td>
+硬件的å称(æ¥è‡ªå†…核命令行或 /proc),应采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9_-]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ <tr>
+ <td>
+HOST
+ </td>
+ <td>
+该字符串用于唯一标识编译相应细分版本时所用的主机,采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该字段ä¸å¾—为 null,也ä¸å¾—为空字符串 (""),除此之外,对该字段的具体格å¼æ²¡æœ‰ä»»ä½•å…¶ä»–è¦æ±‚。
+ </td>
+ </tr>
+ <tr>
+ <td>
+ID
+ </td>
+ <td>
+由设备实现者选择的标识符,用于指特定版本,采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该字段å¯ä¸Ž android.os.Build.VERSION.INCREMENTAL 相åŒï¼Œä½†åº”是对最终用户æ¥è¯´æœ‰å……分æ„义的值,以便他们区分å„软件细分版本。该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9._-]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ <tr>
+ <td>
+MANUFACTURER
+ </td>
+ <td>
+产å“的原始设备制造商 (OEM) 的商å·ã€‚该字段ä¸å¾—为 null,也ä¸å¾—为空字符串 (""),除此之外,对该字段的具体格å¼æ²¡æœ‰ä»»ä½•å…¶ä»–è¦æ±‚。该字段在产å“的生命周期内ä¸å¾—更改。
+ </td>
+ </tr>
+ <tr>
+ <td>
+MODEL
+ </td>
+ <td>
+由设备实现者选择的值,其中包å«æœ€ç»ˆç”¨æˆ·æ‰€ç†ŸçŸ¥çš„设备å称。该值应与设备在è¥é”€æ—¶ä»¥åŠå‡ºå”®ç»™æœ€ç»ˆç”¨æˆ·æ—¶æ‰€ä½¿ç”¨çš„å称相åŒã€‚该字段ä¸å¾—为 null,也ä¸å¾—为空字符串 (""),除此之外,对该字段的具体格å¼æ²¡æœ‰ä»»ä½•å…¶ä»–è¦æ±‚。该字段在产å“的生命周期内ä¸å¾—更改。
+ </td>
+ </tr>
+ <tr>
+ <td>
+PRODUCT
+ </td>
+ <td>
+由设备实现者选择的值,其中包å«å…·ä½“äº§å“ (SKU) çš„å¼€å‘å称或代ç å称,在åŒä¸€å“牌中必须是独一无二的。必须采用人类å¯è¯»æ‡‚çš„æ ¼å¼ï¼Œä½†ä¸ä¸€å®šå¯ä¾›æœ€ç»ˆç”¨æˆ·æŸ¥çœ‹ã€‚该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9_-]+$â€åŒ¹é…。该产å“å称在产å“的生命周期内ä¸å¾—更改。
+ </td>
+ </tr>
+ <tr>
+ <td>
+SERIAL
+ </td>
+ <td>
+必须返回“UNKNOWNâ€ã€‚
+ </td>
+ </tr>
+ <tr>
+ <td>
+TAGS
+ </td>
+ <td>
+由设备实现者选择的一系列标记(用于进一步区分细分版本),å„个标记之间以英文逗å·åˆ†éš”。该字段的值必须是与以下三ç§å…¸åž‹ Android å¹³å°ç­¾åé…置对应的值之一:release-keysã€dev-keysã€test-keys。
+ </td>
+ </tr>
+ <tr>
+ <td>
+TIME
+ </td>
+ <td>
+该值用于表示进行编译时的时间戳。
+ </td>
+ </tr>
+ <tr>
+ <td>
+TYPE
+ </td>
+ <td>
+由设备实现者选择的值,用于指定相应细分版本的è¿è¡Œæ—¶é…置。该字段的值必须是与以下三ç§å…¸åž‹ Android è¿è¡Œæ—¶é…置对应的值之一:userã€userdebug 或 eng。
+ </td>
+ </tr>
+ <tr>
+ <td>
+USER
+ </td>
+ <td>
+生æˆç›¸åº”细分版本的用户(或自动用户)的å称或 ID。该字段ä¸å¾—为 null,也ä¸å¾—为空字符串 (""),除此之外,对该字段的具体格å¼æ²¡æœ‰ä»»ä½•å…¶ä»–è¦æ±‚。
+ </td>
+ </tr>
+ <tr>
+ <td>
+SECURITY_PATCH
+ </td>
+ <td>
+该值用于指明相应细分版本的安全补ä¸ç¨‹åºçº§åˆ«ã€‚它必须表明相应细分版本在任何方é¢éƒ½ä¸å®¹æ˜“å—到指定的 Android 公共安全公告中所述的任何问题的影å“。它必须采用 [YYYY-MM-DD] æ ¼å¼ï¼Œå¹¶ä¸”与 <a href="source.android.com/security/bulletin">Android 公共安全公告</a>或 <a href="http://source.android.com/security/advisory">Android 安全建议</a>中载述的已定义字符串匹é…,例如“2015-11-01â€ã€‚
+ </td>
+ </tr>
+ <tr>
+ <td>
+BASE_OS
+ </td>
+ <td>
+该值表示以下细分版本的 FINGERPRINT å‚数:除了 Android 公共安全公告中æ供的补ä¸ç¨‹åºä»¥å¤–,与相应细分版本完全相åŒçš„细分版本。它必须报告正确的值,如果这样的细分版本ä¸å­˜åœ¨ï¼Œåˆ™æŠ¥å‘Šä¸€ä¸ªç©ºå­—符串 ("")。
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://developer.android.com/reference/android/os/Build.html#BOOTLOADER">BOOTLOADER</a>
+ </td>
+ <td>
+由设备实现者选择的值,用于标识设备所使用的具体内部引导加载程åºï¼Œé‡‡ç”¨äººç±»å¯è¯»æ‡‚çš„æ ¼å¼ã€‚该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9._-]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://developer.android.com/reference/android/os/Build.html#getRadioVersion()">getRadioVersion()</a>
+ </td>
+ <td>
+必须是或必须返回由设备实现者选择的值,该值用于标识设备所使用的具体内部无线装置/调制解调器版本,采用人类å¯è¯»æ‡‚çš„æ ¼å¼ã€‚如果设备没有任何内部无线装置/调制解调器,则该方法必须返回 NULL。该字段的值必须å¯ç¼–ç ä¸º 7 ä½çš„ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9._-,]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://developer.android.com/reference/android/os/Build.html#getSerial()">getSerial()</a>
+ </td>
+ <td>
+必须(是或返回)硬件åºåˆ—å·ï¼›å¦‚果有多款 MODEL å’Œ MANUFACTURER 相åŒçš„设备,则必须为其æ供硬件åºåˆ—å·ï¼Œå¹¶ä¸”æ供的硬件åºåˆ—å·åœ¨è¿™äº›è®¾å¤‡ä¸­å¿…须是独一无二的。该字段的值必须å¯ç¼–ç ä¸º 7 ä½ ASCII 值,并且与正则表达å¼â€œ^[a-zA-Z0-9._-,]+$â€åŒ¹é…。
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="3_2_3_intent_compatibility">
+3.2.3. Intent 兼容性
+ </h4>
+ <h5 id="3_2_3_1_core_application_intents">
+3.2.3.1. 核心应用 Intent
+ </h5>
+ <p>
+通过 Android Intent,应用组件å¯ä»¥è¯·æ±‚其他 Android 组件的功能。Android 上游项目包å«ä¸€ç³»åˆ—被视为核心 Android 应用的应用,这些应用å¯å®žçŽ°å¤šç§ Intent 模å¼æ¥æ‰§è¡Œå¸¸è§æ“作。
+ </p>
+ <ul>
+ <li>
+ <p>[C-0-1] 对于 AOSP 中的以下核心 Android 应用定义的所有公共 Intent 过滤器模å¼ï¼Œè®¾å¤‡å®žçŽ°éƒ½å¿…须预加载带有 Intent 处ç†ç¨‹åºçš„一个或多个应用或æœåŠ¡ç»„件:
+ </p>
+ <ul>
+ <li>æ¡Œé¢æ—¶é’Ÿ
+ </li>
+ <li>æµè§ˆå™¨
+ </li>
+ <li>日历
+ </li>
+ <li>通讯录
+ </li>
+ <li>图库
+ </li>
+ <li>GlobalSearch
+ </li>
+ <li>å¯åŠ¨å™¨
+ </li>
+ <li>音ä¹
+ </li>
+ <li>设置
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h5 id="3_2_3_2_intent_resolution">
+3.2.3.2. Intent 解决方案
+ </h5>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 由于 Android 是一个å¯æ‰©å±•çš„å¹³å°ï¼Œå› æ­¤è®¾å¤‡å®žçŽ°å¿…é¡»å…许第三方应用替æ¢<a href="#3_2_3_1_core_application_intents">第 3.2.3.1 节</a>中æ到的æ¯ç§ Intent 模å¼ï¼ˆâ€œè®¾ç½®â€é™¤å¤–)。上游 Android 开放æºä»£ç å®žçŽ°é»˜è®¤å…许这么åšã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] 设备实现者ä¸å¾—为系统应用使用这些 Intent 模å¼çš„情况附加特殊æƒé™ï¼Œä¹Ÿä¸å¾—阻止第三方应用绑定到这些模å¼ä»¥åŠå–得对这些模å¼çš„控制æƒã€‚具体æ¥è¯´ï¼Œæ­¤é¡¹è§„定包括但ä¸é™äºŽåœç”¨â€œé€‰æ‹©å™¨â€ç•Œé¢ï¼ˆç”¨æˆ·å¯é€šè¿‡è¯¥ç•Œé¢åœ¨å¤šä¸ªå‡å¯å¤„ç†ç›¸åŒ Intent 模å¼çš„应用之间进行选择)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-3] 设备实现必须æ供一个界é¢æ¥ä¾›ç”¨æˆ·ä¿®æ”¹ Intent 的默认 Activity。
+ </p>
+ </li>
+ <li>
+ <p>
+ä¸è¿‡ï¼Œå½“默认 Activity ä¸ºæ•°æ® URI æ供更具体的属性时,设备实现å¯ä»¥ä¸ºç‰¹å®š URI 模å¼ï¼ˆä¾‹å¦‚ http://play.google.com)æ供默认 Activity。例如,与针对“http://â€çš„æµè§ˆå™¨æ ¸å¿ƒ Intent 模å¼ç›¸æ¯”ï¼ŒæŒ‡å®šæ•°æ® URI“http://www.android.comâ€çš„ Intent 过滤器模å¼æ›´ä¸ºå…·ä½“。
+ </p>
+ </li>
+ </ul>
+ <p>
+Android 还包å«å¯è®©ç¬¬ä¸‰æ–¹åº”用为æŸäº›ç±»åž‹çš„网页 URI Intent 声明æƒå¨æ€§é»˜è®¤<a href="https://developer.android.com/training/app-links">应用链接行为</a>的机制。如果此类æƒå¨å£°æ˜Žæ˜¯åœ¨æŸä¸ªåº”用的 Intent 过滤器模å¼ä¸­å®šä¹‰çš„,则设备实现:
+ </p>
+ <ul>
+ <li>[C-0-4] å¿…é¡»å°è¯•æ‰§è¡Œ<a href="https://developers.google.com/digital-asset-links">数字资产链接规范</a>(由上游 Android å¼€æºé¡¹ç›®ä¸­çš„软件包管ç†å™¨å®žçŽ°ï¼‰ä¸­å®šä¹‰çš„验è¯æ­¥éª¤ï¼Œæ¥éªŒè¯æ‰€æœ‰ Intent 过滤器。
+ </li>
+ <li>[C-0-5] 必须在应用安装期间å°è¯•éªŒè¯ Intent 过滤器,并将所有æˆåŠŸé€šè¿‡éªŒè¯çš„ URI Intent 过滤器设为其 URI 的默认应用处ç†ç¨‹åºã€‚
+ </li>
+ <li>å¯ä»¥å°†ç‰¹å®š URI Intent 过滤器设为其 URI 的默认应用处ç†ç¨‹åºï¼Œä½†å‰æ是这些过滤器æˆåŠŸé€šè¿‡éªŒè¯ï¼Œè€Œå…¶ä»–候选 URI 过滤器则未通过验è¯ã€‚如果设备实现进行了此项设置,则必须在设置èœå•ä¸­æŒ‰ URI å‘用户æ供适当的替代模å¼ã€‚
+ </li>
+ <li>必须在“设置â€ä¸­æŒ‰åº”用å‘用户æ供应用链接控制,如下所述:
+ <ul>
+ <li>[C-0-6] 用户必须能够整体替æ¢é»˜è®¤åº”用链接行为,以便应用始终开å¯ã€å§‹ç»ˆè¯¢é—®æˆ–æ°¸ä¸å¼€å¯ï¼Œè¿™å¿…é¡»åŒæ ·é€‚用于所有候选 URI Intent 过滤器。
+ </li>
+ <li>[C-0-7] 用户必须能够查看候选 URI Intent 过滤器列表。
+ </li>
+ <li>设备实现å¯ä»¥æŒ‰ Intent 过滤器æ供相应的功能,使用户能够替æ¢æˆåŠŸé€šè¿‡éªŒè¯çš„特定候选 URI Intent 过滤器。
+ </li>
+ <li>[C-0-8] 如果设备实现å…许åªæœ‰éƒ¨åˆ†ï¼ˆè€Œéžå…¨éƒ¨ï¼‰å€™é€‰ URI Intent 过滤器æˆåŠŸé€šè¿‡éªŒè¯ï¼Œåˆ™è®¾å¤‡å®žçŽ°å¿…须使用户能够查看和替æ¢ç‰¹å®šå€™é€‰ URI Intent 过滤器。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h5 id="3_2_3_3_intent_namespaces">
+3.2.3.3. Intent 命å空间
+ </h5>
+ <ul>
+ <li>[C-0-1] 设备实现ä¸å¾—包å«ä»»ä½•ç¬¦åˆä»¥ä¸‹æ¡ä»¶çš„ Android 组件:éµä»Žä»»ä½•ä½¿ç”¨ ACTIONã€CATEGORY 或使用 android. 或 com.android. 命å空间中其他键字符串的新 Intent 模å¼æˆ–广播 Intent 模å¼ã€‚<em></em>
+ </li>
+ <li>[C-0-2] 设备实现者ä¸å¾—添加任何符åˆä»¥ä¸‹æ¡ä»¶çš„ Android 组件:éµä»Žä»»ä½•ä½¿ç”¨ ACTIONã€CATEGORY 或使用属于其他组织的软件包空间中其他键字符串的新 Intent 模å¼æˆ–广播 Intent 模å¼ã€‚
+ </li>
+ <li>[C-0-3] 设备实现者ä¸å¾—更改或扩展<a href="#3_2_3_1_core_application_intents">第 3.2.3.1 节</a>中列出的核心应用使用的任何 Intent 模å¼ã€‚
+ </li>
+ <li>设备实现å¯ä»¥åŒ…å«æ‰€ç”¨å‘½å空间明显与其所属组织关è”çš„ Intent 模å¼ã€‚此项规定类似于<a href="#3_6_api_namespaces">第 3.6 节</a>中针对 Java 语言类的规定。
+ </li>
+ </ul>
+ <h5 id="3_2_3_4_broadcast_intents">
+3.2.3.4. 广播 Intent
+ </h5>
+ <p>
+第三方应用ä¾èµ–å¹³å°å¹¿æ’­æŸäº› Intent æ¥èŽ·æ‚‰ç¡¬ä»¶æˆ–软件环境中å‘生的å˜åŒ–。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须能够因应适当的系统事件广播公共广播 Intent,如 SDK 文档中所述。请注æ„,该è¦æ±‚与第 3.5 节并ä¸å†²çªï¼Œå› ä¸ºé’ˆå¯¹åŽå°åº”用的é™åˆ¶åœ¨ SDK 文档中也有相应说明。
+ </li>
+ </ul>
+ <h5 id="3_2_3_5_default_app_settings">
+3.2.3.5. 默认应用设置
+ </h5>
+ <p>
+Android 包å«å¯è®©ç”¨æˆ·è½»æ¾é€‰æ‹©é»˜è®¤åº”用(例如选择默认的主å±å¹•åº”用或短信应用)的设置。
+ </p>
+ <p>
+在适当的情况下,设备实现必须æ供类似的设置èœå•ï¼Œå¹¶ä¸Ž SDK 文档中所述的 Intent 过滤器模å¼å’Œ API 方法兼容(详è§ä¸‹æ–‡ï¼‰ã€‚
+ </p>
+ <p>
+如果设备实现报告 <code>android.software.home_screen</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须能够éµä»Ž <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_HOME_SETTINGS"><code>android.settings.HOME_SETTINGS</code></a> Intent 显示主å±å¹•çš„默认应用设置èœå•ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现报告 <code>android.hardware.telephony</code>,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-2-1] å¿…é¡»æ供一个设置èœå•ï¼Œå¹¶ä¸”该èœå•å°†è°ƒç”¨ <a href="http://developer.android.com/reference/android/provider/Telephony.Sms.Intents.html#ACTION_CHANGE_DEFAULT"><code>android.provider.Telephony.ACTION_CHANGE_DEFAULT</code></a> Intent,以显示用于更改默认短信应用的对è¯æ¡†ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-2-2] 必须能够éµä»Ž <a href="https://developer.android.com/reference/android/telecom/TelecomManager.html#ACTION_CHANGE_DEFAULT_DIALER"><code>android.telecom.action.CHANGE_DEFAULT_DIALER</code></a> Intent 显示å¯è®©ç”¨æˆ·æ›´æ”¹é»˜è®¤ç”µè¯åº”用的对è¯æ¡†ã€‚
+ </p>
+ <ul>
+ <li>必须通过用户选择的默认“电è¯â€åº”用的界é¢æ˜¾ç¤ºæ¥ç”µå’ŒåŽ»ç”µï¼Œä½†ç´§æ€¥å‘¼å«é™¤å¤–,它使用预装的“电è¯â€åº”用。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-3] 必须能够éµä»Ž <a href="https://developer.android.com/reference/android/telecom/TelecomManager.html#ACTION_CHANGE_PHONE_ACCOUNTS">android.telecom.action.CHANGE_PHONE_ACCOUNTS</a> Intent æ供相应方å¼æ¥é…置与 <a href="https://developer.android.com/reference/android/telecom/PhoneAccount.html"><code>PhoneAccounts</code></a> å…³è”çš„ <a href="https://developer.android.com/reference/android/telecom/ConnectionService.html"><code>ConnectionServices</code></a>,以åŠç”µä¿¡æœåŠ¡æ供商将用于拨出电è¯çš„默认 PhoneAccount。AOSP 实现通过在“通è¯â€è®¾ç½®èœå•ä¸­æ·»åŠ â€œé€šè¯å¸å·é€‰é¡¹â€èœå•æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </p>
+ </li>
+ </ul>
+ <p>
+如果设备实现报告 <code>android.hardware.nfc.hce</code>,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须能够éµä»Ž <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFC_PAYMENT_SETTINGS">android.settings.NFC_PAYMENT_SETTINGS</a> Intent 显示触碰付款的默认应用设置èœå•ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ <code>VoiceInteractionService</code> 并且一次安装了多个使用此 API 的应用,则:
+ </p>
+ <ul>
+ <li>[C-4-1] 必须能够éµä»Ž <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION_VOICE_INPUT_SETTINGS"><code>android.settings.ACTION_VOICE_INPUT_SETTINGS</code></a> Intent 显示语音输入和语音助ç†çš„默认应用设置èœå•ã€‚
+ </li>
+ </ul>
+ <h4 id="3_2_4_activities_on_secondary_displays">
+3.2.4. 辅助显示设备上的 Activity
+ </h4>
+ <p>
+如果设备实现å…许在辅助显示设备上å¯åŠ¨å¸¸è§„ <a href="https://developer.android.com/reference/android/app/Activity.html">Android Activity</a>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须设置 <code>android.software.activities_on_secondary_displays</code> 功能标记。
+ </li>
+ <li>[C-1-2] å¿…é¡»ä¿è¯ API 兼容性与在主è¦æ˜¾ç¤ºè®¾å¤‡ä¸Šè¿è¡Œçš„ Activity çš„ API 兼容性类似。
+ </li>
+ <li>[C-1-3] 如果æŸä¸ª Activity 在å¯åŠ¨æ–°çš„ Activity 时没有通过 <a href="https://developer.android.com/reference/android/app/ActivityOptions.html#setLaunchDisplayId%28int%29"><code>ActivityOptions.setLaunchDisplayId()</code></a> API 指定目标显示设备,则必须在å‰è€…所在的显示设备上å¯åŠ¨åŽè€…。
+ </li>
+ <li>[C-1-4] 当带有 <a href="http://developer.android.com/reference/android/view/Display.html#FLAG_PRIVATE"><code>Display.FLAG_PRIVATE</code></a> 标记的显示设备被移除åŽï¼Œå¿…须销æ¯æ‰€æœ‰ Activity。
+ </li>
+ <li>[C-1-5] 如果显示区域的大å°å‘生å˜åŒ–,则必须相应地调整 <a href="https://developer.android.com/reference/android/hardware/display/VirtualDisplay.html"><code>VirtualDisplay</code></a> 上所有 Activity 的大å°ã€‚
+ </li>
+ <li>当文字输入字段æˆä¸ºè¾…助显示设备上的焦点时,å¯ä»¥åœ¨ä¸»è¦æ˜¾ç¤ºè®¾å¤‡ä¸Šæ˜¾ç¤º IME(输入法编辑器,å¯è®©ç”¨æˆ·è¾“入文字的一ç§ç”¨æˆ·æŽ§ä»¶ï¼‰ã€‚
+ </li>
+ <li>如果支æŒè§¦æ‘¸è¾“入或按键输入,则应在独立于主è¦æ˜¾ç¤ºè®¾å¤‡çš„辅助显示设备上实现输入焦点。
+ </li>
+ <li>如果 Activity 是在辅助显示设备上å¯åŠ¨çš„,则应具有与该显示设备对应的 <a href="https://developer.android.com/reference/android/content/res/Configuration.html"><code>android.content.res.Configuration</code></a>,以便能够显示内容ã€æ­£ç¡®æ“作以åŠä¿æŒå…¼å®¹æ€§ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现å…许在辅助显示设备上å¯åŠ¨å¸¸è§„ <a href="https://developer.android.com/reference/android/app/Activity.html">Android Activity</a>,并且主è¦æ˜¾ç¤ºè®¾å¤‡å’Œè¾…助显示设备具有ä¸åŒçš„ <a href="https://developer.android.com/reference/android/util/DisplayMetrics.html">android.util.DisplayMetrics</a>,则:
+ </p>
+ <ul>
+ <li>[C-2-1] ä¸å¾—å…许在辅助显示设备上å¯åŠ¨å¤§å°ä¸å¯è°ƒæ•´çš„ Activity(<code>AndroidManifest.xml</code> 中有 <code>resizeableActivity=false</code>)以åŠé‡‡ç”¨ API 23 级或更低级别的应用。
+ </li>
+ </ul>
+ <p>
+如果设备实现å…许在辅助显示设备上å¯åŠ¨å¸¸è§„ <a href="https://developer.android.com/reference/android/app/Activity.html">Android Activity</a>,并且辅助显示设备具有 <a href="https://developer.android.com/reference/android/view/Display.html#FLAG_PRIVATE">android.view.Display.FLAG_PRIVATE</a> 标记,则:
+ </p>
+ <ul>
+ <li>[C-3-1] åªæœ‰è¯¥æ˜¾ç¤ºè®¾å¤‡çš„所有者ã€ç³»ç»Ÿä»¥åŠå·²ç»å­˜åœ¨äºŽè¯¥æ˜¾ç¤ºè®¾å¤‡ä¸Šçš„ Activity 能够在该显示设备上å¯åŠ¨ Activity。æ¯ä¸ªäººéƒ½å¯ä»¥åœ¨å…·æœ‰ <a href="https://developer.android.com/reference/android/view/Display.html#FLAG_PUBLIC">android.view.Display.FLAG_PUBLIC</a> 标记的显示设备上å¯åŠ¨ Activity。
+ </li>
+ </ul>
+ <h3 id="3_3_native_api_compatibility">
+3.3. 本机 API 兼容性
+ </h3>
+ <p>
+实现本机代ç å…¼å®¹æ€§æ˜¯ä¸€ä»¶é«˜éš¾åº¦çš„事情。因此,对于设备实现者:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议使用上游 Android å¼€æºé¡¹ç›®ä¸­çš„下列库的实现。
+ </li>
+ </ul>
+ <h4 id="3_3_1_application_binary_interfaces">
+3.3.1. 应用二进制接å£
+ </h4>
+ <p>
+å—ç®¡ç† Dalvik 字节ç å¯ä»¥è°ƒç”¨åº”用 <code>.apk</code> 文件中æ供的本机代ç ï¼Œä»¥ä¾¿ä½œä¸ºé’ˆå¯¹ç›¸åº”设备硬件架构编译的 ELF <code>.so</code> 文件。由于本机代ç é«˜åº¦ä¾èµ–底层处ç†å™¨æŠ€æœ¯ï¼Œå› æ­¤ Android 在 Android NDK ä¸­å®šä¹‰äº†ä¸€äº›åº”ç”¨äºŒè¿›åˆ¶æŽ¥å£ (ABI)。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须与一个或多个已定义的 ABI 兼容,并与 Android NDK 兼容。
+ </li>
+ <li>[C-0-2] 必须支æŒåœ¨å—管ç†çŽ¯å¢ƒä¸­è¿è¡Œçš„代ç ä½¿ç”¨æ ‡å‡† Java æœ¬æœºæŽ¥å£ (JNI) 语义调用本机代ç ã€‚
+ </li>
+ <li>[C-0-3] 必须与下方列表中æ¯ä¸ªå¿…需的库ä¿æŒæºä»£ç å…¼å®¹ï¼ˆå³æ ‡å¤´å…¼å®¹ï¼‰å’ŒäºŒè¿›åˆ¶å…¼å®¹ï¼ˆé€‚用于 ABI)。
+ </li>
+ <li>[C-0-5] 必须通过 <code>android.os.Build.SUPPORTED_ABIS</code>ã€<code>android.os.Build.SUPPORTED_32_BIT_ABIS</code> å’Œ <code>android.os.Build.SUPPORTED_64_BIT_ABIS</code> å‚数准确报告设备支æŒçš„æœ¬æœºåº”ç”¨äºŒè¿›åˆ¶æŽ¥å£ (ABI),其中æ¯ä¸ªå‚数报告的都是一个以英文逗å·åˆ†éš”çš„ ABI 列表,列表中的æ¡ç›®æŒ‰å好程度从高到低排åºã€‚
+ </li>
+ <li>
+ <p>
+[C-0-6] 必须(通过上述å‚数)报告以下 ABI 列表的å­é›†ï¼Œä¸å¾—报告列表中没有的 ABI。
+ </p>
+ <ul>
+ <li>
+ <code>armeabi</code>
+ </li>
+ <li>
+ <code>armeabi-v7a</code>
+ </li>
+ <li>
+ <code>arm64-v8a</code>
+ </li>
+ <li>
+ <code>x86</code>
+ </li>
+ <li>
+ <code>x86-64</code>
+ </li>
+ <li>
+ <p>
+[C-0-7] 必须使以下所有æ供本机 API 的库å¯ä¾›åŒ…å«æœ¬æœºä»£ç çš„应用使用:
+ </p>
+ </li>
+ <li>
+ <p>
+libaaudio.so(AAudio 本机音频支æŒï¼‰
+ </p>
+ </li>
+ <li>libandroid.so(本机 Android Activity 支æŒï¼‰
+ </li>
+ <li>libc(C 库)
+ </li>
+ <li>libcamera2ndk.so
+ </li>
+ <li>libdl(动æ€é“¾æŽ¥å™¨ï¼‰
+ </li>
+ <li>libEGL.so(本机 OpenGL 表é¢ç®¡ç†ï¼‰
+ </li>
+ <li>libGLESv1_CM.so (OpenGL ES 1.x)
+ </li>
+ <li>libGLESv2.so (OpenGL ES 2.0)
+ </li>
+ <li>libGLESv3.so (OpenGL ES 3.x)
+ </li>
+ <li>libicui18n.so
+ </li>
+ <li>libicuuc.so
+ </li>
+ <li>libjnigraphics.so
+ </li>
+ <li>liblog(Android 日志记录)
+ </li>
+ <li>libmediandk.so(本机媒体 API 支æŒï¼‰
+ </li>
+ <li>libm(数学库)
+ </li>
+ <li>libneuralnetworks.so (Neural Networks API)
+ </li>
+ <li>libOpenMAXAL.s(OpenMAX AL 1.0.1 支æŒï¼‰
+ </li>
+ <li>libOpenSLES.so(OpenSL ES 1.0.1 音频支æŒï¼‰
+ </li>
+ <li>libRS.so
+ </li>
+ <li>libstdc++ï¼ˆè‡³å°‘å¿…é¡»æ”¯æŒ C++ 中的这个库)
+ </li>
+ <li>libvulkan.so (Vulkan)
+ </li>
+ <li>libz(Zlib 压缩)
+ </li>
+ <li>JNI 接å£
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-0-8] ä¸å¾—添加或移除上述本机库的公共函数。
+ </p>
+ </li>
+ <li>[C-0-9] 必须在 <code>/vendor/etc/public.libraries.txt</code> 中列出直接æä¾›ç»™ç¬¬ä¸‰æ–¹åº”ç”¨ä½¿ç”¨çš„å…¶ä»–éž AOSP 库。
+ </li>
+ <li>[C-0-10] 在 AOSP 中作为系统库实现和æ供的任何其他本机库å‡ä¸ºä¿ç•™åº“,ä¸å¾—将其æ供给采用 API 24 级或更高级别的第三方应用使用。
+ </li>
+ <li>[C-0-11] 必须通过 <code>libGLESv3.so</code> 库导出所有 OpenGL ES 3.1 å’Œ <a href="http://developer.android.com/guide/topics/graphics/opengl.html#aep">Android Extension Pack</a> 函数符å·ï¼ˆå¦‚ NDK 中所定义)。请注æ„,所有这些符å·éƒ½å¿…须存在。第 7.1.4.1 节中更详细地介ç»äº†å…³äºŽä½•æ—¶éœ€è¦å®Œæ•´å®žçŽ°æ¯ä¸ªå¯¹åº”函数方é¢çš„è¦æ±‚。
+ </li>
+ <li>[C-0-12] 必须通过 <code>libvulkan.so</code> 库导出核心 Vulkan 1.0 函数的函数符å·ä»¥åŠ <code>VK_KHR_surface</code>ã€<code>VK_KHR_android_surface</code>ã€<code>VK_KHR_swapchain</code>ã€<code>VK_KHR_maintenance1</code> å’Œ <code>VK_KHR_get_physical_device_properties2</code> 扩展。请注æ„,所有这些符å·éƒ½å¿…须存在。第 7.1.4.2 节中更详细地介ç»äº†å…³äºŽä½•æ—¶éœ€è¦å®Œæ•´å®žçŽ°æ¯ä¸ªå¯¹åº”函数方é¢çš„è¦æ±‚。
+ </li>
+ <li>应使用上游 Android å¼€æºé¡¹ç›®ä¸­çš„æºä»£ç å’Œæ ‡å¤´æ–‡ä»¶è¿›è¡Œç¼–译。
+ </li>
+ </ul>
+ <p>
+请注æ„,未æ¥ç‰ˆæœ¬çš„ Android å¯èƒ½ä¼šæ”¯æŒæ›´å¤š ABI。
+ </p>
+ <h4 id="3_3_2_32-bit_arm_native_code_compatibility">
+3.3.2. 32 ä½ ARM 本机代ç å…¼å®¹æ€§
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æŠ¥å‘Šæ”¯æŒ <code>armeabi</code> ABI,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须还è¦æ”¯æŒ <code>armeabi-v7a</code> 并报告其支æŒæƒ…况,因为 <code>armeabi</code> 仅用于å‘åŽå…¼å®¹æ—§ç‰ˆåº”用。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æŠ¥å‘Šæ”¯æŒ <code>armeabi-v7a</code> ABI,对于使用此 ABI 的应用:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-2-1] 必须在 <code>/proc/cpuinfo</code> 中添加以下行,且ä¸åº”更改åŒä¸€è®¾å¤‡ä¸Šçš„值,å³ä½¿ç”±å…¶ä»– ABI 读å–时也是如此。
+ </p>
+ <ul>
+ <li>
+ <code>Features:</code>,åŽè·Ÿè®¾å¤‡æ”¯æŒçš„所有å¯é€‰ ARMv7 CPU 功能的列表。
+ </li>
+ <li>
+ <code>CPU architecture:</code>,åŽè·Ÿä¸€ä¸ªæ•´æ•°ï¼Œç”¨äºŽè¯´æ˜Žè®¾å¤‡æ”¯æŒçš„最高 ARM 架构(例如对于 ARMv8 设备,该整数为“8â€ï¼‰ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-2] 必须始终使以下æ“作å¯æ‰§è¡Œï¼Œå³ä½¿åœ¨ ARMv8 架构上实现 ABI(通过本机 CPU 支æŒæˆ–软件模拟)也是如此:
+ </p>
+ <ul>
+ <li>SWP 和 SWPB 指令。
+ </li>
+ <li>SETEND 指令。
+ </li>
+ <li>CP15ISBã€CP15DSB å’Œ CP15DMB å±éšœæ“作。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-3] 必须支æŒ<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html">高级 SIMD</a>(也称为 NEON)扩展。
+ </p>
+ </li>
+ </ul>
+ <h3 id="3_4_web_compatibility">
+3.4. 网页兼容性
+ </h3>
+ <h4 id="3_4_1_webview_compatibility">
+3.4.1. WebView 兼容性
+ </h4>
+ <p>
+如果设备实现æä¾› <code>android.webkit.Webview</code> API 的完整实现,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告 <code>android.software.webview</code>。
+ </li>
+ <li>[C-1-2] 必须使用 Android 9 分支上的上游 Android å¼€æºé¡¹ç›®ä¸­çš„ <a href="http://www.chromium.org/">Chromium</a> 项目细分版本æ¥å®žçŽ° <a href="http://developer.android.com/reference/android/webkit/WebView.html"><code>android.webkit.WebView</code></a> API。
+ </li>
+ <li>
+ <p>
+[C-1-3] WebView 报告的用户代ç†å­—符串必须采用以下格å¼ï¼š
+ </p>
+ <p>
+Mozilla/5.0 (Linux; Android $(VERSION); $(MODEL) Build/$(BUILD); wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 $(CHROMIUM_VER) Mobile Safari/537.36
+ </p>
+ <ul>
+ <li>$(VERSION) 字符串的值必须与 android.os.Build.VERSION.RELEASE 的值相åŒã€‚
+ </li>
+ <li>$(MODEL) 字符串的值必须与 android.os.Build.MODEL 的值相åŒã€‚
+ </li>
+ <li>$(BUILD) 字符串的值必须与 android.os.Build.ID 的值相åŒã€‚
+ </li>
+ <li>$(CHROMIUM_VER) 字符串的值必须是上游 Android å¼€æºé¡¹ç›®ä¸­çš„ Chromium 的版本。
+ </li>
+ <li>设备实现å¯ä»¥åœ¨ç”¨æˆ·ä»£ç†å­—符串中çœç•¥ Mobile。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+WebView 组件应支æŒå°½å¯èƒ½å¤šçš„ HTML5 功能;如果它支æŒæ­¤ç±»åŠŸèƒ½ï¼Œåˆ™åº”ç¬¦åˆ <a href="http://html.spec.whatwg.org/multipage/">HTML5 规范</a>。
+ </p>
+ </li>
+ </ul>
+ <h4 id="3_4_2_browser_compatibility">
+3.4.2. æµè§ˆå™¨å…¼å®¹æ€§
+ </h4>
+ <p>
+如果设备实现包å«ç‹¬ç«‹çš„æµè§ˆå™¨åº”用,以供用户进行一般的网页æµè§ˆï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒä»¥ä¸‹ä¸Ž HTML5 相关è”çš„æ¯ä¸ª API:
+ <ul>
+ <li>
+ <a href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#offline">应用缓存/离线æ“作</a>
+ </li>
+ <li>
+ <a href="http://www.w3.org/html/wg/drafts/html/master/semantics.html#video">&lt;video&gt; 标记</a>
+ </li>
+ <li>
+ <a href="http://www.w3.org/TR/geolocation-API/">geolocation</a>
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-2] å¿…é¡»æ”¯æŒ HTML5/W3C <a href="http://www.w3.org/TR/webstorage/">webstorage API</a>ï¼Œå¹¶ä¸”åº”æ”¯æŒ HTML5/W3C <a href="http://www.w3.org/TR/IndexedDB/">IndexedDB API</a>。请注æ„,éšç€ç½‘页开å‘标准制定机构é€æ¸è½¬å˜ä¸ºé’ç IndexedDB 胜过 webstorage,IndexedDB 预计在未æ¥ç‰ˆæœ¬çš„ Android 中会æˆä¸ºå¿…需的组件。
+ </li>
+ <li>å¯ä»¥åœ¨ç‹¬ç«‹çš„æµè§ˆå™¨åº”用中附带自定义用户代ç†å­—符串。
+ </li>
+ <li>应在独立的æµè§ˆå™¨åº”用(无论是基于上游 WebKit æµè§ˆå™¨åº”用,还是基于第三方替代应用)中支æŒå°½å¯èƒ½å¤šçš„ <a href="http://html.spec.whatwg.org/multipage/">HTML5</a> 功能。
+ </li>
+ </ul>
+ <p>
+ä¸è¿‡ï¼Œå¦‚果设备实现ä¸åŒ…å«ç‹¬ç«‹çš„æµè§ˆå™¨åº”用,则:
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»ä»æ”¯æŒ<a href="#3_2_3_1_core_application_intents">第 3.2.3.1 节</a>中所述的公共 Intent 模å¼ã€‚
+ </li>
+ </ul>
+ <h3 id="3_5_api_behavioral_compatibility">
+3.5. API 行为兼容性
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-9] 必须确ä¿å°† API 行为兼容性应用于所有已安装的应用,除éžåº”用å—到é™åˆ¶ï¼ˆå¦‚<a href="#3_5_1-background-restriction">第 3.5.1 节</a>中所述)。
+ </li>
+ <li>[C-0-10] ä¸å¾—å®žçŽ°ç¡®ä¿ API 行为兼容性仅用于设备实现者所选应用的白åå•æ–¹æ³•ã€‚
+ </li>
+ </ul>
+ <p>
+æ¯ç§ API 类型(å—ç®¡ç† APIã€è½¯ APIã€æœ¬æœº API 和网页 API)的行为都必须与上游 <a href="http://source.android.com/">Android å¼€æºé¡¹ç›®</a>的首选实现一致。兼容性的一些具体方é¢å¦‚下:
+ </p>
+ <ul>
+ <li>[C-0-1] 设备ä¸å¾—更改标准 Intent 的行为或语义。
+ </li>
+ <li>[C-0-2] 设备ä¸å¾—更改特定类型的系统组件(例如 Serviceã€Activityã€ContentProvider 等)的生命周期或生命周期语义。
+ </li>
+ <li>[C-0-3] 设备ä¸å¾—更改标准æƒé™çš„语义。
+ </li>
+ <li>设备ä¸å¾—更改对åŽå°åº”用实施的é™åˆ¶ã€‚更具体地说,对于åŽå°åº”用:
+ <ul>
+ <li>[C-0-4] 设备必须åœæ­¢æ‰§è¡Œåº”用为接收 <a href="https://developer.android.com/reference/android/location/GnssMeasurement.html"><code>GnssMeasurement</code></a> å’Œ <a href="https://developer.android.com/reference/android/location/GnssNavigationMessage.html"><code>GnssNavigationMessage</code></a> 的输出而注册的回调。
+ </li>
+ <li>[C-0-5] 设备必须通过 <a href="https://developer.android.com/reference/android/location/LocationManager.html"><code>LocationManager</code></a> API 或 <a href="https://developer.android.com/reference/android/net/wifi/WifiManager.html#startScan%28%29"><code>WifiManager.startScan()</code></a> 方法é™åˆ¶ä¸ºåº”用æ供更新的频率。
+ </li>
+ <li>[C-0-6] 如果应用采用 API 25 级或更高级别,则设备ä¸å¾—å…许在应用清å•ä¸­æ³¨å†Œå¹¿æ’­æŽ¥æ”¶å™¨æ¥æŽ¥æ”¶æ ‡å‡† Android Intent çš„éšå¼å¹¿æ’­ï¼Œé™¤éžå¹¿æ’­ Intent è¦æ±‚ <code>"signature"</code> 或 <code>"signatureOrSystem"</code> <a href="https://developer.android.com/guide/topics/manifest/permission-element.html#plevel"><code>protectionLevel</code></a> æƒé™ï¼Œæˆ–ä½äºŽ<a href="https://developer.android.com/preview/features/background-broadcasts.html">è±å…列表</a>中。
+ </li>
+ <li>[C-0-7] 如果应用采用 API 25 级或更高级别,则设备必须åœæ­¢åº”用的åŽå°æœåŠ¡ï¼Œå°±åƒåº”用已调用这些æœåŠ¡çš„ <a href="https://developer.android.com/reference/android/app/Service.html#stopSelf%28%29"><code>stopSelf()</code></a> 方法一样,除éžåº”用被列入临时白åå•ä¸­ï¼Œä»¥ä¾¿å¤„ç†æŸé¡¹ç”¨æˆ·å¯è§çš„任务。
+ </li>
+ <li>[C-0-8] 如果应用采用 API 25 级或更高级别,则设备必须解除应用的唤醒é”定。
+ </li>
+ </ul>
+ </li>
+ <li>[C-0-9] 设备必须将以下安全æ供程åºè¿”回为 <a href="https://developer.android.com/reference/java/security/Security.html#getProviders%28%29"><code>Security.getProviders()</code></a> æ–¹æ³•çš„å‰ 7 个数组值,按指定顺åºæŽ’列且使用指定å称(由 <a href="https://developer.android.com/reference/java/security/Provider.html#getName%28%29"><code>Provider.getName()</code></a> 返回)和类,除éžåº”用已通过 <a href="https://developer.android.com/reference/java/security/Security.html#insertProviderAt%28java.security.Provider,%2520int%29"><code>insertProviderAt()</code></a> 或 <a href="https://developer.android.com/reference/java/security/Security.html#removeProvider%28java.lang.String%29"><code>removeProvider()</code></a> 修改了列表。设备å¯ä»¥åœ¨ä»¥ä¸‹æŒ‡å®šçš„æ供程åºåˆ—表之åŽè¿”回其他æ供程åºã€‚
+ <ol>
+ <li>
+ <strong>AndroidNSSP</strong> - <code>android.security.net.config.NetworkSecurityConfigProvider</code>
+ </li>
+ <li>
+ <strong>AndroidOpenSSL</strong> - <code>com.android.org.conscrypt.OpenSSLProvider</code>
+ </li>
+ <li>
+ <strong>CertPathProvider</strong> - <code>sun.security.provider.CertPathProvider</code>
+ </li>
+ <li>
+ <strong>AndroidKeyStoreBCWorkaround</strong> - <code>android.security.keystore.AndroidKeyStoreBCWorkaroundProvider</code>
+ </li>
+ <li>
+ <strong>BC</strong> - <code>com.android.org.bouncycastle.jce.provider.BouncyCastleProvider</code>
+ </li>
+ <li>
+ <strong>HarmonyJSSE</strong> - <code>com.android.org.conscrypt.JSSEProvider</code>
+ </li>
+ <li>
+ <strong>AndroidKeyStore</strong> - <code>android.security.keystore.AndroidKeyStoreProvider</code>
+ </li>
+ </ol>
+ </li>
+ </ul>
+ <p>
+上述列表并ä¸è¯¦å°½ã€‚兼容性测试套件 (CTS) 会对平å°çš„é‡è¦éƒ¨åˆ†è¿›è¡Œè¡Œä¸ºå…¼å®¹æ€§æµ‹è¯•ï¼Œä½†ä¸ä¼šå¯¹æ‰€æœ‰éƒ¨åˆ†è¿›è¡Œæµ‹è¯•ã€‚实现者需负责确ä¿ä¸Ž Android å¼€æºé¡¹ç›®ä¿æŒè¡Œä¸ºå…¼å®¹ã€‚为此,设备实现者应尽å¯èƒ½ä½¿ç”¨é€šè¿‡ Android å¼€æºé¡¹ç›®èŽ·å¾—çš„æºä»£ç ï¼Œè€Œä¸æ˜¯é‡æ–°å®žçŽ°ç³»ç»Ÿçš„é‡è¦éƒ¨åˆ†ã€‚
+ </p>
+ <h3 id="3_5_1_background_restriction">
+3.5.1. åŽå°é™åˆ¶
+ </h3>
+ <p>
+如果设备实现已实现 AOSP 中包å«çš„应用é™åˆ¶æˆ–扩展应用é™åˆ¶ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å—é™åº”用列表。
+ </li>
+ <li>[C-1-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨/åœç”¨å¯¹æ¯ä¸ªåº”用的é™åˆ¶ã€‚
+ </li>
+ <li>[C-1-3] 在没有系统è¿è¡ŒçŠ¶å†µä¸ä½³çš„è¯æ®çš„情况下,ä¸å¾—自动应用é™åˆ¶ï¼Œä½†å¯ä»¥åœ¨æ£€æµ‹åˆ°ç³»ç»Ÿè¿è¡ŒçŠ¶å†µä¸ä½³ï¼ˆä¾‹å¦‚唤醒é”å¡ä½ã€æœåŠ¡é•¿æ—¶é—´è¿è¡Œï¼‰æ—¶ä»¥åŠæ ¹æ®å…¶ä»–标准应用é™åˆ¶ã€‚å¯ä»¥ç”±è®¾å¤‡å®žçŽ°è€…制定标准,但标准必须与应用对系统è¿è¡ŒçŠ¶å†µçš„å½±å“相关。ä¸å¾—将其他ä¸å®Œå…¨ä¸Žç³»ç»Ÿè¿è¡ŒçŠ¶å†µç›¸å…³çš„标准(例如应用在市场中ä¸å—欢迎)用作标准。
+ </li>
+ <li>[C-1-4] ä¸å¾—在用户已手动åœç”¨åº”用é™åˆ¶æ—¶è‡ªåŠ¨åº”用é™åˆ¶ï¼Œä½†å¯ä»¥å»ºè®®ç”¨æˆ·åº”用é™åˆ¶ã€‚
+ </li>
+ <li>[C-1-5] 如果已自动应用é™åˆ¶ï¼Œåˆ™å¿…须通知用户。
+ </li>
+ <li>[C-1-6] 必须在å—é™åº”用调用 <a href="https://developer.android.com/reference/android/app/ActivityManager.html#isBackgroundRestricted%28%29"><code>ActivityManager.isBackgroundRestricted()</code></a> API 时对其返回 <code>true</code>。
+ </li>
+ <li>[C-1-7] ä¸å¾—é™åˆ¶ç”¨æˆ·æ˜¾å¼ä½¿ç”¨çš„热门å‰å°åº”用。
+ </li>
+ <li>[C-1-8] 在用户开始显å¼ä½¿ç”¨è¿‡åŽ»å—é™çš„应用时,必须暂åœå¯¹æˆä¸ºçƒ­é—¨å‰å°åº”用的应用的é™åˆ¶ã€‚
+ </li>
+ <li>[C-1-9] 必须通过 <a href="https://developer.android.com/reference/android/app/usage/UsageStats"><code>UsageStats</code></a> 报告所有应用é™åˆ¶äº‹ä»¶ã€‚如果设备实现扩展了 AOSP 中实现的应用é™åˆ¶ï¼Œåˆ™å¿…é¡»éµå¾ª<a href="https://source.android.com/devices/tech/power/app_mgmt.html">此文档</a>中所述的实现方å¼ã€‚
+ </li>
+ </ul>
+ <h3 id="3_6_api_namespaces">
+3.6. API 命å空间
+ </h3>
+ <p>
+Android éµå¾ª Java 编程语言定义的软件包和类命å空间惯例。为了确ä¿ä¸Žç¬¬ä¸‰æ–¹åº”用兼容,设备实现者ä¸å¾—对以下软件包命å空间进行任何ç¦æ­¢çš„修改(è§ä¸‹æ–‡ï¼‰ï¼š
+ </p>
+ <ul>
+ <li>
+ <code>java.*</code>
+ </li>
+ <li>
+ <code>javax.*</code>
+ </li>
+ <li>
+ <code>sun.*</code>
+ </li>
+ <li>
+ <code>android.*</code>
+ </li>
+ <li>
+ <code>androidx.*</code>
+ </li>
+ <li>
+ <code>com.android.*</code>
+ </li>
+ </ul>
+ <p>
+也就是说,他们:
+ </p>
+ <ul>
+ <li>[C-0-1] ä¸å¾—通过更改任何方法或类签å或者通过移除类或类字段æ¥ä¿®æ”¹ Android å¹³å°ä¸Šçš„已公开 API。
+ </li>
+ <li>[C-0-2] ä¸å¾—å‘上述命å空间中的 API 添加任何已公开元素(例如类或接å£ï¼Œæˆ–现有类或接å£çš„字段或方法)ã€æµ‹è¯• API 或系统 API。“已公开元素â€æ˜¯æŒ‡åœ¨ä¸Šæ¸¸ Android æºä»£ç ä¸­ä½¿ç”¨æ—¶ä¸å¸¦â€œ@hideâ€æ ‡è®°çš„任何构造。
+ </li>
+ </ul>
+ <p>
+设备实现者å¯ä»¥ä¿®æ”¹ API 的底层实现,但此类修改:
+ </p>
+ <ul>
+ <li>[C-0-3] ä¸å¾—å½±å“任何已公开 API 的既定行为和 Java 语言签å。
+ </li>
+ <li>[C-0-4] ä¸å¾—å‘å¼€å‘者通告或以其他方å¼å‘å¼€å‘者公开这些修改。
+ </li>
+ </ul>
+ <p>
+ä¸è¿‡ï¼Œè®¾å¤‡å®žçŽ°è€…å¯ä»¥åœ¨æ ‡å‡† Android 命å空间以外添加自定义 API,但这些自定义 API:
+ </p>
+ <ul>
+ <li>[C-0-5] ä¸å¾—ä½äºŽå½’其他组织所有或æåŠå…¶ä»–组织的命å空间内。例如,设备实现者ä¸å¾—å‘ <code>com.google.*</code> 或类似命å空间内添加 API:åªæœ‰ Google å¯ä»¥åœ¨æ­¤ç±»å‘½å空间内添加 API。åŒæ ·ï¼ŒGoogle 也ä¸å¾—å‘其他公å¸çš„命å空间内添加 API。
+ </li>
+ <li>[C-0-6] 必须打包到 Android 共享库中,以便åªæœ‰æ˜Žç¡®ä½¿ç”¨å®ƒä»¬çš„应用(通过 &lt;uses-library&gt; 机制)会å—到此类 API 内存使用é‡å¢žåŠ çš„å½±å“。
+ </li>
+ </ul>
+ <p>
+如果设备实现者æ议改善上述æŸä¸ªè½¯ä»¶åŒ…命å空间(例如通过å‘现有 API 添加实用的新功能,或通过添加新的 API),则实现者应访问 <a href="http://source.android.com/">source.android.com</a>,并按照该网站上的信æ¯å¼€å§‹æ‰§è¡Œè´¡çŒ®æ›´æ”¹å’Œä»£ç éœ€è¦éµå¾ªçš„æµç¨‹ã€‚
+ </p>
+ <p>
+请注æ„,上述é™åˆ¶å¯¹åº”于 Java 编程语言中命å API 的标准惯例;本节åªæ˜¯ä¸ºäº†å¼ºè°ƒè¿™äº›æƒ¯ä¾‹ï¼Œå¹¶é€šè¿‡å°†å…¶çº³å…¥æœ¬å…¼å®¹æ€§å®šä¹‰æ¥ä½¿å…¶å…·æœ‰çº¦æŸåŠ›ã€‚
+ </p>
+ <h3 id="3_7_runtime_compatibility">
+3.7. è¿è¡Œæ—¶å…¼å®¹æ€§
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须支æŒå®Œæ•´çš„ Dalvik å¯æ‰§è¡Œæ–‡ä»¶ (DEX) æ ¼å¼ä»¥åŠ <a href="https://android.googlesource.com/platform/dalvik/">Dalvik 字节ç è§„范和语义</a>。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] 必须将 Dalvik è¿è¡Œæ—¶é…置为根æ®ä¸Šæ¸¸ Android å¹³å°æ¥åˆ†é…内存,如下表所示。(有关å±å¹•å°ºå¯¸å’Œå±å¹•å¯†åº¦å®šä¹‰ï¼Œè¯·å‚阅<a href="#7_1_1_screen_configuration">第 7.1.1 节</a>。)
+ </p>
+ </li>
+ <li>
+ <p>
+应使用 Android è¿è¡Œæ—¶ (ART)ã€Dalvik å¯æ‰§è¡Œæ–‡ä»¶æ ¼å¼çš„å‚考上游实现,以åŠè¯¥å‚考实现的软件包管ç†ç³»ç»Ÿã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+应在执行和定ä½æž¶æž„的多ç§æ¨¡å¼ä¸‹è¿è¡Œæ¨¡ç³Šæµ‹è¯•ï¼Œä»¥ç¡®ä¿è¿è¡Œæ—¶çš„稳定性。请å‚阅 Android å¼€æºé¡¹ç›®ç½‘站上的 <a href="https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/">JFuzz</a> å’Œ <a href="https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/">DexFuzz</a>。
+ </p>
+ </li>
+ </ul>
+ <p>
+请注æ„,下é¢æŒ‡å®šçš„内存值被视为最å°å€¼ï¼Œè®¾å¤‡å®žçŽ°å¯ä»¥ä¸ºæ¯ä¸ªåº”用分é…更多内存。
+ </p>
+ <table>
+ <tbody><tr>
+ <th>
+å±å¹•å¸ƒå±€
+ </th>
+ <th>
+å±å¹•å¯†åº¦
+ </th>
+ <th>
+最å°åº”用内存
+ </th>
+ </tr>
+ <tr>
+ <td rowspan="12">
+Android Watch
+ </td>
+ <td>
+120 dpi (ldpi)
+ </td>
+ <td rowspan="3">
+32MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+160 dpi (mdpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+213 dpi (tvdpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+240 dpi (hdpi)
+ </td>
+ <td rowspan="2">
+36MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+280 dpi (280dpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+320 dpi (xhdpi)
+ </td>
+ <td rowspan="2">
+48MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+360 dpi (360dpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+400 dpi (400dpi)
+ </td>
+ <td>
+56MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+420 dpi (420dpi)
+ </td>
+ <td>
+64MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+480 dpi (xxhdpi)
+ </td>
+ <td>
+88MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+560 dpi (560dpi)
+ </td>
+ <td>
+112MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+640 dpi (xxxhdpi)
+ </td>
+ <td>
+154MB
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="12">
+å°/普通
+ </td>
+ <td>
+120 dpi (ldpi)
+ </td>
+ <td rowspan="2">
+32MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+160 dpi (mdpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+213 dpi (tvdpi)
+ </td>
+ <td rowspan="3">
+48MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+240 dpi (hdpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+280 dpi (280dpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+320 dpi (xhdpi)
+ </td>
+ <td rowspan="2">
+80MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+360 dpi (360dpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+400 dpi (400dpi)
+ </td>
+ <td>
+96MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+420 dpi (420dpi)
+ </td>
+ <td>
+112MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+480 dpi (xxhdpi)
+ </td>
+ <td>
+128MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+560 dpi (560dpi)
+ </td>
+ <td>
+192MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+640 dpi (xxxhdpi)
+ </td>
+ <td>
+256MB
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="12">
+大
+ </td>
+ <td>
+120 dpi (ldpi)
+ </td>
+ <td>
+32MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+160 dpi (mdpi)
+ </td>
+ <td>
+48MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+213 dpi (tvdpi)
+ </td>
+ <td rowspan="2">
+80MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+240 dpi (hdpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+280 dpi (280dpi)
+ </td>
+ <td>
+96MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+320 dpi (xhdpi)
+ </td>
+ <td>
+128MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+360 dpi (360dpi)
+ </td>
+ <td>
+160MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+400 dpi (400dpi)
+ </td>
+ <td>
+192MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+420 dpi (420dpi)
+ </td>
+ <td>
+228MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+480 dpi (xxhdpi)
+ </td>
+ <td>
+256MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+560 dpi (560dpi)
+ </td>
+ <td>
+384MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+640 dpi (xxxhdpi)
+ </td>
+ <td>
+512MB
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="12">
+超大
+ </td>
+ <td>
+120 dpi (ldpi)
+ </td>
+ <td>
+48MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+160 dpi (mdpi)
+ </td>
+ <td>
+80MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+213 dpi (tvdpi)
+ </td>
+ <td rowspan="2">
+96MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+240 dpi (hdpi)
+ </td>
+ </tr>
+ <tr>
+ <td>
+280 dpi (280dpi)
+ </td>
+ <td>
+144MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+320 dpi (xhdpi)
+ </td>
+ <td>
+192MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+360 dpi (360dpi)
+ </td>
+ <td>
+240MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+400 dpi (400dpi)
+ </td>
+ <td>
+288MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+420 dpi (420dpi)
+ </td>
+ <td>
+336MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+480 dpi (xxhdpi)
+ </td>
+ <td>
+384MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+560 dpi (560dpi)
+ </td>
+ <td>
+576MB
+ </td>
+ </tr>
+ <tr>
+ <td>
+640 dpi (xxxhdpi)
+ </td>
+ <td>
+768MB
+ </td>
+ </tr>
+ </tbody></table>
+ <h3 id="3_8_user_interface_compatibility">
+3.8. ç•Œé¢å…¼å®¹æ€§
+ </h3>
+ <h4 id="3_8_1_launcher_(home_screen)">
+3.8.1. å¯åŠ¨å™¨ï¼ˆä¸»å±å¹•ï¼‰
+ </h4>
+ <p>
+Android 包å«ä¸€ä¸ªå¯åŠ¨å™¨åº”用(主å±å¹•ï¼‰ï¼Œå¹¶ä¸”支æŒç¬¬ä¸‰æ–¹åº”用更æ¢è®¾å¤‡å¯åŠ¨å™¨ï¼ˆä¸»å±å¹•ï¼‰ã€‚
+ </p>
+ <p>
+如果设备实现å…许第三方应用更æ¢è®¾å¤‡ä¸»å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明平å°åŠŸèƒ½ <code>android.software.home_screen</code>。
+ </li>
+ <li>[C-1-2] 如果第三方应用使用 <code>&lt;adaptive-icon&gt;</code> 标记æ供其图标,那么当用于检索图标的 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html"><code>PackageManager</code></a> 方法被调用时,必须返回 <a href="https://developer.android.com/reference/android/graphics/drawable/AdaptiveIconDrawable.html"><code>AdaptiveIconDrawable</code></a> 对象。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æ”¯æŒåº”用内固定快æ·æ–¹å¼çš„默认å¯åŠ¨å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须针对 <a href="https://developer.android.com/reference/android/content/pm/ShortcutManager.html#isRequestPinShortcutSupported%28%29"><code>ShortcutManager.isRequestPinShortcutSupported()</code></a> 报告 <code>true</code>。
+ </li>
+ <li>[C-2-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œåœ¨æ·»åŠ åº”用通过 <a href="https://developer.android.com/reference/android/content/pm/ShortcutManager.html#requestPinShortcut%28android.content.pm.ShortcutInfo,%20android.content.IntentSender%29"><code>ShortcutManager.requestPinShortcut()</code></a> API 方法请求的快æ·æ–¹å¼ä¹‹å‰å…ˆè¯¢é—®ç”¨æˆ·ã€‚
+ </li>
+ <li>[C-2-3] 必须支æŒå·²å›ºå®šçš„å¿«æ·æ–¹å¼ä»¥åŠåŠ¨æ€å’Œé™æ€å¿«æ·æ–¹å¼ï¼Œå¦‚<a href="https://developer.android.com/guide/topics/ui/shortcuts.html">“应用快æ·æ–¹å¼â€é¡µé¢</a>上所述。
+ </li>
+ </ul>
+ <p>
+å之,如果设备实现ä¸æ”¯æŒåº”用内固定快æ·æ–¹å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 必须针对 <a href="https://developer.android.com/reference/android/content/pm/ShortcutManager.html#isRequestPinShortcutSupported%28%29"><code>ShortcutManager.isRequestPinShortcutSupported()</code></a> 报告 <code>false</code>。
+ </li>
+ </ul>
+ <p>
+如果设备实现已实现一个å¯è®©ç”¨æˆ·å¿«é€Ÿè®¿é—®ç¬¬ä¸‰æ–¹åº”用通过 <a href="https://developer.android.com/reference/android/content/pm/ShortcutManager.html">ShortcutManager</a> API æ供的其他快æ·æ–¹å¼çš„默认å¯åŠ¨å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-4-1] 必须支æŒè½½è¿°çš„所有快æ·æ–¹å¼åŠŸèƒ½ï¼ˆä¾‹å¦‚é™æ€å’ŒåŠ¨æ€å¿«æ·æ–¹å¼ã€å›ºå®šå¿«æ·æ–¹å¼ï¼‰ï¼Œå¹¶å®Œæ•´å®žçŽ° <a href="https://developer.android.com/reference/android/content/pm/ShortcutManager.html"><code>ShortcutManager</code></a> API 类的 API。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«ä¼šä¸ºåº”用图标显示标记的默认å¯åŠ¨å™¨åº”用,则:
+ </p>
+ <ul>
+ <li>[C-5-1] å¿…é¡»éµä»Ž <a href="https://developer.android.com/reference/android/app/NotificationChannel.html#setShowBadge%28boolean%29"><code>NotificationChannel.setShowBadge()</code></a> API 方法。也就是说,如果相应值被设为 <code>true</code>,则显示与应用图标关è”çš„å¯è§æ ‡è®°ï¼›å¦‚果应用的所有通知渠é“å‡å°†ç›¸åº”值设为 <code>false</code>,则ä¸æ˜¾ç¤ºä»»ä½•åº”用图标标记方案。
+ </li>
+ <li>如果第三方应用指明通过使用专有 API 支æŒä¸“有标记方案,则å¯ä»¥ä½¿ç”¨ä¸“有标记方案替æ¢åº”用图标标记,但应使用通过 <a href="https://developer.android.com/preview/features/notification-badges.html">SDK</a> 中所述的通知标记 API(例如 <a href="http://developer.android.com/reference/android/app/Notification.Builder.html#setNumber%28int%29"><code>Notification.Builder.setNumber()</code></a> å’Œ <a href="http://developer.android.com/reference/android/app/Notification.Builder.html#setBadgeIconType%28int%29"><code>Notification.Builder.setBadgeIconType()</code></a> API)æ供的资æºå’Œå€¼ã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_2_widgets">
+3.8.2. 微件
+ </h4>
+ <p>
+Android 定义了一ç§ç»„件类型以åŠå¯¹åº”çš„ API 和生命周期æ¥ä¾›åº”用å‘最终用户æä¾›<a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">应用微件</a>,因此 Android 支æŒç¬¬ä¸‰æ–¹åº”用微件。
+ </p>
+ <p>
+如果设备实现支æŒç¬¬ä¸‰æ–¹åº”用微件,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明支æŒå¹³å°åŠŸèƒ½ <code>android.software.app_widgets</code>。
+ </li>
+ <li>[C-1-2] 必须包å«å¯¹åº”用微件的内置支æŒï¼Œå¹¶æ供用于直接在å¯åŠ¨å™¨ä¸­æ·»åŠ ã€é…ç½®ã€æŸ¥çœ‹å’Œç§»é™¤åº”用微件的界é¢æ–¹å¼ã€‚
+ </li>
+ <li>[C-1-3] 必须能够呈现大å°ä¸º 4 x 4(标准网格大å°ï¼‰çš„微件。有关详细信æ¯ï¼Œè¯·å‚阅 Android SDK 文档中的<a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">应用微件设计指å—</a>。
+ </li>
+ <li>å¯ä»¥æ”¯æŒä½äºŽé”定å±å¹•ä¸Šçš„应用微件。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒç¬¬ä¸‰æ–¹åº”用微件和应用内固定快æ·æ–¹å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须针对 <a href="https://developer.android.com/reference/android/appwidget/AppWidgetManager.html#isRequestPinAppWidgetSupported%28%29"><code>AppWidgetManager.html.isRequestPinAppWidgetSupported()</code></a> 报告 <code>true</code>。
+ </li>
+ <li>[C-2-2] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œåœ¨æ·»åŠ åº”用通过 <a href="https://developer.android.com/reference/android/appwidget/AppWidgetManager.html#requestPinAppWidget%28android.content.ComponentName,android.os.Bundle,%20android.app.PendingIntent%29"><code>AppWidgetManager.requestPinAppWidget()</code></a> API 方法请求的快æ·æ–¹å¼ä¹‹å‰å…ˆè¯¢é—®ç”¨æˆ·ã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_3_notifications">
+3.8.3. 通知
+ </h4>
+ <p>
+Android åŒ…å« <a href="https://developer.android.com/reference/android/app/Notification.html"><code>Notification</code></a> å’Œ <a href="https://developer.android.com/reference/android/app/NotificationManager.html"><code>NotificationManager</code></a> API,以便第三方应用开å‘者使用设备的硬件组件(例如声音ã€æŒ¯åŠ¨å’ŒæŒ‡ç¤ºç¯ç»„件)和软件功能(例如通知æ ã€ç³»ç»Ÿæ ï¼‰å‘用户通知é‡è¦äº‹ä»¶ä»¥åŠå¸å¼•ç”¨æˆ·çš„注æ„力。
+ </p>
+ <h5 id="3_8_3_1_presentation_of_notifications">
+3.8.3.1. 通知的呈现方å¼
+ </h5>
+ <p>
+如果设备实现å…许第三方应用<a href="http://developer.android.com/guide/topics/ui/notifiers/notifications.html">å‘用户通知é‡è¦äº‹ä»¶</a>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒä½¿ç”¨ç¡¬ä»¶åŠŸèƒ½çš„通知(如 SDK 文档中所述),并尽å¯èƒ½æ供相关的设备硬件。例如,如果设备实现包å«æŒ¯åŠ¨å™¨ï¼Œåˆ™å¿…须正确实现振动 API。如果设备实现缺少硬件,则必须将对应 API 实现为空æ“作。<a href="#7_hardware_compatibility">第 7 节</a>中对此行为进行了进一步的详细说明。
+ </li>
+ <li>[C-1-2] 必须正确呈现 API 或状æ€æ /系统æ <a href="http://developer.android.com/design/style/iconography.html">图标样å¼æŒ‡å—</a>中æ供的所有<a href="https://developer.android.com/guide/topics/resources/available-resources.html">资æº</a>(图标ã€åŠ¨ç”»æ–‡ä»¶ç­‰ï¼‰ï¼Œä¸è¿‡ï¼Œå®ƒä»¬å¯ä»¥é’ˆå¯¹é€šçŸ¥æ供替代用户体验,而ä¸ä½¿ç”¨å‚考 Android 开放æºä»£ç å®žçŽ°æ‰€æ供的体验。
+ </li>
+ <li>[C-1-3] å¿…é¡»éµä»Žå¹¶æ­£ç¡®å®žçŽ°ä¸º <a href="https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Managing">API</a> æ述的行为,以便更新ã€ç§»é™¤é€šçŸ¥ä»¥åŠå¯¹é€šçŸ¥è¿›è¡Œåˆ†ç»„。
+ </li>
+ <li>[C-1-4] å¿…é¡»æä¾› SDK 中载述的 <a href="https://developer.android.com/reference/android/app/NotificationChannel.html">NotificationChannel</a> API 的完整行为。
+ </li>
+ <li>[C-1-5] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŒ‰æ¯ä¸ªæ¸ é“和应用包级别å±è”½å’Œä¿®æ”¹ç‰¹å®šç¬¬ä¸‰æ–¹åº”用的通知。
+ </li>
+ <li>[C-1-6] 还必须æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å·²åˆ é™¤çš„通知渠é“。
+ </li>
+ <li>[C-1-7] 必须在无需用户é¢å¤–互动的情况下正确呈现通过 <a href="https://developer.android.com/reference/android/app/Notification.MessagingStyle">Notification.MessagingStyle</a> æ供的所有资æºï¼ˆå›¾ç‰‡ã€è´´çº¸ã€å›¾æ ‡ç­‰ï¼‰ä»¥åŠé€šçŸ¥æ–‡æœ¬ã€‚例如,必须显示所有资æºï¼ŒåŒ…括在通过 <a href="https://developer.android.com/reference/android/app/Notification.MessagingStyle.html?hl=es-AR#setGroupConversation%28boolean%29">setGroupConversation</a> 设置的群组对è¯ä¸­é€šè¿‡ <a href="https://developer.android.com/reference/android/app/Person">android.app.Person</a> æ供的图标。
+ </li>
+ <li>[C-SR] 强烈建议自动æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿåœ¨å¤šæ¬¡å¿½ç•¥ç‰¹å®šç¬¬ä¸‰æ–¹åº”用的通知åŽæŒ‰æ¯ä¸ªæ¸ é“和应用包级别å±è”½è¯¥é€šçŸ¥ã€‚
+ </li>
+ <li>应支æŒå†…容丰富的通知。
+ </li>
+ <li>应以æ醒å¼é€šçŸ¥çš„å½¢å¼æ˜¾ç¤ºæŸäº›ä¼˜å…ˆçº§è¾ƒé«˜çš„通知。
+ </li>
+ <li>应具有å¯è®©ç”¨æˆ·æš‚åœé€šçŸ¥çš„æ–¹å¼ã€‚
+ </li>
+ <li>åªèƒ½ç®¡ç†æ˜¯å¦ä»¥åŠä½•æ—¶æ˜¾ç¤ºç¬¬ä¸‰æ–¹åº”用针对é‡è¦äº‹ä»¶å‘用户å‘出的通知,以é¿å…安全问题(例如分散驾驶员的注æ„力)。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå†…容丰富的通知,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 对于呈现的资æºå…ƒç´ ï¼Œå¿…须使用通过 <a href="https://developer.android.com/reference/android/app/Notification.Style.html"><code>Notification.Style</code></a> API ç±»åŠå…¶å­ç±»æ供的确切资æºã€‚
+ </li>
+ <li>应呈现 <a href="https://developer.android.com/reference/android/app/Notification.Style.html"><code>Notification.Style</code></a> API ç±»åŠå…¶å­ç±»ä¸­å®šä¹‰çš„æ¯ä¸ªèµ„æºå…ƒç´ ï¼ˆä¾‹å¦‚图标ã€æ ‡é¢˜å’Œæ‘˜è¦æ–‡æœ¬ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒæ醒å¼é€šçŸ¥ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 在呈现æ醒å¼é€šçŸ¥æ—¶ï¼Œå¿…须使用æ醒å¼é€šçŸ¥è§†å›¾å’Œèµ„æºï¼ˆå¦‚ <a href="https://developer.android.com/reference/android/app/Notification.Builder.html"><code>Notification.Builder</code></a> API 类中所述)。
+ </li>
+ <li>[C-3-2] 必须在无需用户é¢å¤–互动的情况下显示通过 <a href="https://developer.android.com/reference/android/app/Notification.Builder#addAction%28android.app.Notification.Action%29"><code>Notification.Builder.addAction()</code></a> æ供的æ“作以åŠé€šçŸ¥å†…容(如 <a href="https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Heads-up">SDK</a> 中所述)。
+ </li>
+ </ul>
+ <h5 id="3_8_3_2_notification_listener_service">
+3.8.3.2. 通知监å¬å™¨æœåŠ¡
+ </h5>
+ <p>
+Android åŒ…å« <a href="https://developer.android.com/reference/android/service/notification/NotificationListenerService.html"><code>NotificationListenerService</code></a> API,任何通知一ç»å‘布或更新,此类 API 便å¯è®©åº”用(用户明确å¯ç”¨åŽï¼‰æ”¶åˆ°å…¶å‰¯æœ¬ã€‚
+ </p>
+ <p>
+如果设备实现报告功能标记 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_RAM_NORMAL"><code>android.hardware.ram.normal</code></a>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须正确ã€åŠæ—¶åœ°å°†é€šçŸ¥å®Œæ•´åœ°æ›´æ–°åˆ°æ‰€æœ‰å·²å®‰è£…且用户已å¯ç”¨çš„此类监å¬å™¨æœåŠ¡ï¼ŒåŒ…括附加到通知对象的所有元数æ®ã€‚
+ </li>
+ <li>[C-1-2] å¿…é¡»éµä»Ž <a href="https://developer.android.com/reference/android/service/notification/NotificationListenerService.html#snoozeNotification%28java.lang.String,%20long%29"><code>snoozeNotification()</code></a> API 调用,并在ç»è¿‡ API 调用中设置的暂åœæ—¶é•¿ä¹‹åŽå…³é—­é€šçŸ¥å¹¶æ‰§è¡Œå›žè°ƒã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现具有å¯è®©ç”¨æˆ·æš‚åœé€šçŸ¥çš„æ–¹å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须通过标准 API(例如 <a href="https://developer.android.com/reference/android/service/notification/NotificationListenerService.html#getSnoozedNotifications%28%29"><code>NotificationListenerService.getSnoozedNotifications()</code></a>)正确å映已暂åœé€šçŸ¥çŠ¶æ€ã€‚
+ </li>
+ <li>[C-2-2] 必须使该方å¼å¯ç”¨äºŽæš‚åœæ¯ä¸ªå·²å®‰è£…的第三方应用å‘出的通知,除éžé€šçŸ¥æ¥è‡ªå¸¸é©»/å‰å°æœåŠ¡ã€‚
+ </li>
+ </ul>
+ <h5 id="3_8_3_3_dnd_(do_not_disturb)">
+3.8.3.3. DND(请勿打扰)
+ </h5>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ DND 功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现会å“应 <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS">ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS</a> Intent çš„ Activity;对于设为 UI_MODE_TYPE_NORMAL 的实现,它必须是用户å¯ç”¨äºŽæŽˆæƒæˆ–æ‹’ç»åº”用访问 DND 政策é…置的 Activity。
+ </li>
+ <li>[C-1-2] 当设备实现为用户æ供了用于授æƒæˆ–æ‹’ç»ç¬¬ä¸‰æ–¹åº”用访问 DND 政策é…置的方å¼æ—¶ï¼Œå¿…é¡»éšåŒç”¨æˆ·åˆ›å»ºçš„规则和预定义的规则一起显示应用创建的<a href="https://developer.android.com/reference/android/app/NotificationManager.html#addAutomaticZenRule%28android.app.AutomaticZenRule%29">自动 DND 规则</a>。
+ </li>
+ <li>[C-1-3] 必须能够éµä»Ž <a href="https://developer.android.com/reference/android/app/NotificationManager.Policy.html#suppressedVisualEffects"><code>suppressedVisualEffects</code></a> 值(éšåŒ <a href="https://developer.android.com/reference/android/app/NotificationManager.Policy.html#NotificationManager.Policy%28int,%20int,%20int,%20int%29"><code>NotificationManager.Policy</code></a> 传递);如果应用已设置 SUPPRESSED_EFFECT_SCREEN_OFF 或 SUPPRESSED_EFFECT_SCREEN_ON 标记,则应å‘用户表明 DND 设置èœå•ä¸­ä¸ä¼šæ˜¾çŽ°è§†è§‰æ•ˆæžœã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_4_search">
+3.8.4. æœç´¢
+ </h4>
+ <p>
+Android 包å«ä¸€äº›å¯è®©å¼€å‘者在其应用中<a href="http://developer.android.com/reference/android/app/SearchManager.html">纳入æœç´¢åŠŸèƒ½</a>以åŠå°†å…¶åº”用中的数æ®æ供给全局系统æœç´¢ä½¿ç”¨çš„ API。一般æ¥è¯´ï¼Œè¯¥åŠŸèƒ½ä¼šåŒ…括一个系统级界é¢ï¼Œä»¥ä¾¿ç”¨æˆ·è¾“入查询ã€åœ¨ç”¨æˆ·è¾“入时显示建议,以åŠæ˜¾ç¤ºæœç´¢ç»“果。这些 Android API å¯è®©å¼€å‘者é‡å¤ä½¿ç”¨æ­¤ç•Œé¢ï¼Œä»¥åœ¨å…¶åº”用内æä¾›æœç´¢åŠŸèƒ½ï¼Œè¿˜å¯è®©å¼€å‘者å‘通用的全局æœç´¢ç•Œé¢æä¾›æœç´¢ç»“果。
+ </p>
+ <ul>
+ <li>Android 设备实现应包å«å…¨å±€æœç´¢ç•Œé¢ - å•ä¸ªå…±äº«çš„系统级æœç´¢ç•Œé¢ï¼Œèƒ½å¤Ÿåœ¨ç”¨æˆ·è¾“入内容时实时æ供建议。
+ </li>
+ </ul>
+ <p>
+如果设备实现已实现全局æœç´¢ç•Œé¢ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现å¯è®©ç¬¬ä¸‰æ–¹åº”用å‘æœç´¢æ¡†ï¼ˆå½“它以全局æœç´¢æ¨¡å¼è¿è¡Œæ—¶ï¼‰ä¸­æ·»åŠ å»ºè®®çš„ API。
+ </li>
+ </ul>
+ <p>
+如果未安装任何使用全局æœç´¢ç•Œé¢çš„第三方应用,则:
+ </p>
+ <ul>
+ <li>默认行为应为显示网页æœç´¢å¼•æ“Žæ供的æœç´¢ç»“果和建议。
+ </li>
+ </ul>
+ <p>
+Android 还包å«ä¸€äº›<a href="https://developer.android.com/reference/android/app/assist/package-summary.html">辅助 API</a>,以便应用选择与设备上的辅助程åºåˆ†äº«å¤šå°‘关于当å‰ä¸Šä¸‹æ–‡çš„ä¿¡æ¯ã€‚
+ </p>
+ <p>
+如果设备实现支æŒè¾…助æ“作,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 当分享上下文时,必须通过以下方å¼ä¹‹ä¸€å‘最终用户清楚地指明这一点:
+ <ul>
+ <li>æ¯å½“辅助应用访问上下文时,都在å±å¹•è¾¹ç¼˜æ˜¾ç¤ºç™½å…‰ï¼Œå¹¶ä¸”å…¶æŒç»­æ—¶é—´å’Œäº®åº¦è¾¾åˆ°æˆ–超过 Android å¼€æºé¡¹ç›®å®žçŽ°çš„æŒç»­æ—¶é—´å’Œäº®åº¦ã€‚
+ </li>
+ <li>对于预安装的辅助应用,æä¾›è·<a href="#3_2_3_5_default_app_settings">默认语音输入和辅助应用设置èœå•</a>ä¸è¶…过两个导航步骤的用户å¯è§å†…容,并且仅在用户通过å¯åŠ¨æŒ‡ä»¤æˆ–辅助导航键输入明确调用辅助应用的情况下æ‰åˆ†äº«ä¸Šä¸‹æ–‡ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-2] 用于å¯åŠ¨è¾…助应用的指定交互(如<a href="#7_2_3_navigation_keys">第 7.2.3 节</a>中所述)必须å¯åŠ¨ç”¨æˆ·é€‰æ‹©çš„辅助应用(也就是实现 <code>VoiceInteractionService</code> çš„åº”ç”¨ï¼‰æˆ–è´Ÿè´£å¤„ç† <code>ACTION_ASSIST</code> Intent çš„ Activity。
+ </li>
+ </ul>
+ <h4 id="3_8_5_alerts_and_toasts">
+3.8.5. æ醒和消æ¯æ¡†
+ </h4>
+ <p>
+应用å¯ä»¥ä½¿ç”¨ <a href="http://developer.android.com/reference/android/widget/Toast.html"><code>Toast</code></a> API å‘最终用户显示简短的éžæ¨¡æ€å­—符串(这些字符串会在短暂显示åŽæ¶ˆå¤±ï¼‰ï¼Œå¹¶ä½¿ç”¨ <a href="http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#TYPE_APPLICATION_OVERLAY"><code>TYPE_APPLICATION_OVERLAY</code></a> 窗å£ç±»åž‹ API 使æ醒窗å£æ˜¾ç¤ºåœ¨å…¶ä»–应用的å‰æ–¹ã€‚
+ </p>
+ <p>
+如果设备实现包å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿé˜»æ­¢åº”用显示使用 <a href="http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#TYPE_APPLICATION_OVERLAY"><code>TYPE_APPLICATION_OVERLAY</code></a> çš„æ醒窗å£ã€‚AOSP 实现通过在通知æ ä¸­æ供相应控件æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] å¿…é¡»éµä»Ž Toast API,并以æŸç§éžå¸¸æ˜¾çœ¼çš„æ–¹å¼å‘最终用户显示æ¥è‡ªåº”用的消æ¯æ¡†ã€‚
+ </p>
+ </li>
+ </ul>
+ <h4 id="3_8_6_themes">
+3.8.6. 主题背景
+ </h4>
+ <p>
+Android æ供“主题背景â€è¿™ä¸€æœºåˆ¶ï¼Œä»¥ä¾›åº”用在整个 Activity 或应用中应用样å¼ã€‚
+ </p>
+ <p>
+Android 包å«â€œHoloâ€å’Œâ€œMaterialâ€ä¸»é¢˜èƒŒæ™¯ç³»åˆ—(一组预定义的样å¼ï¼‰ï¼Œå¦‚果应用开å‘者想è¦ä¸Ž Android SDK 定义的 <a href="http://developer.android.com/guide/topics/ui/themes.html">Holo 主题背景外观和风格</a>ä¿æŒä¸€è‡´ï¼Œåˆ™å¯ä»¥ä½¿ç”¨å®ƒä»¬ã€‚
+ </p>
+ <p>
+如果设备实现包å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>[C-1-1] ä¸å¾—更改任何å¯ä¾›åº”用使用的 <a href="http://developer.android.com/reference/android/R.style.html">Holo 主题背景属性</a>。
+ </li>
+ <li>[C-1-2] 必须支æŒâ€œMaterialâ€ä¸»é¢˜èƒŒæ™¯ç³»åˆ—,并且ä¸å¾—更改任何å¯ä¾›åº”用使用的 <a href="http://developer.android.com/reference/android/R.style.html#Theme_Material">Material 主题背景属性</a>或其素æ资æºã€‚
+ </li>
+ </ul>
+ <p>
+Android 还包å«ä¸€ä¸ªâ€œDevice Defaultâ€ä¸»é¢˜èƒŒæ™¯ç³»åˆ—(一组预定义的样å¼ï¼‰ï¼Œå¦‚果应用开å‘者想è¦ä¸Žè®¾å¤‡å®žçŽ°è€…定义的设备主题背景外观和风格ä¿æŒä¸€è‡´ï¼Œåˆ™å¯ä»¥ä½¿ç”¨å®ƒä»¬ã€‚
+ </p>
+ <ul>
+ <li>设备实现å¯ä»¥ä¿®æ”¹å¯ä¾›åº”用使用的 <a href="http://developer.android.com/reference/android/R.style.html">Device Default 主题背景属性</a>。
+ </li>
+ </ul>
+ <p>
+Android 支æŒå¸¦æœ‰åŠé€æ˜Žç³»ç»Ÿæ çš„å˜ä½“主题背景,以便应用开å‘者将其应用内容填充到状æ€æ å’Œå¯¼èˆªæ åŽé¢çš„区域。为了在采用此é…置时实现一致的开å‘者体验,请务必在ä¸åŒçš„设备实现之间ä¿æŒä¸€è‡´çš„状æ€æ å›¾æ ‡æ ·å¼ã€‚
+ </p>
+ <p>
+如果设备实现包å«ç³»ç»ŸçŠ¶æ€æ ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须使用白色æ¥æ˜¾ç¤ºç³»ç»ŸçŠ¶æ€å›¾æ ‡ï¼ˆä¾‹å¦‚ä¿¡å·å¼ºåº¦å’Œç”µæ± ç”µé‡ï¼‰ä»¥åŠç³»ç»Ÿå‘出的通知,除éžç›¸åº”图标用于指明有问题状æ€ï¼Œæˆ–者应用使用 SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 标记请求使用浅色状æ€æ ã€‚
+ </li>
+ <li>[C-2-2] 当应用请求使用浅色状æ€æ æ—¶ï¼ŒAndroid 设备实现必须将系统状æ€å›¾æ ‡çš„颜色更改为黑色(有关详细信æ¯ï¼Œè¯·å‚阅 <a href="http://developer.android.com/reference/android/R.style.html">R.style</a>)。
+ </li>
+ </ul>
+ <h4 id="3_8_7_live_wallpapers">
+3.8.7. 动æ€å£çº¸
+ </h4>
+ <p>
+Android 定义了一ç§ç»„件类型以åŠå¯¹åº”çš„ API 和生命周期æ¥ä¾›åº”用å‘最终用户æ供一个或多个<a href="http://developer.android.com/reference/android/service/wallpaper/WallpaperService.html">“动æ€å£çº¸â€</a>。动æ€å£çº¸æ˜¯å…·å¤‡æœ‰é™è¾“入功能且作为å£çº¸æ˜¾ç¤ºåœ¨å…¶ä»–应用之åŽçš„动画ã€å›¾æ¡ˆæˆ–类似图片。
+ </p>
+ <p>
+如果硬件能够在ä¸é™åˆ¶åŠŸèƒ½ä¸”ä¸ä¼šå¯¹å…¶ä»–应用造æˆè´Ÿé¢å½±å“的情况下,以åˆç†çš„帧速率è¿è¡Œæ‰€æœ‰åŠ¨æ€å£çº¸ï¼Œåˆ™ä¼šè¢«è§†ä¸ºèƒ½å¤Ÿå¯é åœ°è¿è¡ŒåŠ¨æ€å£çº¸ã€‚如果硬件中的é™åˆ¶å¯¼è‡´å£çº¸å’Œ/或应用崩溃ã€æ— æ³•æ­£å¸¸è¿è¡Œã€å ç”¨è¿‡å¤š CPU/消耗过多电池电é‡ï¼Œæˆ–者è¿è¡Œæ—¶çš„帧速率低得令人无法接å—,则相应硬件会被视为无法è¿è¡ŒåŠ¨æ€å£çº¸ã€‚例如,有些动æ€å£çº¸å¯èƒ½ä¼šåˆ©ç”¨ OpenGL 2.0 或 3.x 上下文æ¥å‘ˆçŽ°å…¶å†…容。动æ€å£çº¸å°†æ— æ³•åœ¨ä¸æ”¯æŒå¤šä¸ª OpenGL 上下文的硬件上å¯é åœ°è¿è¡Œï¼Œå› ä¸ºä½¿ç”¨ OpenGL 上下文的动æ€å£çº¸å¯èƒ½ä¼šä¸Žå…¶ä»–åŒæ ·ä½¿ç”¨ OpenGL 上下文的应用å‘生冲çªã€‚
+ </p>
+ <ul>
+ <li>如果设备实现能够å¯é åœ°è¿è¡ŒåŠ¨æ€å£çº¸ï¼ˆå¦‚上所述),则应实现动æ€å£çº¸ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现已实现动æ€å£çº¸ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告 android.software.live_wallpaper å¹³å°åŠŸèƒ½æ ‡è®°ã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_8_activity_switching">
+3.8.8. Activity 切æ¢
+ </h4>
+ <p>
+上游 Android æºä»£ç åŒ…å«<a href="https://developer.android.com/guide/components/activities/recents.html">概览å±å¹•</a>,该å±å¹•æ˜¯ä¸€ä¸ªç³»ç»Ÿçº§ç•Œé¢ï¼Œå¯ç”¨äºŽåˆ‡æ¢ä»»åŠ¡ï¼Œä»¥åŠä½¿ç”¨ç¼©ç•¥å›¾ï¼ˆå¯¹åº”于用户上次离开应用时应用的图形状æ€ï¼‰æ˜¾ç¤ºç”¨æˆ·æœ€è¿‘访问的 Activity 和任务。
+ </p>
+ <p>
+如果设备实现包å«â€œæœ€è¿‘用过â€åŠŸèƒ½å¯¼èˆªé”®ï¼ˆ<a href="#7_2_3_navigation_keys">第 7.2.3 节</a>中对此进行了详细说明),则å¯ä»¥æ›´æ”¹è¯¥ç•Œé¢ã€‚
+ </p>
+ <p>
+如果设备实现包å«â€œæœ€è¿‘用过â€åŠŸèƒ½å¯¼èˆªé”®ï¼ˆ<a href="#7_2_3_navigation_keys">第 7.2.3 节</a>中对此进行了详细说明),并且è¦æ›´æ”¹è¯¥ç•Œé¢ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒæ˜¾ç¤ºè‡³å°‘ 7 个 Activity。
+ </li>
+ <li>一次应至少显示 4 个 Activity çš„å称。
+ </li>
+ <li>[C-1-2] 必须实现<a href="http://developer.android.com/about/versions/android-5.0.html#ScreenPinning">å±å¹•å›ºå®šè¡Œä¸º</a>,并å‘用户æ供用于开å¯/关闭该功能的设置èœå•ã€‚
+ </li>
+ <li>应在“最近用过â€ä¸­æ˜¾ç¤ºäº®æ˜¾é¢œè‰²ã€å›¾æ ‡ã€å±å¹•æ ‡é¢˜ã€‚
+ </li>
+ <li>应显示关闭选项 (x),但å¯ä»¥å»¶è¿Ÿåˆ°ç”¨æˆ·ä¸Žå±å¹•äº’动之åŽæ˜¾ç¤ºã€‚
+ </li>
+ <li>应实现一个å¯è®©ç”¨æˆ·è½»æ¾åˆ‡æ¢åˆ°å‰ä¸€ä¸ª Activity çš„å¿«æ·æ–¹å¼ã€‚
+ </li>
+ <li>当用户点按两次“最近用过â€åŠŸèƒ½é”®æ—¶ï¼Œåº”触å‘在最近用过的两个应用之间进行快速切æ¢ã€‚
+ </li>
+ <li>当用户长按“最近用过â€åŠŸèƒ½é”®æ—¶ï¼Œåº”触å‘分å±å¤šçª—å£æ¨¡å¼ï¼ˆå¦‚果支æŒçš„è¯ï¼‰ã€‚
+ </li>
+ <li>å¯ä»¥å°†æœ€è¿‘用过的关è”项显示为一组(它们会一起移动)。
+ </li>
+ <li>[SR] 强烈建议为概览å±å¹•ä½¿ç”¨ä¸Šæ¸¸ Android ç•Œé¢ï¼ˆæˆ–类似的基于缩略图的界é¢ï¼‰ã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_9_input_management">
+3.8.9. 输入管ç†
+ </h4>
+ <p>
+Android 支æŒ<a href="http://developer.android.com/guide/topics/text/creating-input-method.html">输入管ç†</a>,并且支æŒç¬¬ä¸‰æ–¹è¾“入法编辑器。
+ </p>
+ <p>如果设备实现å…许用户在设备上使用第三方输入法,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明平å°åŠŸèƒ½ android.software.input_methodsï¼Œå¹¶æ”¯æŒ IME API(如 Android SDK 文档中定义)。
+ </li>
+ <li>[C-1-2] 必须能够因应 INPUT_METHOD_SETTINGS Intent æ供一ç§å¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„机制,以便他们添加和é…置第三方输入法。
+ </li>
+ </ul>
+ <p>
+如果设备实现声明了 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUTOFILL"><code>android.software.autofill</code></a> 功能标记,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须完整实现 <a href="https://developer.android.com/reference/android/service/autofill/AutofillService.html"><code>AutofillService</code></a> å’Œ <a href="https://developer.android.com/reference/android/view/autofill/AutofillManager.html"><code>AutofillManager</code></a> API,并能够éµä»Ž <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION_REQUEST_SET_AUTOFILL_SERVICE"><code>android.settings.REQUEST_SET_AUTOFILL_SERVICE</code></a> Intent 显示一个默认应用设置èœå•ï¼Œä»¥ä¾¿ç”¨æˆ·å¯ç”¨å’Œåœç”¨è‡ªåŠ¨å¡«å……æœåŠ¡ä»¥åŠæ›´æ”¹é»˜è®¤è‡ªåŠ¨å¡«å……æœåŠ¡ã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_10_lock_screen_media_control">
+3.8.10. é”定å±å¹•åª’体控件
+ </h4>
+ <p>
+Remote Control Client API 从 Android 5.0 开始便被弃用了,å–而代之的是å¯è®©åª’体应用与é”定å±å¹•ä¸Šæ˜¾ç¤ºçš„播放控件相集æˆçš„<a href="http://developer.android.com/reference/android/app/Notification.MediaStyle.html">媒体通知模æ¿</a>。
+ </p>
+ <h4 id="3_8_11_screen_savers_(previously_dreams)">
+3.8.11. å±ä¿ï¼ˆä¹‹å‰ç§°ä¸º Dream)
+ </h4>
+ <p>
+Android æ”¯æŒ <a href="http://developer.android.com/reference/android/service/dreams/DreamService.html">interactivescreensaver</a>(之å‰ç§°ä¸º Dream)。当接通电æºçš„设备处于闲置状æ€æˆ–放在桌é¢åŸºåº§ä¸­æ—¶ï¼Œå±ä¿è®©ç”¨æˆ·èƒ½å¤Ÿä¸Žåº”用互动。Android Watch 设备å¯ä»¥å®žçŽ°å±ä¿ï¼Œä½†å…¶ä»–类型的设备实现应支æŒå±ä¿ï¼Œå¹¶ä¸”应能够因应 <code>android.settings.DREAM_SETTINGS</code> Intent 为用户æ供用于é…ç½®å±ä¿çš„设置选项。
+ </p>
+ <h4 id="3_8_12_location">
+3.8.12. ä½ç½®
+ </h4>
+ <p>
+如果设备实现包å«èƒ½å¤Ÿæä¾›ä½ç½®å标的硬件传感器(例如 GPS),则:
+ </p>
+ <ul>
+ <li>[C-1-2] 必须在“设置â€çš„“ä½ç½®ä¿¡æ¯â€èœå•ä¸­æ˜¾ç¤º<a href="https://developer.android.com/reference/android/location/LocationManager.html#isLocationEnabled%28%29">ä½ç½®ä¿¡æ¯çš„当å‰çŠ¶æ€</a>。
+ </li>
+ <li>[C-1-3] ä¸å¾—在“设置â€çš„“ä½ç½®ä¿¡æ¯â€èœå•ä¸­æ˜¾ç¤º<a href="https://developer.android.com/reference/android/provider/Settings.Secure.html#LOCATION_MODE">ä½ç½®ä¿¡æ¯æ¨¡å¼</a>。
+ </li>
+ </ul>
+ <h4 id="3_8_13_unicode_and_font">
+3.8.13. Unicode 和字体
+ </h4>
+ <p>
+Android æ”¯æŒ <a href="http://www.unicode.org/versions/Unicode10.0.0/">Unicode 10.0</a> 中定义的表情符å·ã€‚
+ </p>
+ <p>
+如果设备实现包å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须能够以彩色符å·å½¢å¼å‘ˆçŽ°è¿™äº›è¡¨æƒ…符å·ã€‚
+ </li>
+ <li>[C-1-2] 必须支æŒï¼š
+ <ul>
+ <li>对于设备上的å¯ç”¨è¯­è¨€ï¼Œæ”¯æŒå…·æœ‰ä»¥ä¸‹å„ç§ç²—细的 Roboto 2 字体:sans-serif-thinã€sans-serif-lightã€sans-serif-mediumã€sans-serif-blackã€sans-serif-condensedã€sans-serif-condensed-light。
+ </li>
+ <li>Unicode 7.0 中涵盖的所有拉ä¸è¯­ã€å¸Œè…Šè¯­å’Œè¥¿é‡Œå°”语字æ¯ï¼ˆåŒ…括拉ä¸è¯­æ‰©å±• Aã€Bã€C å’Œ D ç³»åˆ—ï¼‰ï¼Œä»¥åŠ Unicode 7.0 çš„è´§å¸ç¬¦å·å—中的所有符å·ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>åº”æ”¯æŒ <a href="http://unicode.org/reports/tr51">Unicode 技术报告 #51</a> 中指定的肤色和å„ç§å®¶åº­è¡¨æƒ…符å·ã€‚
+ </li>
+ </ul>
+ <p>å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« IME,则:
+ </p>
+ <ul>
+ <li>应为用户æ供一ç§å¯è¾“入这些表情符å·çš„输入法。
+ </li>
+ </ul>
+ <h4 id="3_8_14_multi-windows">
+3.8.14. 多窗å£æ¨¡å¼
+ </h4>
+ <p>
+如果设备实现能够åŒæ—¶æ˜¾ç¤ºå¤šä¸ª Activity,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须按照 Android SDK <a href="https://developer.android.com/guide/topics/ui/multi-window.html">多窗å£æ¨¡å¼æ”¯æŒæ–‡æ¡£</a>中所述的应用行为和 API 实现此类多窗å£æ¨¡å¼ï¼Œå¹¶æ»¡è¶³ä»¥ä¸‹è¦æ±‚:
+ </li>
+ <li>[C-1-2] 应用å¯ä»¥åœ¨ <code>AndroidManifest.xml</code> 文件中指明它们是å¦èƒ½å¤Ÿä»¥å¤šçª—å£æ¨¡å¼è¿è¡Œï¼šé€šè¿‡å°† <a href="https://developer.android.com/reference/android/R.attr.html#resizeableActivity"><code>android:resizeableActivity</code></a> 属性设为 <code>true</code> æ¥æ˜¾å¼æŒ‡æ˜Žï¼Œæˆ–通过使 targetSdkVersion 高于 24 æ¥éšå¼æŒ‡æ˜Žã€‚在清å•ä¸­æ˜Žç¡®å°†è¯¥å±žæ€§è®¾ä¸º <code>false</code> 的应用ä¸å¾—以多窗å£æ¨¡å¼å¯åŠ¨ã€‚targetSdkVersion 低于 24 的旧版应用(没有设置该 <code>android:resizeableActivity</code> 属性)å¯ä»¥é‡‡ç”¨å¤šçª—å£æ¨¡å¼å¯åŠ¨ï¼Œä½†ç³»ç»Ÿå¿…é¡»å‘出警告,让用户知é“相应应用在多窗å£æ¨¡å¼ä¸‹å¯èƒ½æ— æ³•æ­£å¸¸è¿è¡Œã€‚
+ </li>
+ <li>[C-1-3] 如果å±å¹•é«˜åº¦å’Œå®½åº¦å‡å°äºŽ 440 dp,则ä¸å¾—æ供分å±æˆ–自由窗å£æ¨¡å¼ã€‚
+ </li>
+ <li>å±å¹•å°ºå¯¸ä¸º <code>xlarge</code> 的设备实现应支æŒè‡ªç”±çª—å£æ¨¡å¼ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå¤šçª—å£æ¨¡å¼å’Œåˆ†å±æ¨¡å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须预加载一个<a href="https://developer.android.com/guide/topics/ui/multi-window.html#configuring">大å°å¯è°ƒæ•´</a>çš„å¯åŠ¨å™¨ä½œä¸ºé»˜è®¤å¯åŠ¨å™¨ã€‚
+ </li>
+ <li>[C-2-2] 如果å¯åŠ¨å™¨åº”用是获得焦点的窗å£ï¼Œåˆ™å¿…须剪è£å¤„于分å±å¤šçª—å£æ¨¡å¼çš„åœé  Activity,但应显示它的部分内容。
+ </li>
+ <li>[C-2-3] 必须能够éµä»Žç¬¬ä¸‰æ–¹å¯åŠ¨å™¨åº”用声明的 <a href="https://developer.android.com/reference/android/R.styleable.html#AndroidManifestLayout_minWidth"><code>AndroidManifestLayout_minWidth</code></a> å’Œ <a href="https://developer.android.com/reference/android/R.styleable.html#AndroidManifestLayout_minHeight"><code>AndroidManifestLayout_minHeight</code></a> 值,并且在显示åœé  Activity 的部分内容时ä¸å¾—替æ¢è¿™äº›å€¼ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå¤šçª—å£æ¨¡å¼å’Œç”»ä¸­ç”»å¤šçª—å£æ¨¡å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 如果应用符åˆä»¥ä¸‹ä»»ä¸€æ¡ä»¶ï¼Œåˆ™å¿…须以画中画多窗å£æ¨¡å¼å¯åŠ¨ Activity:* 采用 API 26 级或更高级别,并且声明了 <a href="https://developer.android.com/reference/android/R.attr.html#supportsPictureInPicture"><code>android:supportsPictureInPicture</code></a>ï¼›* 采用 API 25 级或更低级别,并且声明了 <a href="https://developer.android.com/reference/android/R.attr.html#resizeableActivity"><code>android:resizeableActivity</code></a> å’Œ <a href="https://developer.android.com/reference/android/R.attr.html#supportsPictureInPicture"><code>android:supportsPictureInPicture</code></a>。
+ </li>
+ <li>[C-3-2] 必须在 SystemUI ä¸­å…¬å¼€å½“å‰ PIP Activity 通过 <a href="https://developer.android.com/reference/android/app/PictureInPictureParams.Builder.html#setActions%28java.util.List%3Candroid.app.RemoteAction%3E%29"><code>setActions()</code></a> API 指定的æ“作。
+ </li>
+ <li>[C-3-3] å¿…é¡»æ”¯æŒ PIP Activity 通过 <a href="https://developer.android.com/reference/android/app/PictureInPictureParams.Builder.html#setAspectRatio%28android.util.Rational%29"><code>setAspectRatio()</code></a> API 指定的大于等于 1:2.39 且å°äºŽç­‰äºŽ 2.39:1 的宽高比。
+ </li>
+ <li>[C-3-4] 必须使用 <a href="https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_WINDOW"><code>KeyEvent.KEYCODE_WINDOW</code></a> 控制 PIP 窗å£ï¼›å¦‚果未实现 PIP 模å¼ï¼Œåˆ™è¯¥é”®å¿…é¡»å¯ä¾›å‰å° Activity 使用。
+ </li>
+ <li>[C-3-5] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿé˜»æ­¢åº”用以 PIP 模å¼æ˜¾ç¤ºï¼›AOSP 实现通过在通知æ ä¸­æ供相应控件æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[C-3-6] 必须为 PIP 窗å£åˆ†é… 108 dp 的最å°å®½åº¦å’Œé«˜åº¦ï¼›å½“ <code>Configuration.uiMode</code> é…置为 <a href="https://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_TELEVISION"><code>UI_MODE_TYPE_TELEVISION</code></a> 时,必须为 PIP 窗å£åˆ†é… 240 dp 的最å°å®½åº¦å’Œ 135 dp 的最å°é«˜åº¦ã€‚
+ </li>
+ </ul>
+ <h4 id="3_8_15_display_cutout">
+3.8.15. 刘海å±
+ </h4>
+ <p>
+Android 支æŒåˆ˜æµ·å±ï¼ˆå¦‚ SDK 文档中所述)。<a href="https://developer.android.com/reference/android/view/DisplayCutout"><code>DisplayCutout</code></a> API 在显示å±çš„边缘指定了ä¸ç”¨äºŽæ˜¾ç¤ºå†…容的区域。
+ </p>
+ <p>如果设备实现包å«åˆ˜æµ·å±ï¼Œåˆ™ï¼š</p>
+ <ul>
+ <li>[C-1-1] 必须仅在设备的短边设置刘海å±ã€‚å之,如果设备的宽高比为 1.0 (1:1),则ä¸å¾—包å«åˆ˜æµ·å±ã€‚
+ </li>
+ <li>[C-1-2] æ¯è¾¹çš„凹å£åªèƒ½æœ‰ä¸€ä¸ªã€‚
+ </li>
+ <li>[C-1-3] 必须能够éµä»Žåº”用通过 <a href="https://developer.android.com/reference/android/view/WindowManager.LayoutParams"><code>WindowManager.LayoutParams</code></a> API 设置的刘海å±æ ‡è®°ï¼ˆå¦‚ SDK 中所述)。
+ </li>
+ <li>[C-1-4] 必须为 <a href="https://developer.android.com/reference/android/view/DisplayCutout"><code>DisplayCutout</code></a> API 中指定的所有凹å£æŒ‡æ ‡æŠ¥å‘Šæ­£ç¡®çš„值。
+ </li>
+ </ul>
+ <h3 id="3_9_device_administration">
+3.9. 设备管ç†
+ </h3>
+ <p>
+Android 包å«ä¸€äº›å¯è®©æ³¨é‡å®‰å…¨æ€§çš„应用在系统级执行设备管ç†å·¥ä½œçš„功能,例如通过 <a href="http://developer.android.com/guide/topics/admin/device-admin.html">Android Device Administration API</a> 强制执行密ç æ”¿ç­–或执行远程清除。
+ </p>
+ <p>
+如果设备实现已实现 Android SDK 文档中定义的所有<a href="http://developer.android.com/guide/topics/admin/device-admin.html">设备管ç†</a>政策,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明 <code>android.software.device_admin</code>。
+ </li>
+ <li>[C-1-2] 必须支æŒè®¾å¤‡æ‰€æœ‰è€…é…置(如 <a href="#3_9_1_device_provisioning">第 3.9.1 节</a>å’Œ<a href="#3_9_1_1_device_owner_provisioning">第 3.9.1.1 节</a>中所述)。
+ </li>
+ </ul>
+ <h4 id="3_9_1_device_provisioning">
+3.9.1 设备é…ç½®
+ </h4>
+ <h5 id="3_9_1_1_device_owner_provisioning">
+3.9.1.1 设备所有者é…ç½®
+ </h5>
+ <p>
+如果设备实现声明了 <code>android.software.device_admin</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒå°† Device Policy Client (DPC) 注册为<a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isDeviceOwnerApp%28java.lang.String%29">设备所有者应用</a>,如下所述:
+ <ul>
+ <li>如果设备实现尚未é…置任何用户数æ®ï¼Œåˆ™ï¼š
+ <ul>
+ <li>[C-1-3] 必须针对 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProvisioningAllowed(java.lang.String)"><code>DevicePolicyManager.isProvisioningAllowed(ACTION_PROVISION_MANAGED_DEVICE)</code></a> 报告 <code>true</code>。
+ </li>
+ <li>[C-1-4] 必须能够因应 Intent æ“作 <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_DEVICE"><code>android.app.action.PROVISION_MANAGED_DEVICE</code></a> å°† DPC 应用注册为设备所有者应用。
+ </li>
+ <li>[C-1-5] 如果设备通过 <code>android.hardware.nfc</code> 功能标记声明支æŒè¿‘è·ç¦»æ— çº¿é€šä¿¡ (NFC),那么如果它收到的 NFC 消æ¯ä¸­åŒ…å« MIME 类型为 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#MIME_TYPE_PROVISIONING_NFC"><code>MIME_TYPE_PROVISIONING_NFC</code></a> 的记录,则必须将 DPC 应用注册为设备所有者应用。
+ </li>
+ </ul>
+ </li>
+ <li>如果设备实现有用户数æ®ï¼Œåˆ™ï¼š
+ <ul>
+ <li>[C-1-6] 必须针对 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProvisioningAllowed(java.lang.String)"><code>DevicePolicyManager.isProvisioningAllowed(ACTION_PROVISION_MANAGED_DEVICE)</code></a> 报告 <code>false</code>。
+ </li>
+ <li>[C-1-7] ä¸å¾—å†å°†ä»»ä½• DPC 应用注册为设备所有者应用。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-2] 必须在é…置过程中è¦æ±‚用户执行肯定性æ“作,åŒæ„将应用设置为设备所有者应用。å¯åœ¨é…置过程中通过用户æ“作或程åºåŒ–æ–¹å¼å¾å¾—用户åŒæ„,但ä¸å¾—采用硬编ç ï¼Œä¹Ÿä¸å¾—ç¦æ­¢ä½¿ç”¨å…¶ä»–设备所有者应用。
+ </li>
+ </ul>
+ <p>
+如果设备实现声明了 <code>android.software.device_admin</code>,但还包å«ä¸“有的设备所有者管ç†è§£å†³æ–¹æ¡ˆï¼Œå¹¶æ供了相应机制æ¥å‘标准 Android <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html">DevicePolicyManager</a> API 识别出的标准“设备所有者â€é€šå‘Šåœ¨å…¶è§£å†³æ–¹æ¡ˆä¸­é…置为“与设备所有者åŒç­‰â€çš„应用,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须部署相应的æµç¨‹æ¥éªŒè¯æ‰€é€šå‘Šçš„应用属于åˆæ³•çš„ä¼ä¸šè®¾å¤‡ç®¡ç†è§£å†³æ–¹æ¡ˆï¼Œå¹¶ä¸”已在专有的解决方案中é…置为具备与“设备所有者â€åŒç­‰çš„æƒåˆ©ã€‚
+ </li>
+ <li>[C-2-2] 在将 DPC 应用注册为“设备所有者â€ä¹‹å‰ï¼Œå¿…须先按照 <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_DEVICE"><code>android.app.action.PROVISION_MANAGED_DEVICE</code></a> å¯åŠ¨çš„æµç¨‹æ˜¾ç¤ºç›¸åŒçš„ AOSP 设备所有者åŒæ„披露。
+ </li>
+ <li>在将 DPC 应用注册为“设备所有者â€ä¹‹å‰ï¼Œè®¾å¤‡ä¸Šå¯ä»¥æœ‰ç”¨æˆ·æ•°æ®ã€‚
+ </li>
+ </ul>
+ <h5 id="3_9_1_2_managed_profile_provisioning">
+3.9.1.2 å—管ç†ä¸ªäººèµ„æ–™é…ç½®
+ </h5>
+ <p>
+如果设备实现声明了 <code>android.software.managed_users</code>,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须实现相应的 <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_PROFILE">API</a>,以便将设备政策控制器 (DPC) 应用注册为<a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProfileOwnerApp%28java.lang.String%29">新增å—管ç†ä¸ªäººèµ„料的所有者</a>。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] å—管ç†ä¸ªäººèµ„æ–™é…ç½®æµç¨‹ï¼ˆè¯¥æµç¨‹ç”± <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_PROFILE">android.app.action.PROVISION_MANAGED_PROFILE</a> å¯åŠ¨ï¼‰ç”¨æˆ·ä½“验必须与 AOSP 实现ä¿æŒä¸€è‡´ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-3] 当设备政策控制器 (DPC) åœç”¨äº†æŸé¡¹ç³»ç»ŸåŠŸèƒ½æ—¶ï¼Œå¿…须在“设置â€éƒ¨åˆ†æ供以下用户å¯è§å†…容,以便å‘用户指明这一点:
+ </p>
+ <ul>
+ <li>当设备管ç†å‘˜é™åˆ¶äº†æŸé¡¹è®¾ç½®æ—¶ï¼Œæ˜¾ç¤ºä¸€è‡´çš„图标或其他用户å¯è§å†…容(例如上游 AOSP ä¿¡æ¯å›¾æ ‡ï¼‰æ¥å‘用户指明这一点。
+ </li>
+ <li>简短的说明消æ¯ï¼Œç”±è®¾å¤‡ç®¡ç†å‘˜é€šè¿‡ <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setShortSupportMessage%28android.content.ComponentName,%20java.lang.CharSequence%29"><code>setShortSupportMessage</code></a> æ供。
+ </li>
+ <li>DPC 应用图标。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h4 id="3_9_2_managed_profile_support">
+3.9.2 å—管ç†ä¸ªäººèµ„料支æŒ
+ </h4>
+ <p>
+如果设备实现声明了 <code>android.software.managed_users</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须通过 <code>android.app.admin.DevicePolicyManager</code> API 支æŒå—管ç†ä¸ªäººèµ„料。
+ </li>
+ <li>[C-1-2] å¿…é¡»å…许且åªå…许<a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_PROFILE">创建一个å—管ç†ä¸ªäººèµ„æ–™</a>。
+ </li>
+ <li>[C-1-3] 必须使用图标标记(类似于 AOSP 上游工作标记)æ¥è¡¨ç¤ºå—管ç†åº”用和微件以åŠå…¶ä»–带有标记的界é¢å…ƒç´ ï¼ˆä¾‹å¦‚“最近用过â€å’Œâ€œé€šçŸ¥â€ï¼‰ã€‚
+ </li>
+ <li>[C-1-4] 当用户ä½äºŽå—管ç†ä¸ªäººèµ„料应用中时,必须显示通知图标(类似于 AOSP 上游工作标记)æ¥æŒ‡æ˜Žè¿™ä¸€ç‚¹ã€‚
+ </li>
+ <li>[C-1-5] 当设备唤醒 (ACTION_USER_PRESENT) 且å‰å°åº”用在å—管ç†ä¸ªäººèµ„料中时,必须显示消æ¯æ¡†æ¥æŒ‡æ˜Žç”¨æˆ·åœ¨å—管ç†ä¸ªäººèµ„料中。
+ </li>
+ <li>[C-1-6] 如果存在å—管ç†ä¸ªäººèµ„料,并且该个人资料已由设备政策控制器å¯ç”¨ï¼Œåˆ™å¿…须在 Intent“选择器â€ä¸­æ˜¾ç¤ºå¯è§æ–¹å¼ï¼Œä»¥ä¾¿ç”¨æˆ·å°† Intent 从å—管ç†ä¸ªäººèµ„料转å‘给主è¦ç”¨æˆ·ï¼Œå之亦然。
+ </li>
+ <li>[C-1-7] 如果存在å—管ç†ä¸ªäººèµ„料,则必须针对主è¦ç”¨æˆ·å’Œå—管ç†ä¸ªäººèµ„æ–™æ供以下用户æƒé™ï¼š
+ <ul>
+ <li>分别计算主è¦ç”¨æˆ·å’Œå—管ç†ä¸ªäººèµ„料的耗电é‡ã€ä½ç½®ä¿¡æ¯ã€ç§»åŠ¨æ•°æ®æµé‡å’Œå­˜å‚¨ç©ºé—´ä½¿ç”¨æƒ…况。
+ </li>
+ <li>å•ç‹¬ç®¡ç†å®‰è£…在主è¦ç”¨æˆ·æˆ–å—管ç†ä¸ªäººèµ„料中的 VPN 应用。
+ </li>
+ <li>å•ç‹¬ç®¡ç†å®‰è£…在主è¦ç”¨æˆ·æˆ–å—管ç†ä¸ªäººèµ„料中的应用。
+ </li>
+ <li>å•ç‹¬ç®¡ç†ä¸»è¦ç”¨æˆ·æˆ–å—管ç†ä¸ªäººèµ„料中的å¸å·ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-8] 如果设备政策控制器å…许,必须确ä¿é¢„安装的拨å·å™¨ã€é€šè®¯å½•å’Œæ¶ˆæ¯åº”用å¯ä»¥æœç´¢å’ŒæŸ¥è¯¢å—管ç†ä¸ªäººèµ„料(如果存在)以åŠä¸»è¦ä¸ªäººèµ„料中的æ¥ç”µè€…ä¿¡æ¯ã€‚
+ </li>
+ <li>[C-1-9] 必须确ä¿æ»¡è¶³é€‚用于å¯ç”¨äº†å¤šä½ç”¨æˆ·çš„设备的所有安全性è¦æ±‚(请å‚阅<a href="#9_5_multi-user_support">第 9.5 节</a>),虽然除了主è¦ç”¨æˆ·ä¹‹å¤–,å—管ç†ä¸ªäººèµ„æ–™ä¸ç®—作其他用户。
+ </li>
+ <li>[C-1-10] 必须支æŒæŒ‡å®šæ»¡è¶³ä»¥ä¸‹è¦æ±‚çš„å•ç‹¬é”定å±å¹•ï¼Œä»¥ä¾¿å‘在å—管ç†ä¸ªäººèµ„料中è¿è¡Œçš„应用授予访问æƒé™ã€‚
+ <ul>
+ <li>设备实现必须能够éµä»Ž <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_SET_NEW_PASSWORD"><code>DevicePolicyManager.ACTION_SET_NEW_PASSWORD</code></a> Intent 显示一个界é¢ï¼Œä»¥ä¾¿ç”¨æˆ·ä¸ºå—管ç†ä¸ªäººèµ„æ–™é…ç½®å•ç‹¬çš„é”定å±å¹•å‡­æ®ã€‚
+ </li>
+ <li>å—管ç†ä¸ªäººèµ„料的é”定å±å¹•å‡­æ®å¿…须使用与父级个人资料相åŒçš„凭æ®å­˜å‚¨å’Œç®¡ç†æœºåˆ¶ï¼Œå¦‚ <a href="http://source.android.com/security/authentication/index.html">Android å¼€æºé¡¹ç›®ç½‘ç«™</a>上所述。
+ </li>
+ <li>除éžåœ¨é€šè¿‡ <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#getParentProfileInstance%28android.content.ComponentName%29">getParentProfileInstance</a> 返回的 <code>DevicePolicyManager</code> 实例上被调用,å¦åˆ™ DPC <a href="https://developer.android.com/guide/topics/admin/device-admin.html#pwd">密ç æ”¿ç­–</a>必须仅适用于å—管ç†ä¸ªäººèµ„料的é”定å±å¹•å‡­æ®ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>当å—管ç†ä¸ªäººèµ„料中的通讯录显示在预安装的通è¯è®°å½•ã€é€šè¯ç•Œé¢ã€è¿›è¡Œä¸­å’ŒæœªæŽ¥æ¥ç”µé€šçŸ¥ã€é€šè®¯å½•å’Œæ¶ˆæ¯åº”用中时,它们应带有用于表示å—管ç†ä¸ªäººèµ„料应用的相åŒæ ‡è®°ã€‚
+ </li>
+ </ul>
+ <h3 id="3_9_3_managed_user_support">
+3.9.3 å—管ç†ç”¨æˆ·æ”¯æŒ
+ </h3>
+ <p>
+如果设备实现声明了 <code>android.software.managed_users</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 如果 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isLogoutEnabled%28%29"><code>isLogoutEnabled</code></a> 返回 <code>true</code>,则必须æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿåœ¨å¤šç”¨æˆ·ä¼šè¯ä¸­é€€å‡ºå½“å‰ç”¨æˆ·å¹¶åˆ‡æ¢å›žä¸»ç”¨æˆ·ã€‚è¿™ç§æ–¹å¼å¿…须让用户能够在é”å±çš„情况下(无需解é”设备)访问。
+ </li>
+ </ul>
+ <h3 id="3_10_accessibility">
+3.10. æ— éšœç¢æœåŠ¡
+ </h3>
+ <p>
+Android æ供了一个无障ç¢æœåŠ¡å±‚,以便残障用户更轻æ¾åœ°åœ¨å…¶è®¾å¤‡ä¸Šè¿›è¡Œå¯¼èˆªã€‚此外,Android 还æä¾›äº†ä¸€äº›ç›¸åº”çš„å¹³å° API,以便无障ç¢æœåŠ¡å®žçŽ°æŽ¥æ”¶é’ˆå¯¹ç”¨æˆ·å’Œç³»ç»Ÿäº‹ä»¶çš„回调并生æˆå¤‡ç”¨å馈机制,例如文字转语音ã€è§¦æ„Ÿï¼Œä»¥åŠè½¨è¿¹çƒ/æ–¹å‘键导航。
+ </p>
+ <p>
+如果设备实现支æŒç¬¬ä¸‰æ–¹æ— éšœç¢æœåŠ¡ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æä¾› Android æ— éšœç¢æœåŠ¡æ¡†æž¶ï¼ˆå¦‚<a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html">æ— éšœç¢æœåŠ¡ API</a> SDK 文档中所述)的实现。
+ </li>
+ <li>[C-1-2] 必须生æˆæ— éšœç¢æœåŠ¡äº‹ä»¶ï¼Œå¹¶å°†ç›¸åº”çš„ <code>AccessibilityEvent</code> æ交到所有已注册的 <a href="http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html"><code>AccessibilityService</code></a> 实现(如 SDK 中所述)。
+ </li>
+ <li>[C-1-3] 必须能够éµä»Ž <code>android.settings.ACCESSIBILITY_SETTINGS</code> Intent æ供一ç§å¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„机制,以便他们å¯ç”¨å’Œåœç”¨ç¬¬ä¸‰æ–¹æ— éšœç¢æœåŠ¡ä»¥åŠé¢„加载的无障ç¢æœåŠ¡ã€‚
+ </li>
+ <li>[C-1-4] 如果已å¯ç”¨çš„æ— éšœç¢æœåŠ¡å£°æ˜Žäº† <a href="https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#FLAG%5FREQUEST%5FACCESSIBILITY%5FBUTTON"><code>AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON</code></a>,则必须在系统的导航æ ä¸­æ·»åŠ ä¸€ä¸ªå¯è®©ç”¨æˆ·æŽ§åˆ¶æ— éšœç¢æœåŠ¡çš„按钮。请注æ„,该è¦æ±‚ä¸é€‚用于没有系统导航æ çš„设备实现,但设备实现应为用户æ供一ç§ç”¨äºŽæŽ§åˆ¶è¿™äº›æ— éšœç¢æœåŠ¡çš„æ–¹å¼ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«é¢„加载的无障ç¢æœåŠ¡ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 如果数æ®å­˜å‚¨é‡‡ç”¨æ–‡ä»¶çº§åŠ å¯† (FBE) æ–¹å¼è¿›è¡ŒåŠ å¯†ï¼Œåˆ™å¿…须将这些预加载的无障ç¢æœåŠ¡å®žçŽ°ä¸º<a href="https://developer.android.com/reference/android/content/pm/ComponentInfo.html#directBootAware">直接å¯åŠ¨æ„ŸçŸ¥åž‹</a>æœåŠ¡ã€‚
+ </li>
+ <li>应在开箱设置æµç¨‹ä¸­æ供一ç§å¯è®©ç”¨æˆ·å¯ç”¨ç›¸å…³æ— éšœç¢æœåŠ¡çš„机制,以åŠç”¨äºŽè°ƒæ•´å­—体大å°ã€æ˜¾ç¤ºåŒºåŸŸå¤§å°å’Œæ”¾å¤§æ‰‹åŠ¿çš„选项。
+ </li>
+ </ul>
+ <h3 id="3_11_text-to-speech">
+3.11. 文字转语音
+ </h3>
+ <p>
+Android 包å«ä¸€äº›å¯è®©åº”用使用文字转语音 (TTS) æœåŠ¡çš„ API,并å…许æœåŠ¡æ供商æä¾› TTS æœåŠ¡å®žçŽ°ã€‚
+ </p>
+ <p>
+如果设备实现报告 android.hardware.audio.output 功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ <a href="http://developer.android.com/reference/android/speech/tts/package-summary.html">Android TTS 框架</a> API。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå®‰è£…第三方 TTS 引擎,则:
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿé€‰æ‹©åœ¨ç³»ç»Ÿçº§ä½¿ç”¨çš„ TTS 引擎。
+ </li>
+ </ul>
+ <h3 id="3_12_tv_input_framework">
+3.12. TV 输入框架
+ </h3>
+ <p>
+<a href="http://source.android.com/devices/tv/index.html">Android TV 输入框架 (TIF)</a> èƒ½å¤Ÿç®€åŒ–å‘ Android TV 设备传输实时内容的过程。TIF æ供了一个相应的标准 API,以便创建å¯æŽ§åˆ¶ Android TV 设备的输入模å—。
+ </p>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ TIF,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明平å°åŠŸèƒ½ <code>android.software.live_tv</code>。
+ </li>
+ <li>[C-1-2] 必须支æŒæ‰€æœ‰ TIF API,以便用户在设备上安装和使用利用此类 API å’Œ<a href="https://source.android.com/devices/tv/index.html#third-party_input_example">基于 TIF 的第三方输入</a>æœåŠ¡çš„应用。
+ </li>
+ </ul>
+ <h3 id="3_13_quick_settings">
+3.13. å¿«æ·è®¾ç½®
+ </h3>
+ <p>
+Android æ供了一个“快æ·è®¾ç½®â€ç•Œé¢ç»„件供用户快速进行频ç¹æ‰§è¡Œæˆ–急需执行的æ“作。
+ </p>
+ <p>
+如果设备实现包å«â€œå¿«æ·è®¾ç½®â€ç•Œé¢ç»„件,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»å…许用户添加或移除第三方应用通过 <a href="https://developer.android.com/reference/android/service/quicksettings/package-summary.html"><code>quicksettings</code></a> API æ供的设置项。
+ </li>
+ <li>[C-1-2] ä¸å¾—自动将æ¥è‡ªç¬¬ä¸‰æ–¹åº”用的设置项直接添加到快æ·è®¾ç½®ä¸­ã€‚
+ </li>
+ <li>[C-1-3] å¿…é¡»éšåŒç³»ç»Ÿæ供的快æ·è®¾ç½®é¡¹ä¸€èµ·æ˜¾ç¤ºç”±ç”¨æˆ·æ·»åŠ çš„æ¥è‡ªç¬¬ä¸‰æ–¹åº”用的所有设置项。
+ </li>
+ </ul>
+ <h3 id="3_14_media_ui">
+3.14. 媒体界é¢
+ </h3>
+ <p>
+如果设备实现包å«ç•Œé¢æ¡†æž¶ï¼Œå¹¶ä¸”该框架支æŒä¾èµ–于 <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.html"><code>MediaBrowser</code></a> å’Œ <a href="http://developer.android.com/reference/android/media/session/MediaSession.html"><code>MediaSession</code></a> 的第三方应用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须照原样显示 <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.MediaItem.html">MediaItem</a> 图标和通知图标。
+ </li>
+ <li>[C-1-2] 必须按照 MediaSession 所述显示这些内容,例如元数æ®ã€å›¾æ ‡ã€å›¾åƒã€‚
+ </li>
+ <li>[C-1-3] 必须显示应用标题。
+ </li>
+ <li>[C-1-4] 必须有用于呈现 <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.html">MediaBrowser</a> 层次结构的抽屉å¼å¯¼èˆªæ æˆ–其他机制,并让用户能够访问 <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.html">MediaBrowser</a> 层次结构。
+ </li>
+ <li>[C-1-5] 对于 <a href="https://developer.android.com/reference/android/media/session/MediaSession.Callback.html#onMediaButtonEvent%28android.content.Intent%29"><code>MediaSession.Callback#onMediaButtonEvent</code></a>,必须将点按两次 <a href="https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HEADSETHOOK"><code>KEYCODE_HEADSETHOOK</code></a> 或 <a href="https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_MEDIA_PLAY_PAUSE"><code>KEYCODE_MEDIA_PLAY_PAUSE</code></a> 视为 <a href="https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_MEDIA_NEXT"><code>KEYCODE_MEDIA_NEXT</code></a>。
+ </li>
+ </ul>
+ <h3 id="3_15_instant_apps">
+3.15. å…安装应用
+ </h3>
+ <p>
+设备实现必须满足以下è¦æ±‚:
+ </p>
+ <ul>
+ <li>[C-0-1] 对于å…安装应用,åªèƒ½å‘其授予将 <a href="https://developer.android.com/reference/android/R.attr#protectionLevel"><code>android:protectionLevel</code></a> 设为 <code>"instant"</code> çš„æƒé™ã€‚
+ </li>
+ <li>[C-0-2] å…安装应用ä¸å¾—通过<a href="https://developer.android.com/reference/android/content/Intent.html">éšå¼ Intent</a> 与已安装的应用交互,除éžä»¥ä¸‹æŸé¡¹ä¸º true:
+ <ul>
+ <li>组件的 Intent 模å¼è¿‡æ»¤å™¨å·²å…¬å¼€ï¼Œå¹¶ä¸”具有 CATEGORY_BROWSABLE
+ </li>
+ <li>æ“作是 ACTION_SENDã€ACTION_SENDTO 或 ACTION_SEND_MULTIPLE
+ </li>
+ <li>目标已通过 <a href="https://developer.android.com/reference/android/R.attr.html#visibleToInstantApps">android:visibleToInstantApps</a> 明确公开
+ </li>
+ </ul>
+ </li>
+ <li>[C-0-3] å…安装应用ä¸å¾—与已安装的应用明确交互,除éžç›¸åº”组件已通过 android:visibleToInstantApps 公开。
+ </li>
+ <li>[C-0-4] 已安装的应用ä¸å¾—查看关于设备上å…安装应用的详细信æ¯ï¼Œé™¤éžå…安装应用明确关è”到已安装的应用。
+ </li>
+ </ul>
+ <h3 id="3_16_companion_device_pairing">
+3.16. é…套设备é…对
+ </h3>
+ <p>
+Android 支æŒé…套设备é…对,以便更有效地管ç†ä¸Žé…套设备的关è”,并且æ供了å¯è®©åº”用使用该功能的 <a href="https://developer.android.com/reference/android/companion/CompanionDeviceManager.html"><code>CompanionDeviceManager</code></a> API。
+ </p>
+ <p>
+如果设备实现支æŒé…套设备é…对功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html?#FEATURE_COMPANION_DEVICE_SETUP"><code>FEATURE_COMPANION_DEVICE_SETUP</code></a> 功能标记。
+ </li>
+ <li>[C-1-2] 必须确ä¿å®Œæ•´å®žçŽ° <a href="https://developer.android.com/reference/android/companion/package-summary.html"><code>android.companion</code></a> 软件包内的 API。
+ </li>
+ <li>[C-1-3] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿé€‰æ‹©/确认é…套设备是å¦å­˜åœ¨ä»¥åŠæ˜¯å¦èƒ½å¤Ÿæ­£å¸¸è¿ä½œã€‚
+ </li>
+ </ul>
+ <h3 id="3_17_heavyweight_apps">
+3.17. é‡é‡çº§åº”用
+ </h3>
+ <p>
+如果设备实现声明了 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_CANT_SAVE_STATE"><code>FEATURE_CANT_SAVE_STATE</code></a> 功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] æ¯æ¬¡ç³»ç»Ÿä¸­å¿…é¡»åªèƒ½è¿è¡Œä¸€ä¸ªæŒ‡å®š <a href="https://developer.android.com/reference/android/R.attr#cantSaveState"><code>cantSaveState</code></a> 的已安装应用。如果用户在未明确退出的情况下离开此类应用(例如通过按“主å±å¹•â€æŒ‰é’®å¯¼è‡´ Activity 在系统中ä»ç„¶å¤„于活动状æ€ï¼Œè€ŒéžæŒ‰â€œè¿”回â€é”®ä½¿ç³»ç»Ÿä¸­ä¸å†æœ‰å¤„于活动状æ€çš„ Activity),则设备实现必须在 RAM 中优先è¿è¡Œè¯¥åº”用,就åƒå¯¹å¾…其他需è¦ç»§ç»­è¿è¡Œçš„应用一样(例如å‰å°æœåŠ¡ï¼‰ã€‚虽然此类应用在åŽå°è¿è¡Œï¼Œä½†æ˜¯ç³»ç»Ÿä»ç„¶å¯ä»¥å¯¹å…¶åº”用电æºç®¡ç†åŠŸèƒ½ï¼ˆä¾‹å¦‚é™åˆ¶ CPU 和网络访问æƒé™ï¼‰ã€‚
+ </li>
+ <li>[C-1-2] å¿…é¡»æ供一个界é¢ï¼Œä»¥ä¾¿ç”¨æˆ·åœ¨å¯åŠ¨å£°æ˜Žäº† <a href="https://developer.android.com/reference/android/R.attr#cantSaveState"><code>cantSaveState</code></a> 属性的第二个应用时选择ä¸åŠ å…¥å¸¸è§„状æ€ä¿å­˜/æ¢å¤æœºåˆ¶çš„应用。
+ </li>
+ <li>[C-1-3] ä¸å¾—将政策中的其他更改(例如更改 CPU 性能或更改调度优先级)应用于指定 <a href="https://developer.android.com/reference/android/R.attr#cantSaveState"><code>cantSaveState</code></a> 的应用。
+ </li>
+ </ul>
+ <p>
+如果设备实现没有声明 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_CANT_SAVE_STATE"><code>FEATURE_CANT_SAVE_STATE</code></a> 功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须忽略应用设置的 <a href="https://developer.android.com/reference/android/R.attr#cantSaveState"><code>cantSaveState</code></a> 属性,且ä¸å¾—基于该属性更改应用行为。
+ </li>
+ </ul>
+ <h2 id="4_application_packaging_compatibility">
+4. 应用打包兼容性
+ </h2>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须能够安装和è¿è¡Œç”±<a href="http://developer.android.com/tools/help/index.html">官方 Android SDK</a> 中包å«çš„“aaptâ€å·¥å…·ç”Ÿæˆçš„ Android“.apkâ€æ–‡ä»¶ã€‚
+ </li>
+ <li>由于上述è¦æ±‚å¯èƒ½ä¸å¤ªå®¹æ˜“满足,因此建议设备实现使用 AOSP å‚考实现中的软件包管ç†ç³»ç»Ÿã€‚
+ </li>
+ </ul>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-2] 必须支æŒä½¿ç”¨ <a href="https://source.android.com/security/apksigning/v3.html">APK ç­¾å方案 v3</a>ã€<a href="https://source.android.com/security/apksigning/v2.html">APK ç­¾å方案 v2</a> å’Œ <a href="https://source.android.com/security/apksigning/v2.html#v1-verification">JAR ç­¾å</a>验è¯â€œ.apkâ€æ–‡ä»¶ã€‚
+ </li>
+ <li>[C-0-3] 扩展 <a href="http://developer.android.com/guide/components/fundamentals.html">.apk</a>ã€<a href="http://developer.android.com/guide/topics/manifest/manifest-intro.html">Android 清å•</a>ã€<a href="https://android.googlesource.com/platform/dalvik/">Dalvik 字节ç </a>或 RenderScript 字节ç æ ¼å¼æ—¶ï¼Œé‡‡ç”¨çš„æ–¹å¼ä¸å¾—导致相应文件无法在其他与 Android 兼容的设备上正确安装和è¿è¡Œã€‚
+ </li>
+ <li>
+ <p>
+[C-0-4] ä¸å¾—å…许应用(软件包的当å‰â€œå½•åˆ¶å®‰è£…程åºâ€é™¤å¤–)在没有用户确认的情况下é™é»˜å¸è½½åº”用,如 SDK 中关于 <a href="https://developer.android.com/reference/android/Manifest.permission.html#DELETE_PACKAGES"><code>DELETE_PACKAGE</code></a> æƒé™çš„éƒ¨åˆ†æ‰€è¿°ã€‚ä»…æœ‰çš„ä¸¤ä¸ªä¾‹å¤–åº”ç”¨æ˜¯ï¼šè´Ÿè´£å¤„ç† <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_NEEDS_VERIFICATION">PACKAGE_NEEDS_VERIFICATION</a> Intent 的系统软件包验è¯ç¨‹åºåº”ç”¨ï¼Œå’Œè´Ÿè´£å¤„ç† <a href="https://developer.android.com/reference/android/os/storage/StorageManager.html#ACTION_MANAGE_STORAGE">ACTION_MANAGE_STORAGE</a> Intent 的存储管ç†å™¨åº”用。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-5] å¿…é¡»æœ‰è´Ÿè´£å¤„ç† <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_MANAGE_UNKNOWN_APP_SOURCES"><code>android.settings.MANAGE_UNKNOWN_APP_SOURCES</code></a> Intent çš„ Activity。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-6] 除éž<a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_INSTALL_PACKAGE">æ出安装请求</a>的应用满足以下所有è¦æ±‚,å¦åˆ™ä¸å¾—安装æ¥è‡ªæœªçŸ¥æ¥æºçš„应用包:
+ </p>
+ <ul>
+ <li>必须声明 <a href="http://developer.android.com/reference/android/Manifest.permission.html#REQUEST_INSTALL_PACKAGES"><code>REQUEST_INSTALL_PACKAGES</code></a> æƒé™æˆ–å°† <code>android:targetSdkVersion</code> 设为 24 或更低。
+ </li>
+ <li>必须已获得用户授æƒï¼Œèƒ½å¤Ÿå®‰è£…æ¥è‡ªæœªçŸ¥æ¥æºçš„应用。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+此外,设备实现应æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŒ‰åº”用授予/撤消安装未知æ¥æºçš„应用的æƒé™ï¼›ä½†å¦‚果设备实现ä¸å¸Œæœ›ä¸ºç”¨æˆ·æ供这ç§é€‰æ‹©ï¼Œåˆ™å¯ä»¥é€‰æ‹©å°†è¯¥åŠŸèƒ½å®žçŽ°ä¸ºç©ºæ“作,并针对 <a href="http://developer.android.com/reference/android/app/Activity.html#startActivityForResult%28android.content.Intent,int%29"><code>startActivityForResult()</code></a> 返回 <code>RESULT_CANCELED</code>。ä¸è¿‡ï¼Œå³ä½¿åœ¨è¿™ç§æƒ…况下,设备实现也应å‘用户表明为什么没有æ供这ç§é€‰æ‹©ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-7] 在已被系统 API <code>PackageManager.setHarmfulAppWarning</code> 标记为“å¯èƒ½æœ‰å®³â€çš„应用中å¯åŠ¨æŸé¡¹ Activity 之å‰ï¼Œå¿…é¡»å‘用户显示警告对è¯æ¡†ï¼Œå…¶ä¸­çš„警告字符串是通过åŒä¸€ç³»ç»Ÿ API <code>PackageManager.setHarmfulAppWarning</code> æ供的。
+ </p>
+ </li>
+ <li>应æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿåœ¨è­¦å‘Šå¯¹è¯æ¡†ä¸­é€‰æ‹©å¸è½½æˆ–å¯åŠ¨åº”用。
+ </li>
+ </ul>
+ <h2 id="5_multimedia_compatibility">
+5. 多媒体兼容性
+ </h2>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须支æŒ<a href="#5_1_media-codecs.md">第 5.1 节</a>中针对通过 <code>MediaCodecList</code> 声明的æ¯ç§ç¼–解ç å™¨å®šä¹‰çš„媒体格å¼ã€ç¼–ç å™¨ã€è§£ç å™¨ã€æ–‡ä»¶ç±»åž‹å’Œå®¹å™¨æ ¼å¼ã€‚
+ </li>
+ <li>[C-0-2] 必须通过 <a href="http://developer.android.com/reference/android/media/MediaCodecList.html"><code>MediaCodecList</code></a> 声明并报告支æŒå¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用的编ç å™¨å’Œè§£ç å™¨ã€‚
+ </li>
+ <li>[C-0-3] 必须能够解ç ï¼Œå¹¶å‘第三方应用通告它å¯ä»¥è§£ç çš„所有格å¼ã€‚其中包括其编ç å™¨ç”Ÿæˆçš„所有比特æµï¼Œä»¥åŠå…¶ <a href="http://developer.android.com/reference/android/media/CamcorderProfile.html"><code>CamcorderProfile</code></a> 中报告的é…置。
+ </li>
+ </ul>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应力争最大é™åº¦åœ°ç¼©çŸ­ç¼–解ç å™¨å»¶è¿Ÿï¼Œä¹Ÿå°±æ˜¯è¯´ï¼Œå®ƒä»¬
+ <ul>
+ <li>ä¸åº”使用和存储输入缓存,而应在处ç†ä¹‹åŽå°†å…¶è¿”回。
+ </li>
+ <li>æŒæœ‰å·²è§£ç ç¼“存的时间ä¸åº”超过相应标准(例如 SPS)指定的时间。
+ </li>
+ <li>æŒæœ‰å·²ç¼–ç ç¼“存的时间ä¸åº”超过 GOP 结构所è¦æ±‚的时间。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+在 Android å¼€æºé¡¹ç›®æ供的首选 Android 实现中,以下部分中列出的所有编解ç å™¨å‡ä½œä¸ºè½¯ä»¶å®žçŽ°æ供。
+ </p>
+ <p>
+请注æ„,Google 和开放手机è”盟 (Open Handset Alliance) å‡æœªåšè¿‡ä»»ä½•å…³äºŽè¿™äº›ç¼–解ç å™¨ä¸­æ²¡æœ‰ç¬¬ä¸‰æ–¹ä¸“利的声明。打算在硬件或软件产å“中使用该æºä»£ç çš„用户请注æ„,实现该代ç ï¼ˆåŒ…括在开放æºä»£ç è½¯ä»¶æˆ–共享软件中实现)å¯èƒ½éœ€è¦èŽ·å¾—相关专利æŒæœ‰è€…的专利许å¯ã€‚
+ </p>
+ <h3 id="5_1_media_codecs">
+5.1. 媒体编解ç å™¨
+ </h3>
+ <h4 id="5_1_1_audio_encoding">
+5.1.1. 音频编ç 
+ </h4>
+ <p>
+有关详情,请å‚阅 <a href="#5_1_3_audio_codecs_details">5.1.3. 音频编解ç å™¨è¯¦ç»†ä¿¡æ¯</a>。
+ </p>
+ <p>
+如果设备实现声明了 <code>android.hardware.microphone</code>,则必须支æŒä»¥ä¸‹éŸ³é¢‘ç¼–ç ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] PCM/WAVE
+ </li>
+ </ul>
+ <h4 id="5_1_2_audio_decoding">
+5.1.2. 音频解ç 
+ </h4>
+ <p>
+有关详情,请å‚阅 <a href="#5_1_3_audio_codecs_details">5.1.3. 音频编解ç å™¨è¯¦ç»†ä¿¡æ¯</a>。
+ </p>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>android.hardware.audio.output</code> 功能,则必须支æŒè§£ç ä»¥ä¸‹éŸ³é¢‘æ ¼å¼ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] MPEG-4 AAC Profile (AAC LC)
+ </li>
+ <li>[C-1-2] MPEG-4 HE AAC Profile (AAC+)
+ </li>
+ <li>[C-1-3] MPEG-4 HE AACv2 Profile(增强型 AAC+)
+ </li>
+ <li>[C-1-4] AAC ELD(增强型低延迟 AAC)
+ </li>
+ <li>[C-1-11] xHE-AAC(ISO/IEC 23003-3 Extended HE AAC Profileï¼ŒåŒ…å« USAC Baseline Profile å’Œ ISO/IEC 23003-4 Dynamic Range Control Profile)
+ </li>
+ <li>[C-1-5] FLAC
+ </li>
+ <li>[C-1-6] MP3
+ </li>
+ <li>[C-1-7] MIDI
+ </li>
+ <li>[C-1-8] Vorbis
+ </li>
+ <li>[C-1-9] PCM/WAVE
+ </li>
+ <li>[C-1-10] Opus
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒé€šè¿‡ <code>android.media.MediaCodec</code> API 中的默认 AAC 音频解ç å™¨å°†å¤šå£°é“音频æµï¼ˆå³è¶…过两个声é“)的 AAC 输入缓冲区解ç ä¸º PCM,则必须支æŒä»¥ä¸‹å„项:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须在ä¸ç¼©æ··çš„情况下进行解ç ï¼ˆä¾‹å¦‚,必须将 5.0 AAC 音频æµè§£ç ä¸ºäº”å£°é“ PCM,必须将 5.1 AAC 音频æµè§£ç ä¸ºå…­å£°é“ PCM)。
+ </li>
+ <li>[C-2-2] 动æ€èŒƒå›´å…ƒæ•°æ®å¿…é¡»ç¬¦åˆ ISO/IEC 14496-3 中“动æ€èŒƒå›´æŽ§åˆ¶ (DRC)â€éƒ¨åˆ†çš„定义;用于为音频解ç å™¨é…置动æ€èŒƒå›´ç›¸å…³è¡Œä¸ºçš„ <code>android.media.MediaFormat</code> DRC 键也必须符åˆè¯¥å®šä¹‰ã€‚这些 AAC DRC 键是在 API 21 级中引入的,分别为:<code>KEY_AAC_DRC_ATTENUATION_FACTOR</code>ã€<code>KEY_AAC_DRC_BOOST_FACTOR</code>ã€<code>KEY_AAC_DRC_HEAVY_COMPRESSION</code>ã€<code>KEY_AAC_DRC_TARGET_REFERENCE_LEVEL</code> å’Œ <code>KEY_AAC_ENCODED_TARGET_LEVEL</code>。
+ </li>
+ </ul>
+ <p>
+è§£ç  USAC 音频 MPEG-D (ISO/IEC 23003-4) 时:
+ </p>
+ <ul>
+ <li>[C-3-1] å¿…é¡»æ ¹æ® MPEG-D DRC Dynamic Range Control Profile Level 1 解读和应用音é‡åŠ DRC 元数æ®ã€‚
+ </li>
+ <li>[C-3-2] 解ç å™¨å¿…须按照通过以下 <code>android.media.MediaFormat</code> 键设置的é…置执行æ“作:<code>KEY_AAC_DRC_TARGET_REFERENCE_LEVEL</code> å’Œ <code>KEY_AAC_DRC_EFFECT_TYPE</code>。
+ </li>
+ </ul>
+ <p>
+MPEG-4 AACã€HE AAC å’Œ HE AACv2 é…置文件解ç å™¨ï¼š
+ </p>
+ <ul>
+ <li>å¯ä»¥é€šè¿‡ ISO/IEC 23003-4 Dynamic Range Control Profile 支æŒéŸ³é‡å’ŒåŠ¨æ€èŒƒå›´æŽ§åˆ¶ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ ISO/IEC 23003-4 且解ç çš„比特æµä¸­å­˜åœ¨ ISO/IEC 23003-4 å’Œ ISO/IEC 14496-3 元数æ®ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>ISO/IEC 23003-4 元数æ®çš„优先级应更高。
+ </li>
+ </ul>
+ <h4 id="5_1_3_audio_codecs_details">
+5.1.3. 音频编解ç å™¨è¯¦ç»†ä¿¡æ¯
+ </h4>
+ <table>
+ <tbody><tr>
+ <th>
+æ ¼å¼/编解ç å™¨
+ </th>
+ <th>
+详细信æ¯
+ </th>
+ <th>
+支æŒçš„文件类型/容器格å¼
+ </th>
+ </tr>
+ <tr>
+ <td>
+MPEG-4 AAC Profile<br />
+(AAC LC)
+ </td>
+ <td>
+支æŒå•å£°é“/立体声/5.0/5.1 内容,标准采样率为 8-48 kHz。
+ </td>
+ <td>
+ <ul>
+ <li class="table_list">3GPP (.3gp)
+ </li>
+ <li class="table_list">MPEG-4(.mp4ã€.m4a)
+ </li>
+ <li class="table_list">ADTS 原始 AAC(ä¸æ”¯æŒ .aacã€ADIF)
+ </li>
+ <li class="table_list">MPEG-TS(.ts,ä¸å¯æŸ¥æ‰¾ï¼‰
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+MPEG-4 HE AAC Profile (AAC+)
+ </td>
+ <td>
+支æŒå•å£°é“/立体声/5.0/5.1 内容,标准采样率为 16-48 kHz。
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+MPEG-4 HE AACv2<br />
+Profile(增强型 AAC+)
+ </td>
+ <td>
+支æŒå•å£°é“/立体声/5.0/5.1 内容,标准采样率为 16-48 kHz。
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+AAC ELD(增强型低延迟 AAC)
+ </td>
+ <td>支æŒå•å£°é“/立体声内容,标准采样率为 16-48 kHz。
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+USAC
+ </td>
+ <td>
+支æŒå•å£°é“/立体声内容,标准采样率为 7.35-48 kHz。
+ </td>
+ <td>
+ <ul>
+ <li>MPEG-4(.mp4ã€.m4a)
+ </li>
+ <li>LATM/LOAS(.loasã€.xhe)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+AMR-NB
+ </td>
+ <td>
+4.75-12.2 kbps,采样率为 8 kHz
+ </td>
+ <td>
+3GPP (.3gp)
+ </td>
+ </tr>
+ <tr>
+ <td>
+AMR-WB
+ </td>
+ <td>
+有 9 个比特率(介于 6.60-23.85 kbit/s 之间)å¯ä¾›é€‰æ‹©ï¼Œé‡‡æ ·çŽ‡ä¸º 16 kHz
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+FLAC
+ </td>
+ <td>
+å•å£°é“/立体声(éžå¤šå£°é“)。采样率最高å¯è¾¾ 48 kHz(但对于输出为 44.1 kHz 的设备,则建议最高ä¸è¶…过 44.1 kHz,因为 48-44.1 kHz çš„é™é‡‡æ ·å™¨ä¸åŒ…å«ä½Žé€šæ»¤æ³¢å™¨ï¼‰ã€‚建议使用 16 ä½ï¼›å¯¹äºŽ 24 ä½ï¼Œä¸ä¼šåº”用任何抖动。
+ </td>
+ <td>
+ä»…æ”¯æŒ FLAC (.flac)
+ </td>
+ </tr>
+ <tr>
+ <td>
+MP3
+ </td>
+ <td>
+å•å£°é“/立体声 8-320 Kbps æ’定 (CBR) 或å¯å˜æ¯”特率 (VBR)
+ </td>
+ <td>
+MP3 (.mp3)
+ </td>
+ </tr>
+ <tr>
+ <td>
+MIDI
+ </td>
+ <td>
+MIDI 类型为 0 å’Œ 1。DLS 版本为 1 å’Œ 2。XMF å’Œ Mobile XMF。支æŒé“ƒå£°æ ¼å¼ RTTTL/RTXã€OTA å’Œ iMelody
+ </td>
+ <td>
+ <ul>
+ <li class="table_list">类型 0 å’Œ 1(.midã€.xmfã€.mxmf)
+ </li>
+ <li class="table_list">RTTTL/RTX(.rtttlã€.rtx)
+ </li>
+ <li class="table_list">OTA (.ota)
+ </li>
+ <li class="table_list">iMelody (.imy)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+Vorbis
+ </td>
+ <td></td>
+ <td>
+ <ul>
+ <li class="table_list">Ogg (.ogg)
+ </li>
+ <li class="table_list">Matroska(.mkvã€Android 4.0+)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+PCM/WAVE
+ </td>
+ <td>
+16 ä½çº¿æ€§ PCM(比特率最高å¯è¾¾åˆ°ç¡¬ä»¶ä¸Šé™ï¼‰ã€‚设备必须支æŒä»¥ 8000ã€11025ã€16000 å’Œ 44100 Hz 频率录制原始 PCM 所需的采样率。
+ </td>
+ <td>
+WAVE (.wav)
+ </td>
+ </tr>
+ <tr>
+ <td>
+Opus
+ </td>
+ <td></td>
+ <td>
+Matroska (.mkv)ã€Ogg (.ogg)
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_1_4_image_encoding">
+5.1.4. 图åƒç¼–ç 
+ </h4>
+ <p>
+有关详情,请å‚阅 <a href="#5_1_6_image_codecs_details">5.1.6. 图åƒç¼–解ç å™¨è¯¦ç»†ä¿¡æ¯</a>。
+ </p>
+ <p>
+设备实现必须支æŒä»¥ä¸‹å›¾åƒç¼–ç ï¼š
+ </p>
+ <ul>
+ <li>[C-0-1] JPEG
+ </li>
+ <li>[C-0-2] PNG
+ </li>
+ <li>[C-0-3] WebP
+ </li>
+ </ul>
+ <h4 id="5_1_5_image_decoding">
+5.1.5. 图åƒè§£ç 
+ </h4>
+ <p>
+有关详情,请å‚阅 <a href="#5_1_6_image_codecs_details">5.1.6. 图åƒç¼–解ç å™¨è¯¦ç»†ä¿¡æ¯</a>。
+ </p>
+ <p>
+设备实现必须支æŒä»¥ä¸‹å›¾åƒè§£ç ï¼š
+ </p>
+ <ul>
+ <li>[C-0-1] JPEG
+ </li>
+ <li>[C-0-2] GIF
+ </li>
+ <li>[C-0-3] PNG
+ </li>
+ <li>[C-0-4] BMP
+ </li>
+ <li>[C-0-5] WebP
+ </li>
+ <li>[C-0-6] Raw
+ </li>
+ <li>[C-0-7] HEIF (HEIC)
+ </li>
+ </ul>
+ <h4 id="5_1_6_image_codecs_details">
+5.1.6. 图åƒç¼–解ç å™¨è¯¦ç»†ä¿¡æ¯
+ </h4>
+ <table>
+ <tbody><tr>
+ <th>
+æ ¼å¼/编解ç å™¨
+ </th>
+ <th>
+详细信æ¯
+ </th>
+ <th>
+支æŒçš„文件类型/容器格å¼
+ </th>
+ </tr>
+ <tr>
+ <td>
+JPEG
+ </td>
+ <td>
+åŸºæœ¬å¼ + æ¸è¿›å¼
+ </td>
+ <td>
+JPEG (.jpg)
+ </td>
+ </tr>
+ <tr>
+ <td>
+GIF
+ </td>
+ <td></td>
+ <td>
+GIF (.gif)
+ </td>
+ </tr>
+ <tr>
+ <td>
+PNG
+ </td>
+ <td></td>
+ <td>
+PNG (.png)
+ </td>
+ </tr>
+ <tr>
+ <td>
+BMP
+ </td>
+ <td></td>
+ <td>
+BMP (.bmp)
+ </td>
+ </tr>
+ <tr>
+ <td>
+WebP
+ </td>
+ <td></td>
+ <td>
+WebP (.webp)
+ </td>
+ </tr>
+ <tr>
+ <td>
+Raw
+ </td>
+ <td></td>
+ <td>
+ARW (.arw)ã€CR2 (.cr2)ã€DNG (.dng)ã€NEF (.nef)ã€NRW (.nrw)ã€ORF (.orf)ã€PEF (.pef)ã€RAF (.raf)ã€RW2 (.rw2)ã€SRW (.srw)
+ </td>
+ </tr>
+ <tr>
+ <td>
+HEIF
+ </td>
+ <td>
+图åƒã€å›¾åƒé›†ã€å›¾åƒåºåˆ—
+ </td>
+ <td>
+HEIF (.heif)ã€HEIC (.heic)
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_1_7_video_codecs">
+5.1.7. 视频编解ç å™¨
+ </h4>
+ <ul>
+ <li>为了使网络视频æµå’Œè§†é¢‘会议æœåŠ¡çš„è´¨é‡è¾¾åˆ°å¯æŽ¥å—的水平,设备实现应使用满足<a href="http://www.webmproject.org/hardware/rtc-coding-requirements/">è¦æ±‚</a>的硬件 VP8 编解ç å™¨ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«è§†é¢‘解ç å™¨æˆ–ç¼–ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 视频编解ç å™¨å¿…须支æŒç¬¦åˆä»¥ä¸‹æ¡ä»¶çš„输出和输入字节缓冲区大å°ï¼šèƒ½å¤Ÿå®¹çº³ç›¸åº”标准和é…置规定的最大å¯è¡ŒåŽ‹ç¼©å¸§å’ŒæœªåŽ‹ç¼©å¸§ï¼Œå¹¶ä¸”ä¸ä¼šè¿‡åº¦åˆ†é…。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] 视频编ç å™¨å’Œè§£ç å™¨å¿…é¡»æ”¯æŒ YUV420 çµæ´»é¢œè‰²æ ¼å¼ (COLOR_FormatYUV420Flexible)。
+ </p>
+ </li>
+ </ul>
+ <p>
+如果设备实现通过 <a href="https://developer.android.com/reference/android/view/Display.HdrCapabilities.html"><code>Display.HdrCapabilities</code></a> é€šå‘Šæ”¯æŒ HDR é…置,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒè§£æžå’Œå¤„ç† HDR é™æ€å…ƒæ•°æ®ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现通过 <a href="https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#FEATURE_IntraRefresh"><code>MediaCodecInfo.CodecCapabilities</code></a> 类中的 <code>FEATURE_IntraRefresh</code> 通告支æŒå¸§å†…刷新,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须支æŒä»‹äºŽ 10-60 帧的刷新周期,并且必须在é…置的刷新周期的 20% 内准确è¿è¡Œã€‚
+ </li>
+ </ul>
+ <h4 id="5_1_8_video_codecs_list">
+5.1.8. 视频编解ç å™¨åˆ—表
+ </h4>
+ <table>
+ <tbody><tr>
+ <th>
+æ ¼å¼/编解ç å™¨
+ </th>
+ <th>
+详细信æ¯
+ </th>
+ <th>
+支æŒçš„文件类型/<br />
+容器格å¼
+ </th>
+ </tr>
+ <tr>
+ <td>
+H.263
+ </td>
+ <td></td>
+ <td>
+ <ul>
+ <li class="table_list">3GPP (.3gp)
+ </li>
+ <li class="table_list">MPEG-4 (.mp4)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+H.264 AVC
+ </td>
+ <td>
+有关详情,请å‚阅<a href="#5_2_video_encoding">第 5.2 节</a>å’Œ<a href="#5_3_video_decoding">第 5.3 节</a>
+ </td>
+ <td>
+ <ul>
+ <li class="table_list">3GPP (.3gp)
+ </li>
+ <li class="table_list">MPEG-4 (.mp4)
+ </li>
+ <li class="table_list">MPEG-2 TS(.tsï¼Œä»…é™ AAC 音频,ä¸å¯æŸ¥æ‰¾ï¼ŒAndroid 3.0+)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+H.265 HEVC
+ </td>
+ <td>
+有关详情,请å‚阅<a href="#5_3_video_decoding">第 5.3 节</a>
+ </td>
+ <td>
+MPEG-4 (.mp4)
+ </td>
+ </tr>
+ <tr>
+ <td>
+MPEG-2
+ </td>
+ <td>
+Main Profile
+ </td>
+ <td>
+MPEG2-TS
+ </td>
+ </tr>
+ <tr>
+ <td>
+MPEG-4 SP
+ </td>
+ <td></td>
+ <td>
+3GPP (.3gp)
+ </td>
+ </tr>
+ <tr>
+ <td>
+VP8
+ </td>
+ <td>
+有关详情,请å‚阅<a href="#5_2_video_encoding">第 5.2 节</a>å’Œ<a href="#5_3_video_decoding">第 5.3 节</a>
+ </td>
+ <td>
+ <ul>
+ <li class="table_list">
+ <a href="http://www.webmproject.org/">WebM (.webm)</a>
+ </li>
+ <li class="table_list">Matroska (.mkv)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+VP9
+ </td>
+ <td>
+有关详情,请å‚阅<a href="#5_3_video_decoding">第 5.3 节</a>
+ </td>
+ <td>
+ <ul>
+ <li class="table_list">
+ <a href="http://www.webmproject.org/">WebM (.webm)</a>
+ </li>
+ <li class="table_list">Matroska (.mkv)
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </tbody></table>
+ <h3 id="5_2_video_encoding">
+5.2. 视频编ç 
+ </h3>
+ <p>
+如果设备实现支æŒä»»ä½•è§†é¢‘ç¼–ç å™¨ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>采用两个滑窗时,比帧内 (I-frame) 间隔之间的比特率高出的幅度ä¸åº”超过 15% å·¦å³ã€‚
+ </li>
+ <li>比采用一个 1 秒的滑窗时的比特率高出的幅度ä¸åº”超过 100% å·¦å³ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¯¹è§’线长度至少为 2.5 英寸的嵌入å¼æ˜¾ç¤ºå±ï¼Œæˆ–包å«è§†é¢‘输出端å£ï¼Œæˆ–通过 <code>android.hardware.camera.any</code> 功能标记声明支æŒæ‘„åƒå¤´ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒè‡³å°‘一个 VP8 或 H.264 视频编ç å™¨ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用。
+ </li>
+ <li>应åŒæ—¶æ”¯æŒ VP8 å’Œ H.264 视频编ç å™¨ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ H.264ã€VP8ã€VP9 或 HEVC 视频编ç å™¨ä¸­çš„任何一个,并使其å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒå¯åŠ¨æ€é…置的比特率。
+ </li>
+ <li>应支æŒå¯å˜å¸§é€ŸçŽ‡ï¼Œåœ¨è¿™ç§æƒ…况下,视频编ç å™¨åº”æ ¹æ®è¾“入缓存的时间戳æ¥ç¡®å®šçž¬æ—¶å¸§æ—¶é•¿ï¼Œå¹¶æ ¹æ®è¯¥æ—¶é•¿æ¥åˆ†é…å…¶ä½å­˜å‚¨åˆ†åŒºã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ MPEG-4 SP 视频编ç å™¨ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>应针对支æŒçš„ç¼–ç å™¨æ”¯æŒå¯åŠ¨æ€é…置的比特率。
+ </li>
+ </ul>
+ <h4 id="5_2_1_h_263">
+5.2.1. H.263
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ H.263 ç¼–ç å™¨ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Baseline Profile Level 45。
+ </li>
+ <li>应针对支æŒçš„ç¼–ç å™¨æ”¯æŒå¯åŠ¨æ€é…置的比特率。
+ </li>
+ </ul>
+ <h4 id="5_2_2_h-264">
+5.2.2. H-264
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ H.264 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Baseline Profile Level 3。ä¸è¿‡ï¼Œå¯ä»¥é€‰æ‹©æ˜¯å¦æ”¯æŒ ASO(任æ„切片顺åºï¼‰ã€FMO(çµæ´»å®å—顺åºï¼‰å’Œ RS(冗切片)。此外,为了ä¿æŒä¸Žå…¶ä»– Android 设备兼容,对于 Baseline Profile,建议编ç å™¨ä¸è¦ä½¿ç”¨ ASOã€FMO å’Œ RS。
+ </li>
+ <li>[C-1-2] 必须支æŒä¸‹è¡¨ä¸­çš„标清视频编ç é…置。
+ </li>
+ <li>åº”æ”¯æŒ Main Profile Level 4。
+ </li>
+ <li>应支æŒä¸‹è¡¨ä¸­æ‰€åˆ—的高清视频编ç é…置。
+ </li>
+ </ul>
+ <p>
+如果设备实现通过媒体 API 报告支æŒå¯¹åˆ†è¾¨çŽ‡ä¸º 720p 或 1080p 的视频进行 H.264 ç¼–ç ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒä¸‹è¡¨ä¸­çš„ç¼–ç é…置。
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>
+标清(低画质)
+ </th>
+ <th>
+标清(高画质)
+ </th>
+ <th>
+高清 720p
+ </th>
+ <th>
+高清 1080p
+ </th>
+ </tr>
+ <tr>
+ <th>
+视频分辨率
+ </th>
+ <td>
+320 x 240 åƒç´ 
+ </td>
+ <td>
+720 x 480 åƒç´ 
+ </td>
+ <td>
+1280 x 720 åƒç´ 
+ </td>
+ <td>
+1920 x 1080 åƒç´ 
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频帧速率
+ </th>
+ <td>
+20 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频比特率
+ </th>
+ <td>
+384 Kbps
+ </td>
+ <td>
+2 Mbps
+ </td>
+ <td>
+4 Mbps
+ </td>
+ <td>
+10 Mbps
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_2_3_vp8">
+5.2.3. VP8
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VP8 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒæ ‡æ¸…视频编ç é…置。
+ </li>
+ <li>应支æŒä»¥ä¸‹é«˜æ¸…视频编ç é…置。
+ </li>
+ <li>应支æŒå†™å…¥ Matroska WebM 文件。
+ </li>
+ <li>应使用满足 <a href="http://www.webmproject.org/hardware/rtc-coding-requirements">WebM 项目 RTC 硬件编ç è¦æ±‚</a>的硬件 VP8 编解ç å™¨ï¼Œä»¥ç¡®ä¿ç½‘络视频æµå’Œè§†é¢‘会议æœåŠ¡çš„è´¨é‡è¾¾åˆ°å¯æŽ¥å—的水平。
+ </li>
+ </ul>
+ <p>
+如果设备实现通过媒体 API 报告支æŒå¯¹åˆ†è¾¨çŽ‡ä¸º 720p 或 1080p 的视频进行 VP8 ç¼–ç ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒä¸‹è¡¨ä¸­çš„ç¼–ç é…置。
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>
+标清(低画质)
+ </th>
+ <th>
+标清(高画质)
+ </th>
+ <th>
+高清 720p
+ </th>
+ <th>
+高清 1080p
+ </th>
+ </tr>
+ <tr>
+ <th>
+视频分辨率
+ </th>
+ <td>
+320 x 180 åƒç´ 
+ </td>
+ <td>
+640 x 360 åƒç´ 
+ </td>
+ <td>
+1280 x 720 åƒç´ 
+ </td>
+ <td>
+1920 x 1080 åƒç´ 
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频帧速率
+ </th>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频比特率
+ </th>
+ <td>
+800 Kbps
+ </td>
+ <td>
+2 Mbps
+ </td>
+ <td>
+4 Mbps
+ </td>
+ <td>
+10 Mbps
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_2_4_vp9">
+5.2.4. VP9
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VP9 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>应支æŒå†™å…¥ Matroska WebM 文件。
+ </li>
+ </ul>
+ <h3 id="5_3_video_decoding">
+5.3. 视频解ç 
+ </h3>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VP8ã€VP9ã€H.264 或 H.265 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 对于所有 VP8ã€VP9ã€H.264 å’Œ H.265 编解ç å™¨ï¼Œéƒ½å¿…须支æŒé€šè¿‡æ ‡å‡† Android API 在åŒä¸€è§†é¢‘æµå†…实时进行动æ€è§†é¢‘分辨率和帧速率切æ¢ï¼Œå¹¶ä¸”能够支æŒè®¾å¤‡ä¸Šæ¯ä¸ªç¼–解ç å™¨æ‰€æ”¯æŒçš„最大分辨率。
+ </li>
+ </ul>
+ <p>
+如果设备实现通过 <a href="https://developer.android.com/reference/android/view/Display.HdrCapabilities.html#HDR_TYPE_DOLBY_VISION"><code>HDR_TYPE_DOLBY_VISION</code></a> 声明支æŒæœæ¯”视界解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»æ供具有æœæ¯”视界功能的æå–器。
+ </li>
+ <li>[C-2-2] 必须在设备å±å¹•æˆ–标准视频输出端å£ï¼ˆä¾‹å¦‚ HDMI)上正确显示æœæ¯”视界内容。
+ </li>
+ <li>[C-2-3] 必须将å‘åŽå…¼å®¹çš„基本层(如果存在)的轨é“索引设为与组åˆå¼æœæ¯”视界层的轨é“索引相åŒã€‚
+ </li>
+ </ul>
+ <h4 id="5_3_1_mpeg-2">
+5.3.1. MPEG-2
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ MPEG-2 解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Main Profile High Level。
+ </li>
+ </ul>
+ <h4 id="5_3_2_h_263">
+5.3.2. H.263
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ H.263 解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Baseline Profile Level 30 å’Œ Level 45。
+ </li>
+ </ul>
+ <h4 id="5_3_3_mpeg-4">
+5.3.3. MPEG-4
+ </h4>
+ <p>
+如果设备实现具有 MPEG-4 解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Simple Profile Level 3。
+ </li>
+ </ul>
+ <h4 id="5_3_4_h_264">
+5.3.4. H.264
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ H.264 解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Main Profile Level 3.1 å’Œ Baseline Profile。å¯ä»¥é€‰æ‹©æ˜¯å¦æ”¯æŒ ASO(任æ„切片顺åºï¼‰ã€FMO(çµæ´»å®å—顺åºï¼‰å’Œ RS(冗切片)。
+ </li>
+ <li>[C-1-2] 必须能够对以下视频进行解ç ï¼šé‡‡ç”¨ä¸‹è¡¨ä¸­æ‰€åˆ—的标清é…置,且使用 Baseline Profile å’Œ Main Profile Level 3.1(包括 720p30)编ç çš„视频。
+ </li>
+ <li>应能够对采用下表中所列高清é…置的视频进行解ç ã€‚
+ </li>
+ </ul>
+ <p>
+如果 <code>Display.getSupportedModes()</code> 方法报告的高度等于或大于视频分辨率,则设备实现:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒä¸‹è¡¨ä¸­çš„高清 720p 视频解ç é…置。
+ </li>
+ <li>[C-2-2] 必须支æŒä¸‹è¡¨ä¸­çš„高清 1080p 视频解ç é…置。
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>
+标清(低画质)
+ </th>
+ <th>
+标清(高画质)
+ </th>
+ <th>
+高清 720p
+ </th>
+ <th>
+高清 1080p
+ </th>
+ </tr>
+ <tr>
+ <th>
+视频分辨率
+ </th>
+ <td>
+320 x 240 åƒç´ 
+ </td>
+ <td>
+720 x 480 åƒç´ 
+ </td>
+ <td>
+1280 x 720 åƒç´ 
+ </td>
+ <td>
+1920 x 1080 åƒç´ 
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频帧速率
+ </th>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+60 fps
+ </td>
+ <td>
+30 fps (60 fps<sup>TV</sup>)
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频比特率
+ </th>
+ <td>
+800 Kbps
+ </td>
+ <td>
+2 Mbps
+ </td>
+ <td>
+8 Mbps
+ </td>
+ <td>
+20 Mbps
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_3_5_h_265_(hevc)">
+5.3.5. H.265 (HEVC)
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ H.265 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ Main Profile Level 3 Main Tier 和下表中所列的标清视频解ç é…置。
+ </li>
+ <li>应支æŒä¸‹è¡¨ä¸­æ‰€åˆ—的高清解ç é…置。
+ </li>
+ <li>[C-1-2] 必须支æŒä¸‹è¡¨ä¸­æ‰€åˆ—的高清解ç é…置(如果有硬件解ç å™¨çš„è¯ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+如果 <code>Display.getSupportedModes()</code> 方法报告的高度等于或大于视频分辨率,则:
+ </p>
+ <ul>
+ <li>[C-2-1] è®¾å¤‡å®žçŽ°å¿…é¡»è‡³å°‘æ”¯æŒ 720ã€1080 和超高清é…置的 H.265 或 VP9 解ç ä¹‹ä¸€ã€‚
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>
+标清(低画质)
+ </th>
+ <th>
+标清(高画质)
+ </th>
+ <th>
+高清 720p
+ </th>
+ <th>
+高清 1080p
+ </th>
+ <th>
+超高清
+ </th>
+ </tr>
+ <tr>
+ <th>
+视频分辨率
+ </th>
+ <td>
+352 x 288 åƒç´ 
+ </td>
+ <td>
+720 x 480 åƒç´ 
+ </td>
+ <td>
+1280 x 720 åƒç´ 
+ </td>
+ <td>
+1920 x 1080 åƒç´ 
+ </td>
+ <td>
+3840 x 2160 åƒç´ 
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频帧速率
+ </th>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30/60 fps(60 fps<sup>采用 H.265 硬件解ç çš„ TV</sup>)
+ </td>
+ <td>
+60 fps
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频比特率
+ </th>
+ <td>
+600 Kbps
+ </td>
+ <td>
+1.6 Mbps
+ </td>
+ <td>
+4 Mbps
+ </td>
+ <td>
+5 Mbps
+ </td>
+ <td>
+20 Mbps
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_3_6_vp8">
+5.3.6. VP8
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VP8 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒä¸‹è¡¨ä¸­çš„标清解ç é…置。
+ </li>
+ <li>应使用满足<a href title="http://www.webmproject.org/hardware/rtc-coding-requirements/">è¦æ±‚</a>的硬件 VP8 编解ç å™¨ã€‚
+ </li>
+ <li>应支æŒä¸‹è¡¨ä¸­çš„高清解ç é…置。
+ </li>
+ </ul>
+ <p>
+如果 <code>Display.getSupportedModes()</code> 方法报告的高度等于或大于视频分辨率,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 设备实现必须支æŒä¸‹è¡¨ä¸­çš„ 720p é…置。
+ </li>
+ <li>[C-2-2] 设备实现必须支æŒä¸‹è¡¨ä¸­çš„ 1080p é…置。
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>
+标清(低画质)
+ </th>
+ <th>
+标清(高画质)
+ </th>
+ <th>
+高清 720p
+ </th>
+ <th>
+高清 1080p
+ </th>
+ </tr>
+ <tr>
+ <th>
+视频分辨率
+ </th>
+ <td>
+320 x 180 åƒç´ 
+ </td>
+ <td>
+640 x 360 åƒç´ 
+ </td>
+ <td>
+1280 x 720 åƒç´ 
+ </td>
+ <td>
+1920 x 1080 åƒç´ 
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频帧速率
+ </th>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps (60 fps<sup>TV</sup>)
+ </td>
+ <td>
+30 (60 fps<sup>TV</sup>)
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频比特率
+ </th>
+ <td>
+800 Kbps
+ </td>
+ <td>
+2 Mbps
+ </td>
+ <td>
+8 Mbps
+ </td>
+ <td>
+20 Mbps
+ </td>
+ </tr>
+ </tbody></table>
+ <h4 id="5_3_7_vp9">
+5.3.7. VP9
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VP9 编解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒä¸‹è¡¨ä¸­æ‰€åˆ—的标清视频解ç é…置。
+ </li>
+ <li>应支æŒä¸‹è¡¨ä¸­æ‰€åˆ—的高清解ç é…置。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VP9 编解ç å™¨å’Œç¡¬ä»¶è§£ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒä¸‹è¡¨ä¸­æ‰€åˆ—的高清解ç é…置。
+ </li>
+ </ul>
+ <p>
+如果 <code>Display.getSupportedModes()</code> 方法报告的高度等于或大于视频分辨率,则:
+ </p>
+ <ul>
+ <li>[C-3-1] è®¾å¤‡å®žçŽ°å¿…é¡»è‡³å°‘æ”¯æŒ 720ã€1080 和超高清é…置的 VP9 或 H.265 解ç ä¹‹ä¸€ã€‚
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th></th>
+ <th>
+标清(低画质)
+ </th>
+ <th>
+标清(高画质)
+ </th>
+ <th>
+高清 720p
+ </th>
+ <th>
+高清 1080p
+ </th>
+ <th>
+超高清
+ </th>
+ </tr>
+ <tr>
+ <th>
+视频分辨率
+ </th>
+ <td>
+320 x 180 åƒç´ 
+ </td>
+ <td>
+640 x 360 åƒç´ 
+ </td>
+ <td>
+1280 x 720 åƒç´ 
+ </td>
+ <td>
+1920 x 1080 åƒç´ 
+ </td>
+ <td>
+3840 x 2160 åƒç´ 
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频帧速率
+ </th>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps
+ </td>
+ <td>
+30 fps(60 fps<sup>采用 VP9 硬件解ç çš„ TV</sup>)
+ </td>
+ <td>
+60 fps
+ </td>
+ </tr>
+ <tr>
+ <th>
+视频比特率
+ </th>
+ <td>
+600 Kbps
+ </td>
+ <td>
+1.6 Mbps
+ </td>
+ <td>
+4 Mbps
+ </td>
+ <td>
+5 Mbps
+ </td>
+ <td>
+20 Mbps
+ </td>
+ </tr>
+ </tbody></table>
+ <h3 id="5_4_audio_recording">
+5.4. 录音
+ </h3>
+ <p>
+虽然从 Android 4.3 开始,本节中所述的一些è¦æ±‚列为了“应â€æ»¡è¶³çš„è¦æ±‚,但我们计划在未æ¥ç‰ˆæœ¬çš„兼容性定义中将其更改为“必须â€æ»¡è¶³çš„è¦æ±‚。<strong>强烈建议</strong>现有的åŠæ–°çš„ Android 设备满足这些列为“应â€æ»¡è¶³çš„è¦æ±‚,å¦åˆ™åœ¨å‡çº§åˆ°æœªæ¥ç‰ˆæœ¬åŽå°†æ— æ³•ä¸Ž Android 兼容。
+ </p>
+ <h4 id="5_4_1_raw_audio_capture">
+5.4.1. 原始音频采集
+ </h4>
+ <p>
+如果设备实现声明了 <code>android.hardware.microphone</code>,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] å¿…é¡»å…许采集具有以下特å¾çš„原始音频内容:
+ </p>
+ <ul>
+ <li>
+ <strong>æ ¼å¼</strong>:16 ä½çº¿æ€§ PCM
+ </li>
+ <li>
+ <strong>采样率</strong>:8000ã€11025ã€16000ã€44100 Hz
+ </li>
+ <li>
+ <strong>声é“</strong>:å•å£°é“
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-1-2] 必须在ä¸è¿›è¡Œå‡é‡‡æ ·çš„情况下以上述采样率采集音频内容。
+ </p>
+ </li>
+ <li>[C-1-3] 在进行é™é‡‡æ ·çš„情况下以上述采样率采集音频内容时,必须包å«é€‚当的抗混å æ»¤æ³¢å™¨ã€‚
+ </li>
+ <li>
+ <p>
+应å…许以 AM 收音机和 DVD å“质采集原始音频内容,å³å…·æœ‰ä»¥ä¸‹ç‰¹å¾çš„音频内容:
+ </p>
+ <ul>
+ <li>
+ <strong>æ ¼å¼</strong>:16 ä½çº¿æ€§ PCM
+ </li>
+ <li>
+ <strong>采样率</strong>:22050ã€48000 Hz
+ </li>
+ <li>
+ <strong>声é“</strong>:立体声
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果设备实现å…许以 AM 收音机和 DVD å“质采集原始音频内容,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须在ä¸è¿›è¡Œå‡é‡‡æ ·çš„情况下以高于 16000:22050 或 44100:48000 çš„ä»»æ„采样率采集音频内容。
+ </li>
+ <li>[C-2-2] 对于任何å‡é‡‡æ ·æˆ–é™é‡‡æ ·ï¼Œå¿…须包å«é€‚当的抗混å æ»¤æ³¢å™¨ã€‚
+ </li>
+ </ul>
+ <h4 id="5_4_2_capture_for_voice_recognition">
+5.4.2. 采集音频æµä»¥è¿›è¡Œè¯­éŸ³è¯†åˆ«
+ </h4>
+ <p>
+如果设备实现声明了 <code>android.hardware.microphone</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须以 44100 或 48000 的采样率采集æ¥è‡ª <code>android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION</code> 音频æºçš„音频æµã€‚
+ </li>
+ <li>[C-1-2] 在录制æ¥è‡ª <code>AudioSource.VOICE_RECOGNITION</code> 音频æºçš„音频æµæ—¶ï¼Œå¿…须默认åœç”¨æ‰€æœ‰é™å™ªéŸ³é¢‘处ç†ã€‚
+ </li>
+ <li>[C-1-3] 在录制æ¥è‡ª <code>AudioSource.VOICE_RECOGNITION</code> 音频æºçš„音频æµæ—¶ï¼Œå¿…须默认åœç”¨æ‰€æœ‰è‡ªåŠ¨å¢žç›ŠæŽ§åˆ¶ã€‚
+ </li>
+ <li>在录制语音识别音频æµæ—¶ï¼Œåº”ä¿æŒå¤§è‡´å¹³å¦çš„幅频特性,具体æ¥è¯´å°±æ˜¯ï¼šÂ±3 dB (100 Hz - 4000 Hz)。
+ </li>
+ <li>在录制语音识别音频æµæ—¶ï¼Œåº”设置适当的输入æ•æ„Ÿåº¦ï¼Œä»¥ç¡®ä¿å¯¹äºŽ 16 ä½çš„样本,1000 Hz çš„ 90 dB 声压级 (SPL) 音频æºäº§ç”Ÿçš„ RMS 为 2500。
+ </li>
+ <li>在录制语音识别音频æµæ—¶ï¼Œå¦‚果麦克风上的 SPL 为 90 dB,则 PCM 振幅级应能够线性跟踪输入 SPL 在至少 30 dB(-18 dB 到 +12 dB)范围内的å˜åŒ–。
+ </li>
+ <li>在录制语音识别音频æµæ—¶ï¼Œå¦‚果麦克风上输入 1 kHz çš„ 90 dB SPL 声音,则总è°æ³¢ç•¸å˜çŽ‡åº”å°äºŽ 1%。
+ </li>
+ </ul>
+ <p>
+如果设备实现声明了 <code>android.hardware.microphone</code>,并声明了已针对语音识别进行微调的噪声抑制(é™å™ªï¼‰æŠ€æœ¯ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»å…许通过 <code>android.media.audiofx.NoiseSuppressor</code> API 控制此音频影å“。
+ </li>
+ <li>[C-2-2] 必须通过 <code>AudioEffect.Descriptor.uuid</code> 字段唯一标识æ¯é¡¹å™ªå£°æŠ‘制技术实现。
+ </li>
+ </ul>
+ <h4 id="5_4_3_capture_for_rerouting_of_playback">
+5.4.3. 采集音频æµä»¥è¿›è¡Œé‡å®šå‘播放
+ </h4>
+ <p>
+<code>android.media.MediaRecorder.AudioSource</code> ç±»åŒ…å« <code>REMOTE_SUBMIX</code> 音频æºã€‚
+ </p>
+ <p>
+如果设备实现声明了 <code>android.hardware.audio.output</code> 和 <code>android.hardware.microphone</code>,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须正确实现 <code>REMOTE_SUBMIX</code> 音频æºï¼Œä»¥ä¾¿åº”用使用 <code>android.media.AudioRecord</code> API 录制æ¥è‡ªè¯¥éŸ³é¢‘æºçš„音频æµæ—¶ï¼Œå¯ä»¥é‡‡é›†é™¤ä»¥ä¸‹å†…容之外的所有音频æµçš„混音:
+ </p>
+ <ul>
+ <li>
+ <code>AudioManager.STREAM_RING</code>
+ </li>
+ <li>
+ <code>AudioManager.STREAM_ALARM</code>
+ </li>
+ <li>
+ <code>AudioManager.STREAM_NOTIFICATION</code>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h3 id="5_5_audio_playback">
+5.5. 音频播放
+ </h3>
+ <p>
+Android 包å«ç›¸åº”的支æŒï¼Œä»¥ä¾¿åº”用通过音频输出外围设备(如第 7.8.2 节中定义)播放音频。
+ </p>
+ <h4 id="5_5_1_raw_audio_playback">
+5.5.1. 原始音频播放
+ </h4>
+ <p>
+如果设备实现声明了 <code>android.hardware.audio.output</code>,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] å¿…é¡»å…许播放具有以下特å¾çš„原始音频内容:
+ </p>
+ <ul>
+ <li>
+ <strong>æ ¼å¼</strong>:线性 PCM,16 ä½ã€8 ä½ã€æµ®ç‚¹åž‹
+ </li>
+ <li>
+ <strong>声é“</strong>:å•å£°é“ã€ç«‹ä½“声,有效的多声é“é…置支æŒå¤šè¾¾ 8 声é“
+ </li>
+ <li>
+ <strong>采样率(以 Hz 为å•ä½ï¼‰</strong>:
+ <ul>
+ <li>8000ã€11025ã€16000ã€22050ã€32000ã€44100ã€48000(声é“é…置如上所列)
+ </li>
+ <li>96000(å•å£°é“和立体声)
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+应å…许播放具有以下特å¾çš„原始音频内容:
+ </p>
+ <ul>
+ <li>
+ <strong>采样率</strong>:24000ã€48000
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h4 id="5_5_2_audio_effects">
+5.5.2. 音效
+ </h4>
+ <p>
+Android 为设备实现æ供了<a href="http://developer.android.com/reference/android/media/audiofx/AudioEffect.html">音效 API</a>。
+ </p>
+ <p>
+如果设备实现声明了 <code>android.hardware.audio.output</code> 功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ <code>EFFECT_TYPE_EQUALIZER</code> å’Œ <code>EFFECT_TYPE_LOUDNESS_ENHANCER</code> 实现(å¯é€šè¿‡ AudioEffect å­ç±» <code>Equalizer</code> å’Œ <code>LoudnessEnhancer</code> 进行控制)。
+ </li>
+ <li>[C-1-2] 必须支æŒå¯è§†åŒ–工具 API 实现(å¯é€šè¿‡ <code>Visualizer</code> 类进行控制)。
+ </li>
+ <li>[C-1-3] å¿…é¡»æ”¯æŒ <code>EFFECT_TYPE_DYNAMICS_PROCESSING</code> 实现(å¯é€šè¿‡ AudioEffect å­ç±» <a href="https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing"><code>DynamicsProcessing</code></a> 进行控制)。
+ </li>
+ <li>åº”æ”¯æŒ <code>EFFECT_TYPE_BASS_BOOST</code>ã€<code>EFFECT_TYPE_ENV_REVERB</code>ã€<code>EFFECT_TYPE_PRESET_REVERB</code> å’Œ <code>EFFECT_TYPE_VIRTUALIZER</code> 实现(å¯é€šè¿‡ <code>AudioEffect</code> å­ç±» <code>BassBoost</code>ã€<code>EnvironmentalReverb</code>ã€<code>PresetReverb</code> å’Œ <code>Virtualizer</code> 进行控制)。
+ </li>
+ </ul>
+ <h4 id="5_5_3_audio_output_volume">
+5.5.3. 音频输出音é‡
+ </h4>
+ <p>
+Automotive 设备实现:
+ </p>
+ <ul>
+ <li>应å…许按æ¯ä¸ªéŸ³é¢‘æµå•ç‹¬è°ƒæ•´éŸ³é¢‘音é‡ï¼ˆä½¿ç”¨é€šè¿‡ <a href title="http://developer.android.com/reference/android/media/AudioAttributes.html">AudioAttributes</a> å®šä¹‰çš„å†…å®¹ç±»åž‹æˆ–ç”¨æ³•ï¼Œä»¥åŠ <code>android.car.CarAudioManager</code> 中公开定义的车载音频系统用法)。
+ </li>
+ </ul>
+ <h3 id="5_6_audio_latency">
+5.6. 音频延迟
+ </h3>
+ <p>
+音频延迟是指音频信å·é€šè¿‡ç³»ç»Ÿæ—¶çš„时间延迟。许多类别的应用都ä¾èµ–éžå¸¸çŸ­çš„延迟æ¥å®žçŽ°å®žæ—¶éŸ³æ•ˆã€‚
+ </p>
+ <p>
+在本节中,使用以下定义:
+ </p>
+ <ul>
+ <li>
+ <strong>输出延迟</strong>:从应用写入ç»è¿‡ PCM ç¼–ç çš„æ•°æ®å¸§åˆ°ç›¸åº”声音在设备内置转æ¢å™¨å¤„的环境中播放出æ¥ä¹‹é—´çš„时间间隔,或者从信å·é€šè¿‡ç«¯å£ç¦»å¼€è®¾å¤‡åˆ°å¯åœ¨å¤–部å¬åˆ°ç›¸åº”声音之间的时间间隔。
+ </li>
+ <li>
+ <strong>冷输出延迟</strong>:在收到相应请求之å‰éŸ³é¢‘输出系统处于闲置状æ€ä¸”已关闭时,第一帧的输出延迟。
+ </li>
+ <li>
+ <strong>连续输出延迟</strong>:在设备开始播放音频åŽï¼ŒåŽç»­å¸§çš„输出延迟。
+ </li>
+ <li>
+ <strong>输入延迟</strong>:从环境中å‘出声音到设备内置转æ¢å™¨å¤„的设备æ•èŽ·åˆ°è¯¥å£°éŸ³ä¹‹é—´çš„时间间隔,或者从信å·é€šè¿‡ç«¯å£è¿›å…¥è®¾å¤‡åˆ°åº”用读å–ç»è¿‡ PCM ç¼–ç çš„相应数æ®å¸§ä¹‹é—´çš„时间间隔。
+ </li>
+ <li>
+ <strong>丢失输入</strong>:输入信å·ä¸­ä¸å¯ç”¨æˆ–无法æ•èŽ·åˆ°çš„åˆå§‹éƒ¨åˆ†ã€‚
+ </li>
+ <li>
+ <strong>冷输入延迟</strong>:在收到相应请求之å‰éŸ³é¢‘输入系统处于闲置状æ€ä¸”已关闭时,丢失输入的时长与第一帧的输入延迟之和。
+ </li>
+ <li>
+ <strong>连续输入延迟</strong>:当设备采集音频时,åŽç»­å¸§çš„输入延迟。
+ </li>
+ <li>
+ <strong>冷输出抖动</strong>:冷输出延迟值的å•ç‹¬æµ‹é‡ç»“果之间的å˜åŒ–。
+ </li>
+ <li>
+ <strong>冷输入抖动</strong>:冷输入延迟值的å•ç‹¬æµ‹é‡ç»“果之间的å˜åŒ–。
+ </li>
+ <li>
+ <strong>连续往返延迟</strong>:连续输入延迟ã€è¿žç»­è¾“出延迟,å†åŠ ä¸€ä¸ªç¼“冲期的总和。缓冲期å¯è®©åº”用有时间æ¥å¤„ç†ä¿¡å·ï¼Œå¹¶æœ‰æ—¶é—´æ¥é™ä½Žè¾“入和输出æµä¹‹é—´çš„相ä½å·®ã€‚
+ </li>
+ <li>
+ <strong>OpenSL ES PCM 缓冲队列 API</strong>:<a href="https://developer.android.com/ndk/index.html">Android NDK</a> 中的一组与 PCM 相关的 <a href="https://developer.android.com/ndk/guides/audio/opensl/index.html">OpenSL ES</a> API。
+ </li>
+ <li>
+ <strong>AAudio 本机音频 API</strong>:<a href="https://developer.android.com/ndk/index.html">Android NDK</a> 中的一组 <a href="https://developer.android.com/ndk/guides/audio/aaudio/aaudio.html">AAudio</a> API。
+ </li>
+ <li>
+ <strong>时间戳</strong>:信æ¯æµä¸­çš„相对帧ä½ç½®ä¸Žè¯¥å¸§åœ¨å…³è”端点上进入或离开音频处ç†ç®¡é“的大约时间的组åˆã€‚å¦è¯·å‚阅 <a href="https://developer.android.com/reference/android/media/AudioTimestamp">AudioTimestamp</a>。
+ </li>
+ </ul>
+ <p>
+如果设备实现声明了 <code>android.hardware.audio.output</code>,则强烈建议它们满足或超出以下è¦æ±‚:
+ </p>
+ <ul>
+ <li>[C-SR] 冷输出延迟ä¸è¶…过 100 毫秒
+ </li>
+ <li>[C-SR] 连续输出延迟ä¸è¶…过 45 毫秒
+ </li>
+ <li>[C-SR] 最大é™åº¦åœ°é™ä½Žå†·è¾“出抖动
+ </li>
+ <li>[C-SR] <a href="https://developer.android.com/reference/android/media/AudioTrack.html#getTimestamp(android.media.AudioTimestamp)">AudioTrack.getTimestamp</a> 和 <code>AAudioStream_getTimestamp</code> 返回的输出时间戳精确到 +/- 1 毫秒。
+ </li>
+ </ul>
+ <p>
+åŒæ—¶ä½¿ç”¨ OpenSL ES PCM 缓冲队列 API å’Œ AAudio 本机音频 API 时,如果设备实现在ç»è¿‡ä»»ä½•åˆå§‹æ ¡å‡†åŽæ»¡è¶³äº†ä¸Šè¿°è¦æ±‚,则对于在至少一个å—支æŒéŸ³é¢‘输出设备上的连续输出延迟和冷输出延迟:
+ </p>
+ <ul>
+ <li>[C-SR] 强烈建议通过声明 <code>android.hardware.audio.low_latency</code> 功能标记报告低延迟音频。
+ </li>
+ <li>[C-SR] 强烈建议通过 AAudio API 满足针对低延迟音频的è¦æ±‚。
+ </li>
+ <li>[C-SR] 对于从 <a href="https://developer.android.com/ndk/reference/group/audio#aaudiostream_getperformancemode"><code>AAudioStream_getPerformanceMode()</code></a> 返回 <a href="https://developer.android.com/ndk/guides/audio/aaudio/aaudio#performance-mode"><code>AAUDIO_PERFORMANCE_MODE_LOW_LATENCY</code></a> çš„ä¿¡æ¯æµï¼Œå¼ºçƒˆå»ºè®®ç¡®ä¿ <a href="https://developer.android.com/ndk/reference/group/audio#aaudiostream_getframesperburst"><code>AAudioStream_getFramesPerBurst()</code></a> 返回的值å°äºŽæˆ–等于 <a href="https://developer.android.com/reference/android/media/AudioManager.html#getProperty%28java.lang.String%29"><code>android.media.AudioManager.getProperty(String)</code></a> 针对属性键 <a href="https://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_OUTPUT_FRAMES_PER_BUFFER"><code>AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER</code></a> 返回的值。
+ </li>
+ </ul>
+ <p>
+如果设备实现未通过 OpenSL ES PCM 缓冲队列 API å’Œ AAudio 本机音频 API 满足针对低延迟音频的è¦æ±‚,则:
+ </p>
+ <ul>
+ <li>[C-1-1] ä¸å¾—报告支æŒä½Žå»¶è¿ŸéŸ³é¢‘。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« <code>android.hardware.microphone</code>,则强烈建议它们满足以下针对输入音频的è¦æ±‚:
+ </p>
+ <ul>
+ <li>[C-SR] 冷输入延迟ä¸è¶…过 100 毫秒。
+ </li>
+ <li>[C-SR] 连续输入延迟ä¸è¶…过 30 毫秒。
+ </li>
+ <li>[C-SR] 连续往返延迟ä¸è¶…过 50 毫秒。
+ </li>
+ <li>[C-SR] 最大é™åº¦åœ°é™ä½Žå†·è¾“入抖动。
+ </li>
+ <li>[C-SR] å°† <a href="https://developer.android.com/reference/android/media/AudioRecord.html#getTimestamp(android.media.AudioTimestamp,%20int)">AudioRecord.getTimestamp</a> 或 <code>AAudioStream_getTimestamp</code> 返回的输入时间戳中的误差é™åˆ¶åœ¨ +/- 1 毫秒内。
+ </li>
+ </ul>
+ <h3 id="5_7_network_protocols">
+5.7. 网络åè®®
+ </h3>
+ <p>
+è®¾å¤‡å®žçŽ°å¿…é¡»æ”¯æŒ Android SDK 文档中指定的适用于音频和视频播放的<a href="http://developer.android.com/guide/appendix/media-formats.html">媒体网络åè®®</a>。
+ </p>
+ <p>
+如果设备实现包å«éŸ³é¢‘或视频解ç å™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须通过 HTTP(S) 支æŒ<a href="#5_1_media_codecs">第 5.1 节</a>中列出的所有必须支æŒçš„编解ç å™¨å’Œå®¹å™¨æ ¼å¼ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] 必须通过 <a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-07">HTTP Live Streaming è‰æ¡ˆå议(第 7 版)</a>支æŒä¸‹æ–¹â€œåª’体段格å¼â€è¡¨ä¸­åˆ—出的媒体段格å¼ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-3] 必须支æŒä»¥ä¸‹ RTP 音频视频é…置以åŠä¸‹æ–¹ RTSP 表中的相关编解ç å™¨ã€‚有关例外情况,请å‚阅<a href="#5_1_media_codecs">第 5.1 节</a>中的表格脚注。
+ </p>
+ </li>
+ </ul>
+ <p>
+ <strong>媒体段格å¼</strong>
+ </p>
+ <table>
+ <tbody><tr>
+ <th>
+段格å¼
+ </th>
+ <th>
+å‚考
+ </th>
+ <th>
+必须支æŒçš„编解ç å™¨
+ </th>
+ </tr>
+ <tr id="mp2t">
+ <td>
+MPEG-2 传输æµ
+ </td>
+ <td>
+ <a href="http://www.iso.org/iso/catalogue_detail?csnumber=44169">ISO 13818</a>
+ </td>
+ <td>
+视频编解ç å™¨ï¼š
+ <ul>
+ <li class="table_list">H264 AVC
+ </li>
+ <li class="table_list">MPEG-4 SP
+ </li>
+ <li class="table_list">MPEG-2
+ </li>
+ </ul>请å‚阅<a href="#5_1_3_video_codecs">第 5.1.3 节</a>,了解有关 H264 AVCã€MPEG2-4 SP <br />å’Œ MPEG-2 的详细信æ¯ã€‚
+ <p>
+音频编解ç å™¨ï¼š
+ </p>
+ <ul>
+ <li class="table_list">AAC
+ </li>
+ </ul>请å‚阅<a href="#5_1_1_audio_codecs">第 5.1.1 节</a>,了解有关 AAC åŠå…¶å˜ä½“的详细信æ¯ã€‚
+ </td>
+ </tr>
+ <tr>
+ <td>
+采用 ADTS 框架和 ID3 标记的 AAC
+ </td>
+ <td>
+ <a href="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=43345">ISO 13818-7</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_1_audio_codecs">第 5.1.1 节</a>,了解有关 AAC åŠå…¶å˜ä½“的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+WebVTT
+ </td>
+ <td>
+ <a href="http://dev.w3.org/html5/webvtt/">WebVTT</a>
+ </td>
+ <td></td>
+ </tr>
+ </tbody></table>
+ <p>
+ <strong>RTSP(RTPã€SDP)</strong>
+ </p>
+ <table>
+ <tbody><tr>
+ <th>
+é…ç½®å称
+ </th>
+ <th>
+å‚考
+ </th>
+ <th>
+必须支æŒçš„编解ç å™¨
+ </th>
+ </tr>
+ <tr>
+ <td>
+H264 AVC
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc6184">RFC 6184</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_3_video_codecs">第 5.1.3 节</a>,了解有关 H264 AVC 的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+MP4A-LATM
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc6416">RFC 6416</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_1_audio_codecs">第 5.1.1 节</a>,了解有关 AAC åŠå…¶å˜ä½“的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+H263-1998
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc3551">RFC 3551</a><br />
+ <a href="https://tools.ietf.org/html/rfc4629">RFC 4629</a><br />
+ <a href="https://tools.ietf.org/html/rfc2190">RFC 2190</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_3_video_codecs">第 5.1.3 节</a>,了解有关 H263 的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+H263-2000
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc4629">RFC 4629</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_3_video_codecs">第 5.1.3 节</a>,了解有关 H263 的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+AMR
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc4867">RFC 4867</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_1_audio_codecs">第 5.1.1 节</a>,了解有关 AMR-NB 的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+AMR-WB
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc4867">RFC 4867</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_1_audio_codecs">第 5.1.1 节</a>,了解有关 AMR-WB 的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+MP4V-ES
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc6416">RFC 6416</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_3_video_codecs">第 5.1.3 节</a>,了解有关 MPEG-4 SP 的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+mpeg4-generic
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc3640">RFC 3640</a>
+ </td>
+ <td>
+请å‚阅<a href="#5_1_1_audio_codecs">第 5.1.1 节</a>,了解有关 AAC åŠå…¶å˜ä½“的详细信æ¯
+ </td>
+ </tr>
+ <tr>
+ <td>
+MP2T
+ </td>
+ <td>
+ <a href="https://tools.ietf.org/html/rfc2250">RFC 2250</a>
+ </td>
+ <td>
+请å‚阅 HTTP Live Streaming 下的 <a href="#mp2t">MPEG-2 传输æµ</a>,了解相关详细信æ¯
+ </td>
+ </tr>
+ </tbody></table>
+ <h3 id="5_8_secure_media">
+5.8. 安全媒体
+ </h3>
+ <p>如果设备实现支æŒå®‰å…¨è§†é¢‘输出,并且能够支æŒå®‰å…¨ Surface,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»å£°æ˜Žæ”¯æŒ <code>Display.FLAG_SECURE</code>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>Display.FLAG_SECURE</code>,并且支æŒæ— çº¿æ˜¾ç¤ºå议,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须采用ç»è¿‡åŠ å¯†çš„强大机制(例如 HDCP 2.x 或更高版本,适用于通过 Miracast 等无线å议连接的显示设备)æ¥ä¿æŠ¤é“¾æŽ¥ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>Display.FLAG_SECURE</code>,并且支æŒæœ‰çº¿è¿žæŽ¥çš„外部显示设备,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 对于所有用户å¯é€šè¿‡æœ‰çº¿ç«¯å£è¿žæŽ¥çš„æ‰€æœ‰å¤–éƒ¨æ˜¾ç¤ºè®¾å¤‡ï¼Œéƒ½å¿…é¡»æ”¯æŒ HDCP 1.2 或更高版本。
+ </li>
+ </ul>
+ <h3 id="5_9_musical_instrument_digital_interface_(midi)">
+5.9. ä¹å™¨æ•°å­—æŽ¥å£ (MIDI)
+ </h3>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æŠ¥å‘Šæ”¯æŒ <code>android.software.midi</code> 功能(通过 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html"><code>android.content.pm.PackageManager</code></a> 类),则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须在为之æä¾›å¸¸è§„éž MIDI è¿žæŽ¥çš„æ‰€æœ‰æ”¯æŒ MIDI 的硬件传输方å¼ä¸Šæ”¯æŒ MIDI,此类传输方å¼æœ‰ï¼š<em></em>
+ </p>
+ <ul>
+ <li>USB 主机模å¼ï¼ˆ<a href="#7_7_USB">第 7.7 节</a>)
+ </li>
+ <li>USB 外围设备模å¼ï¼ˆ<a href="#7_7_USB">第 7.7 节</a>)
+ </li>
+ <li>通过è“牙 LE å‘挥核心作用的 MIDI 设备(<a href="#7_4_3_bluetooth">第 7.4.3 节</a>)
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-1-2] 必须支æŒåº”用间 MIDI 软件传输(虚拟 MIDI 设备)
+ </p>
+ </li>
+ </ul>
+ <h3 id="5_10_professional_audio">
+5.10. 专业音频
+ </h3>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æŠ¥å‘Šæ”¯æŒ <code>android.hardware.audio.pro</code> 功能(通过 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> 类),则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æŠ¥å‘Šæ”¯æŒ <code>android.hardware.audio.low_latency</code> 功能。
+ </li>
+ <li>[C-1-2] 连续往返音频延迟(如<a href="#5_6_audio_latency">第 5.6 节:音频延迟</a>中定义)ä¸å¾—超过 20 毫秒,并且应在至少一æ¡æ”¯æŒçš„路径上ä¸è¶…过 10 毫秒。
+ </li>
+ <li>[C-1-3] 必须包å«æ”¯æŒ USB 主机模å¼å’Œ USB 外围设备模å¼çš„ USB 端å£ã€‚
+ </li>
+ <li>[C-1-4] å¿…é¡»æŠ¥å‘Šæ”¯æŒ <code>android.software.midi</code> 功能。
+ </li>
+ <li>[C-1-5] 必须结åˆä½¿ç”¨ <a href="https://developer.android.com/ndk/guides/audio/opensl-for-android.html">OpenSL ES</a> PCM 缓冲队列 API å’Œ <a href="https://developer.android.com/ndk/guides/audio/aaudio/aaudio.html">AAudio 本机音频</a> API æ¥æ»¡è¶³å»¶è¿Ÿå’Œ USB 音频方é¢çš„è¦æ±‚。
+ </li>
+ <li>[SR] 强烈建议当音频在播放并且 CPU 负载有å˜åŒ–时,æ供一致水平的 CPU 性能。应使用 <a href="https://github.com/googlesamples/android-audio-high-performance/tree/master/SimpleSynth">SimpleSynth</a> æ交项 <a href="https://github.com/googlesamples/android-audio-high-performance/commit/1bd6391f8ba9512f9f8798e979bc55b899f856d1">1bd6391</a> 对此进行测试。SimpleSynth 应用需è¦åœ¨è¿è¡Œæ—¶è¾¾åˆ°ä»¥ä¸‹å‚数,并在 10 分钟åŽå®žçŽ°é›¶æ¬ è½½ï¼š
+ <ul>
+ <li>工作周期:200000
+ </li>
+ <li>å¯å˜è´Ÿè½½ï¼šå¼€å¯ï¼ˆæ­¤è®¾ç½®ä¼šæ¯éš” 2 秒在 100% å’Œ 10% 的工作周期值之间切æ¢ä¸€æ¬¡ï¼Œæ—¨åœ¨æµ‹è¯• CPU 调节器行为)
+ </li>
+ <li>稳定负载:关闭
+ </li>
+ </ul>
+ </li>
+ <li>应最大é™åº¦åœ°é™ä½ŽéŸ³é¢‘时钟相对于标准时间的ä¸å‡†ç¡®æ€§å’Œå差。
+ </li>
+ <li>应最大é™åº¦åœ°é™ä½ŽéŸ³é¢‘时钟相对于 CPU <code>CLOCK_MONOTONIC</code> çš„å差(当两者皆处于活动状æ€æ—¶ï¼‰ã€‚
+ </li>
+ <li>应最大é™åº¦åœ°ç¼©çŸ­åœ¨è®¾å¤‡å†…置转æ¢å™¨ä¸Šçš„音频延迟。
+ </li>
+ <li>应最大é™åº¦åœ°ç¼©çŸ­åœ¨ USB 数字音频路径上的音频延迟。
+ </li>
+ <li>应记录在所有路径上的音频延迟时间测é‡ç»“果。
+ </li>
+ <li>应最大é™åº¦åœ°é™ä½ŽéŸ³é¢‘缓冲完æˆå›žè°ƒè¾“入时间内的抖动,因为此类抖动会影å“å…¨ CPU 带宽中å¯ä¾›å›žè°ƒä½¿ç”¨çš„百分比。
+ </li>
+ <li>在正常使用情况下(符åˆæŠ¥å‘Šçš„延迟),ä¸åº”出现音频欠载(输出端)或过载(输入端)。
+ </li>
+ <li>声é“间延迟时间差应为零。
+ </li>
+ <li>采用å„ç§ä¼ è¾“æ–¹å¼æ—¶ï¼Œéƒ½åº”最大é™åº¦åœ°ç¼©çŸ­ MIDI å¹³å‡å»¶è¿Ÿã€‚
+ </li>
+ <li>采用å„ç§ä¼ è¾“æ–¹å¼æ—¶ï¼Œéƒ½åº”最大é™åº¦åœ°é™ä½Žåœ¨æœ‰è´Ÿè½½çŠ¶æ€ä¸‹çš„ MIDI 延迟时间å˜åŒ–(抖动)。
+ </li>
+ <li>采用å„ç§ä¼ è¾“æ–¹å¼æ—¶ï¼Œéƒ½åº”æ供准确的 MIDI 时间戳。
+ </li>
+ <li>应最大é™åº¦åœ°é™ä½Žåœ¨è®¾å¤‡å†…置转æ¢å™¨ä¸Šçš„音频信å·å™ªå£°ï¼ŒåŒ…括刚完æˆå†·å¯åŠ¨åŽä¸€æ®µæ—¶é—´å†…的噪声。
+ </li>
+ <li>相应端点输入侧和输出侧(当两者皆处于活动状æ€æ—¶ï¼‰ä¹‹é—´çš„音频时钟差应为零。相应端点的示例包括设备上的麦克风和音å“系统,或音频æ’孔输入端和输出端。
+ </li>
+ <li>应在åŒä¸€çº¿ç¨‹ä¸Šå¤„ç†ç›¸åº”端点输入侧和输出侧(当两者皆处于活动状æ€æ—¶ï¼‰çš„音频缓冲完æˆå›žè°ƒï¼Œå¹¶åœ¨ä»Žè¾“入回调返回åŽç«‹å³è¿›å…¥è¾“出回调。或者,如果在åŒä¸€çº¿ç¨‹ä¸Šå¤„ç†å›žè°ƒä¸å¯è¡Œï¼Œåˆ™åº”在进入输入回调åŽå¾ˆå¿«è¿›å…¥è¾“出回调,以便应用在输入侧和输出侧拥有一致的时间。
+ </li>
+ <li>应最大é™åº¦åœ°å‡å°ç›¸åº”端点输入侧和输出侧 HAL 音频缓冲之间的相ä½å·®ã€‚
+ </li>
+ <li>应最大é™åº¦åœ°ç¼©çŸ­è§¦æ‘¸å»¶è¿Ÿã€‚
+ </li>
+ <li>应最大é™åº¦åœ°é™ä½Žåœ¨æœ‰è´Ÿè½½çŠ¶æ€ä¸‹çš„轻触延迟时间å˜åŒ–(抖动)。
+ </li>
+ <li>从轻触输入到音频输出的延迟时间应å°äºŽæˆ–等于 40 毫秒。
+ </li>
+ </ul>
+ <p>
+如果设备实现满足上述所有è¦æ±‚,则:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议通过 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html"><code>android.content.pm.PackageManager</code></a> ç±»æŠ¥å‘Šæ”¯æŒ <code>android.hardware.audio.pro</code> 功能。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 4 导体 3.5 毫米音频耳机æ’孔,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须确ä¿åœ¨éŸ³é¢‘耳机æ’孔路径上的连续往返音频延迟ä¸è¶…过 20 毫秒。
+ </li>
+ <li>[SR] 强烈建议éµå¾ª<a href="https://source.android.com/devices/accessories/headset/plug-headset-spec">有线音频耳机规范 (v1.1)</a> çš„<a href="https://source.android.com/devices/accessories/headset/jack-headset-spec">移动设备(耳机æ’孔)规范</a>一节中的规定。
+ </li>
+ <li>在音频耳机æ’孔路径上的连续往返音频延迟ä¸åº”超过 10 毫秒。
+ </li>
+ </ul>
+ <p>
+如果设备实现çœç•¥äº† 4 导体 3.5 毫米音频耳机æ’孔,并且包å«æ”¯æŒ USB 主机模å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 必须实现 USB 音频类。
+ </li>
+ <li>[C-3-2] 在 USB 主机模å¼ç«¯å£ï¼ˆä½¿ç”¨ USB 音频类)上的连续往返音频延迟ä¸å¾—超过 20 毫秒。
+ </li>
+ <li>在 USB 主机模å¼ç«¯å£ï¼ˆä½¿ç”¨ USB 音频类)上的连续往返音频延迟ä¸åº”超过 10 毫秒。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« HDMI 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-4-1] 必须在至少一ç§é…置中支æŒé¢‘率为 192 kHzã€ä½æ·±ä¸º 20 或 24 的八声é“立体声输出,而ä¸ä¸¢å¤±ä½æ·±æˆ–é‡æ–°é‡‡æ ·ã€‚
+ </li>
+ </ul>
+ <h3 id="5_11_capture_for_unprocessed">
+5.11. 采集未处ç†éŸ³é¢‘
+ </h3>
+ <p>
+Android 支æŒé€šè¿‡ <code>android.media.MediaRecorder.AudioSource.UNPROCESSED</code> 音频æºå½•åˆ¶æœªå¤„ç†éŸ³é¢‘。在 OpenSL ES 中,å¯ä»¥ä½¿ç”¨å½•åˆ¶é¢„设 <code>SL_ANDROID_RECORDING_PRESET_UNPROCESSED</code> æ¥è®¿é—®è¿™äº›éŸ³é¢‘。
+ </p>
+ <p>
+如果设备实现打算支æŒæœªå¤„ç†éŸ³é¢‘æºï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须通过 <code>android.media.AudioManager</code> 属性 <a href="http://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED">PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</a> 报告此项支æŒã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] 对于æ¯ä¸ªç”¨äºŽå¯¹æœªå¤„ç†éŸ³é¢‘æºè¿›è¡Œå½•éŸ³çš„麦克风,在中频范围内必须表现出大致平å¦çš„幅频特性,具体æ¥è¯´å°±æ˜¯ï¼šÂ±10 dB (100 Hz - 7000 Hz)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-3] 对于æ¯ä¸ªç”¨äºŽå¯¹æœªå¤„ç†éŸ³é¢‘æºè¿›è¡Œå½•éŸ³çš„麦克风,在低频范围内必须表现出适当的振幅等级,具体æ¥è¯´å°±æ˜¯ï¼šÂ±20 dB (5 Hz - 100 Hz)(与中频范围相比)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-4] 对于æ¯ä¸ªç”¨äºŽå¯¹æœªå¤„ç†éŸ³é¢‘æºè¿›è¡Œå½•éŸ³çš„麦克风,在高频范围内必须表现出适当的振幅等级,具体æ¥è¯´å°±æ˜¯ï¼šÂ±30 dB (7000 Hz - 22 KHz)(与中频范围相比)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-5] 对于æ¯ä¸ªç”¨äºŽå¯¹æœªå¤„ç†éŸ³é¢‘æºè¿›è¡Œå½•éŸ³çš„麦克风,都必须设置适当的音频输入æ•æ„Ÿåº¦ï¼Œä»¥ç¡®ä¿å¯¹äºŽ 16 ä½çš„样本,以 94 dB 声压级 (SPL) 播放的 1000 Hz 正弦音调æºä¼šäº§ç”Ÿ RMS 为 520 çš„å“应(或对于浮点/åŒç²¾åº¦æ ·æœ¬ï¼Œåˆ™ä¸º -36 dB 全标度)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-6] 对于æ¯ä¸ªç”¨äºŽå¯¹æœªå¤„ç†éŸ³é¢‘æºè¿›è¡Œå½•éŸ³çš„麦克风,信噪比 (SNR) 都ä¸å¾—低于 60 dB(SNR 是按照 94 dB SPL 和等效 SPL 自噪声之间的差异进行衡é‡ï¼ŒA 加æƒï¼‰ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-7] 对于æ¯ä¸ªç”¨äºŽå¯¹æœªå¤„ç†éŸ³é¢‘æºè¿›è¡Œå½•éŸ³çš„麦克风,在频率为 1 kHZã€è¾“入声压级为 90 dB SPL 时,总è°æ³¢ç•¸å˜çŽ‡éƒ½å¿…é¡»å°äºŽ 1%。
+ </p>
+ </li>
+ <li>
+ <p>
+除了用于将声压级æå‡åˆ°æ‰€éœ€èŒƒå›´çš„声压级å€å¢žå™¨ä¹‹å¤–,路径中ä¸å¾—有任何其他信å·å¤„ç†æœºåˆ¶ï¼ˆä¾‹å¦‚自动增益控制ã€é«˜é€šæ»¤æ³¢å™¨ï¼Œæˆ–回声消除)。也就是说:
+ </p>
+ </li>
+ <li>[C-1-8] 无论架构中出于任何原因而存在信å·å¤„ç†æœºåˆ¶ï¼Œæ­¤ç±»æœºåˆ¶éƒ½å¿…须处于åœç”¨çŠ¶æ€ï¼Œå¹¶èƒ½å¤Ÿæœ‰æ•ˆé¿å…在信å·è·¯å¾„中引入任何延迟。
+ </li>
+ <li>[C-1-9] 虽然路径中å…许存在声压级å€å¢žå™¨ï¼Œä½†è¯¥å€å¢žå™¨ä¸å¾—在信å·è·¯å¾„中引入延迟。
+ </li>
+ </ul>
+ <p>
+所有 SPL 测é‡éƒ½æ˜¯ç›´æŽ¥åœ¨æŽ¥å—测试的麦克风æ—进行。对于多麦克风é…置,这些è¦æ±‚适用于æ¯ä¸ªéº¦å…‹é£Žã€‚
+ </p>
+ <p>
+如果设备实现声明了 <code>android.hardware.microphone</code>,但ä¸æ”¯æŒæœªå¤„ç†éŸ³é¢‘æºï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须针对 <code>AudioManager.getProperty(PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED)</code> API 方法返回 <code>null</code>,以适当指明ä¸æ”¯æŒæœªå¤„ç†éŸ³é¢‘æºã€‚
+ </li>
+ <li>[SR] ä»å¼ºçƒˆå»ºè®®å°½å¯èƒ½å¤šåœ°æ»¡è¶³æœªå¤„ç†å½•éŸ³æ¥æºä¿¡å·è·¯å¾„æ–¹é¢çš„è¦æ±‚。
+ </li>
+ </ul>
+ <h2 id="6_developer_tools_and_options_compatibility">
+6. å¼€å‘者工具和选项兼容性
+ </h2>
+ <h3 id="6_1_developer_tools">
+6.1. å¼€å‘者工具
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»æ”¯æŒ Android SDK 中æ供的 Android å¼€å‘者工具。
+ </li>
+ <li>
+ <p>
+ <a href="http://developer.android.com/tools/help/adb.html"><strong>Android 调试桥 (adb)</strong></a>
+ </p>
+ <ul>
+ <li>[C-0-2] å¿…é¡»æ”¯æŒ adb(如 Android SDK 中所述)和 AOSP 中æ供的 shell 命令(å¯ä¾›åº”用开å‘者使用,包括 <a href="https://source.android.com/devices/input/diagnostics.html"><code>dumpsys</code></a> å’Œ <code>cmd stats</code>)。
+ </li>
+ <li>[C-0-3] ä¸å¾—更改通过 dumpsys 命令记录的设备系统事件(batterystatsã€diskstatsã€fingerprintã€graphicsstatsã€netstatsã€notificationã€procstats)的格å¼æˆ–内容。
+ </li>
+ <li>[C-0-10] 记录时ä¸å¾—有任何é—æ¼ï¼Œå¹¶ä½¿ä»¥ä¸‹äº‹ä»¶å¯ä¾› <code>cmd stats</code> shell 命令和 <code>StatsManager</code> 系统 API 类访问和使用。
+ <ul>
+ <li>ActivityForegroundStateChanged
+ </li>
+ <li>AnomalyDetected
+ </li>
+ <li>AppBreadcrumbReported
+ </li>
+ <li>AppCrashOccurred
+ </li>
+ <li>AppStartOccurred
+ </li>
+ <li>BatteryLevelChanged
+ </li>
+ <li>BatterySaverModeStateChanged
+ </li>
+ <li>BleScanResultReceived
+ </li>
+ <li>BleScanStateChanged
+ </li>
+ <li>ChargingStateChanged
+ </li>
+ <li>DeviceIdleModeStateChanged
+ </li>
+ <li>ForegroundServiceStateChanged
+ </li>
+ <li>GpsScanStateChanged
+ </li>
+ <li>JobStateChanged
+ </li>
+ <li>PluggedStateChanged
+ </li>
+ <li>ScheduledJobStateChanged
+ </li>
+ <li>ScreenStateChanged
+ </li>
+ <li>SyncStateChanged
+ </li>
+ <li>SystemElapsedRealtime
+ </li>
+ <li>UidProcessStateChanged
+ </li>
+ <li>WakelockStateChanged
+ </li>
+ <li>WakeupAlarmOccurred
+ </li>
+ <li>WifiLockStateChanged
+ </li>
+ <li>WifiMulticastLockStateChanged
+ </li>
+ <li>WifiScanStateChanged
+ </li>
+ </ul>
+ </li>
+ <li>[C-0-4] 必须使设备侧 adb 守护进程默认处于åœç”¨çŠ¶æ€ï¼Œå¹¶æœ‰ä¸€ä¸ªå¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„ Android 调试桥开å¯æœºåˆ¶ã€‚
+ </li>
+ <li>[C-0-5] 必须支æŒå®‰å…¨ adb。Android 支æŒå®‰å…¨ adb。安全 adb 能够在ç»è¿‡èº«ä»½éªŒè¯çš„已知主机上å¯ç”¨ adb。
+ </li>
+ <li>
+ <p>
+[C-0-6] å¿…é¡»æä¾›å¯ä»Žä¸»æœºè¿žæŽ¥ adb 的机制。例如:
+ </p>
+ <ul>
+ <li>如果设备实现没有支æŒå¤–围设备模å¼çš„ USB 端å£ï¼Œåˆ™å¿…须通过局域网(例如以太网或 WLAN)实现 adb。
+ </li>
+ <li>å¿…é¡»æ供适用于 Windows 7ã€9 å’Œ 10 的驱动程åºï¼Œä»¥ä¾¿å¼€å‘者使用 adb å议连接到设备。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <a href="http://developer.android.com/tools/debugging/ddms.html"><strong>Dalvik 调试监控æœåŠ¡ (ddms)</strong></a>
+ </p>
+ <ul>
+ <li>[C-0-7] å¿…é¡»æ”¯æŒ Android SDK 中载述的所有 ddms 功能。由于 ddms 会使用 adb,因此虽然对 ddms 的支æŒåº”默认处于åœç”¨çŠ¶æ€ï¼Œä½†å¦‚果用户å¯ç”¨äº† Android è°ƒè¯•æ¡¥ï¼Œåˆ™å¿…é¡»æ”¯æŒ ddms,如上所述。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="http://developer.android.com/tools/help/monkey.html"><strong>Monkey</strong></a>
+ <ul>
+ <li>[C-0-8] å¿…é¡»åŒ…å« Monkey 框架,并使其å¯ä¾›åº”用使用。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="http://developer.android.com/tools/help/systrace.html"><strong>Systrace</strong></a>
+ <ul>
+ <li>[C-0-9] å¿…é¡»æ”¯æŒ Android SDK 中载述的 Systrace 工具。Systrace 必须默认处于åœç”¨çŠ¶æ€ï¼Œå¹¶æœ‰ä¸€ä¸ªå¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„ Systrace å¼€å¯æœºåˆ¶ã€‚
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果设备实现通过 <code>android.hardware.vulkan.version</code> åŠŸèƒ½æ ‡è®°æŠ¥å‘Šæ”¯æŒ Vulkan 1.0 或更高版本,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©åº”用开å‘者能够å¯ç”¨/åœç”¨ GPU 调试层。
+ </li>
+ <li>[C-1-2] 必须在å¯ç”¨ GPU 调试层时,在å¯è°ƒè¯•åº”用的基本目录下的外部工具(并éžå¹³å°æˆ–应用包的组æˆéƒ¨åˆ†ï¼‰æä¾›çš„åº“ä¸­åˆ—ä¸¾å±‚ï¼Œä»¥æ”¯æŒ <a href="https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceLayerProperties.html">vkEnumerateInstanceLayerProperties()</a> å’Œ <a href="https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateInstance.html">vkCreateInstance()</a> API 方法。
+ </li>
+ </ul>
+ <h3 id="6_2_developer_options">
+6.2. å¼€å‘者选项
+ </h3>
+ <p>
+Android 支æŒå¼€å‘者é…置与应用开å‘相关的设置。
+ </p>
+ <p>
+设备实现必须æ供一致的开å‘者选项体验,它们:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须能够éµä»Ž <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_APPLICATION_DEVELOPMENT_SETTINGS">android.settings.APPLICATION_DEVELOPMENT_SETTINGS</a> Intent 显示与应用开å‘相关的设置。上游 Android 实现会默认éšè—“开å‘者选项â€èœå•ï¼Œå¹¶å…许用户å¯åŠ¨è¯¥èœå•ï¼ˆæ–¹æ³•æ˜¯åœ¨<strong>设置</strong> &gt; <strong>关于设备</strong> &gt; <strong>版本å·</strong>èœå•é¡¹ä¸Šè¿žæŒ‰ä¸ƒ (7) 次)。
+ </li>
+ <li>[C-0-2] 必须默认éšè—“开å‘者选项â€ã€‚
+ </li>
+ <li>[C-0-3] å¿…é¡»æ供一ç§æ˜Žç¡®çš„机制,在å¯ç”¨â€œå¼€å‘者选项â€æ–¹é¢æŸä¸ªç¬¬ä¸‰æ–¹åº”用的优先级ä¸ä¼šé«˜äºŽå¦ä¸€ä¸ªç¬¬ä¸‰æ–¹åº”用。必须æä¾›æ述如何å¯ç”¨â€œå¼€å‘者选项â€çš„公开文档或网站。必须å¯ä»Ž Android SDK 文档链接到该文档或网站。
+ </li>
+ <li>应在å¯ç”¨â€œå¼€å‘者选项â€ä¸”需è¦è€ƒè™‘用户安全的情况下,å‘用户显示一直å¯è§çš„通知。
+ </li>
+ <li>对于需è¦è€ƒè™‘用户安全的情况,å¯ä»¥æš‚æ—¶é™åˆ¶è®¿é—®â€œå¼€å‘者选项â€èœå•ï¼ˆæ–¹æ³•æ˜¯åœ¨è§†è§‰ä¸Šéšè—或åœç”¨è¯¥èœå•ï¼‰ï¼Œä»¥é¿å…分散注æ„力。
+ </li>
+ </ul>
+ <h2 id="7_hardware_compatibility">
+7. 硬件兼容性
+ </h2>
+ <p>
+如果设备包å«çš„æŸä¸ªç¡¬ä»¶ç»„件具有针对第三方开å‘者的对应 API,则:
+ </p>
+ <ul>
+ <li>[C-0-1] 设备实现必须按照 Android SDK 文档中所述实现该 API。
+ </li>
+ </ul>
+ <p>
+如果 SDK 中的æŸä¸ª API 需è¦ä¸ŽæŸä¸ªè¢«è§„定为å¯é€‰ç»„件的硬件组件交互,但设备实现ä¸å…·å¤‡è¯¥ç»„件,则:
+ </p>
+ <ul>
+ <li>[C-0-2] ä»å¿…é¡»æ供该组件 API 的完整类定义(如 SDK 中所述)。
+ </li>
+ <li>[C-0-3] 必须以æŸç§åˆç†çš„æ–¹å¼å°†è¯¥ API 的行为实现为空æ“作。
+ </li>
+ <li>[C-0-4] 在 SDK 文档å…许的情况下,该 API 的方法必须返回 null 值。
+ </li>
+ <li>[C-0-5] 在 SDK 文档ä¸å…许 null 值的情况下,该 API 的方法必须返回相应类的空æ“作实现。
+ </li>
+ <li>[C-0-6] 该 API 的方法ä¸å¾—抛出 SDK 文档中未载述的异常。
+ </li>
+ <li>[C-0-7] 对于相åŒçš„细分版本指纹,设备实现必须能够始终如一地通过 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> 类中的 <code>getSystemAvailableFeatures()</code> å’Œ <code>hasSystemFeature(String)</code> 方法报告准确的硬件é…置信æ¯ã€‚
+ </li>
+ </ul>
+ <p>
+这些è¦æ±‚çš„ä¸€ä¸ªå…¸åž‹é€‚ç”¨æƒ…å†µç¤ºä¾‹å°±æ˜¯ç”µè¯ API:å³ä½¿åœ¨éžæ‰‹æœºè®¾å¤‡ä¸Šï¼Œè¿™äº› API 也必须实现为åˆç†çš„空æ“作。
+ </p>
+ <h3 id="7_1_display_and_graphics">
+7.1. 显示和图形
+ </h3>
+ <p>
+Android 包å«ä¸€äº›èƒ½å¤Ÿé€‚当地为设备自动调整应用资产和界é¢å¸ƒå±€çš„æ–¹å¼ï¼Œä»¥ç¡®ä¿ç¬¬ä¸‰æ–¹åº”用能够在<a href="http://developer.android.com/guide/practices/screens_support.html">å„ç§ç¡¬ä»¶é…ç½®</a>上良好地è¿è¡Œã€‚设备必须正确实现本节中详细说明的这些 API 和行为。
+ </p>
+ <p>
+本节的è¦æ±‚中æ到的å•ä½å®šä¹‰å¦‚下:
+ </p>
+ <ul>
+ <li>
+ <strong>物ç†å¯¹è§’线尺寸</strong>:显示å±äº®æ˜¾éƒ¨åˆ†çš„两个对角之间的è·ç¦»ï¼ˆä»¥è‹±å¯¸ä¸ºå•ä½ï¼‰ã€‚
+ </li>
+ <li>
+ <strong>æ¯è‹±å¯¸çš„点数 (dpi)</strong>:1 英寸的线性水平或垂直跨度内包å«çš„åƒç´ æ•°ã€‚如果列出了 dpi 值,则水平 dpi 和垂直 dpi 都必须在该范围内。
+ </li>
+ <li>
+ <strong>宽高比</strong>:å±å¹•çš„长度åƒç´ ä¸Žå®½åº¦åƒç´ ä¹‹æ¯”。例如,480x854 åƒç´ çš„显示å±çš„宽高比是 854/480 = 1.779,或约为“16:9â€ã€‚
+ </li>
+ <li>
+ <strong>密度无关åƒç´  (dp)</strong>:按 160 dpi å±å¹•æ ‡å‡†åŒ–的虚拟åƒç´ å•ä½ï¼Œè®¡ç®—å…¬å¼å¦‚下:åƒç´  = dps *(密度/160)。
+ </li>
+ </ul>
+ <h4 id="7_1_1_screen_configuration">
+7.1.1. å±å¹•é…ç½®
+ </h4>
+ <h5 id="7_1_1_1_screen_size_and_shape">
+7.1.1.1. å±å¹•å°ºå¯¸å’Œå½¢çŠ¶
+ </h5>
+ <p>
+Android ç•Œé¢æ¡†æž¶æ”¯æŒå¤šç§ä¸åŒçš„逻辑å±å¹•å¸ƒå±€å°ºå¯¸ï¼Œå¹¶ä¸”å…许应用通过 <code>Configuration.screenLayout</code>(使用 <code>SCREENLAYOUT_SIZE_MASK</code> å’Œ <code>Configuration.smallestScreenWidthDp</code> å‚数)查询当å‰é…置的å±å¹•å¸ƒå±€å°ºå¯¸ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须针对 <code>Configuration.screenLayout</code> 报告正确的布局尺寸(如 Android SDK 文档中所定义)。具体æ¥è¯´å°±æ˜¯ï¼Œè®¾å¤‡å®žçŽ°å¿…须报告正确的密度无关åƒç´  (dp) 逻辑å±å¹•å°ºå¯¸ï¼Œå¦‚下所述:
+ </p>
+ <ul>
+ <li>如果设备的 <code>Configuration.uiMode</code> 设为除 UI_MODE_TYPE_WATCH 以外的任何值,并且针对 <code>Configuration.screenLayout</code> 报告的是 <code>small</code> 尺寸,则该å±å¹•å°ºå¯¸å¿…须至少为 426 dp x 320 dp。
+ </li>
+ <li>如果设备针对 <code>Configuration.screenLayout</code> 报告的是 <code>normal</code> 尺寸,则该å±å¹•å°ºå¯¸å¿…须至少为 480 dp x 320 dp。
+ </li>
+ <li>如果设备针对 <code>Configuration.screenLayout</code> 报告的是 <code>large</code> 尺寸,则该å±å¹•å°ºå¯¸å¿…须至少为 640 dp x 480 dp。
+ </li>
+ <li>如果设备针对 <code>Configuration.screenLayout</code> 报告的是 <code>xlarge</code> 尺寸,则该å±å¹•å°ºå¯¸å¿…须至少为 960 dp x 720 dp。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-0-2] 必须正确éµä»Žåº”用通过 AndroidManifest.xml 中的 <a href="https://developer.android.com/guide/topics/manifest/supports-screens-element.html">&lt;<code>supports-screens</code>&gt;</a> 属性声明的对å±å¹•å°ºå¯¸çš„支æŒæƒ…况(如 Android SDK 文档中所述)。
+ </p>
+ </li>
+ <li>
+ <p>
+å¯ä»¥å…·æœ‰åœ†è§’显示å±ã€‚
+ </p>
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ <code>UI_MODE_TYPE_NORMAL</code> 且包å«åœ†è§’显示å±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须确ä¿åœ†è§’çš„åŠå¾„å°äºŽæˆ–等于 32 dp。
+ </li>
+ <li>应æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿåˆ‡æ¢ä¸ºçŸ©å½¢è§’显示模å¼ã€‚
+ </li>
+ </ul>
+ <h5 id="7_1_1_2_screen_aspect_ratio">
+7.1.1.2. å±å¹•å®½é«˜æ¯”
+ </h5>
+ <p>
+虽然对实体显示å±çš„å±å¹•å®½é«˜æ¯”没有任何é™åˆ¶ï¼Œä½†ç”¨äºŽå‘ˆçŽ°ç¬¬ä¸‰æ–¹åº”用的逻辑显示å±çš„å±å¹•å®½é«˜æ¯”(å¯ä»¥æ ¹æ®é€šè¿‡ <a href="https://developer.android.com/reference/android/view/Display.html"><code>view.Display</code></a> API å’Œ <a href="https://developer.android.com/reference/android/content/res/Configuration.html">Configuration</a> API 报告的高度值和宽度值推导出æ¥ï¼‰å¿…须满足以下è¦æ±‚:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 如果设备实现的 <code>Configuration.uiMode</code> 设为 <code>UI_MODE_TYPE_NORMAL</code>,则宽高比必须介于 1.3333 (4:3) 到 1.86(约为 16:9)之间,除éžåº”用满足下列æŸä¸ªæ¡ä»¶ï¼Œå¯è¢«è§†ä¸ºèƒ½å¤Ÿæ‹‰ä¼¸ï¼š
+ </p>
+ <ul>
+ <li>应用已通过 <a href="https://developer.android.com/guide/practices/screens&amp;lowbar;support.html#MaxAspectRatio"><code>android.max_aspect</code></a> 元数æ®å€¼å£°æ˜Žæ”¯æŒæ›´å¤§çš„å±å¹•å®½é«˜æ¯”。
+ </li>
+ <li>应用通过 <a href="https://developer.android.com/guide/topics/ui/multi-window.html#configuring">android:resizeableActivity</a> 属性声明其大å°å¯ä»¥è°ƒæ•´ã€‚
+ </li>
+ <li>应用采用 API 24 级或更高级别,并且未声明会对å…许的宽高比造æˆé™åˆ¶çš„ <a href="https://developer.android.com/reference/android/R.attr.html#maxAspectRatio"><code>android:MaxAspectRatio</code></a>。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-0-2] 如果设备实现的 <code>Configuration.uiMode</code> 设为 <code>UI_MODE_TYPE_WATCH</code>,则宽高比必须设为 1.0 (1:1)。
+ </p>
+ </li>
+ </ul>
+ <h5 id="7_1_1_3_screen_density">
+7.1.1.3. å±å¹•å¯†åº¦
+ </h5>
+ <p>
+Android ç•Œé¢æ¡†æž¶å®šä¹‰äº†ä¸€ç»„标准逻辑密度,以便应用开å‘者确定è¦é‡‡ç”¨çš„应用资æºã€‚
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 默认情况下,设备实现必须通过 <a href="https://developer.android.com/reference/android/util/DisplayMetrics.html#DENSITY_DEVICE_STABLE">DENSITY_DEVICE_STABLE</a> API 仅报告以下逻辑 Android 框架密度之一,并且在任何时间该值都必须ä¿æŒä¸å˜ï¼›ä¸è¿‡ï¼Œè®¾å¤‡å¯ä»¥æ ¹æ®åˆå§‹å¯åŠ¨åŽç”¨æˆ·å¯¹æ˜¾ç¤ºé…置(例如显示区域大å°ï¼‰æ‰€åšçš„更改报告ä¸åŒçš„ä»»æ„密度。
+ </p>
+ <ul>
+ <li>120 dpi (ldpi)
+ </li>
+ <li>160 dpi (mdpi)
+ </li>
+ <li>213 dpi (tvdpi)
+ </li>
+ <li>240 dpi (hdpi)
+ </li>
+ <li>260 dpi (260dpi)
+ </li>
+ <li>280 dpi (280dpi)
+ </li>
+ <li>300 dpi (300dpi)
+ </li>
+ <li>320 dpi (xhdpi)
+ </li>
+ <li>340 dpi (340dpi)
+ </li>
+ <li>360 dpi (360dpi)
+ </li>
+ <li>400 dpi (400dpi)
+ </li>
+ <li>420 dpi (420dpi)
+ </li>
+ <li>480 dpi (xxhdpi)
+ </li>
+ <li>560 dpi (560dpi)
+ </li>
+ <li>640 dpi (xxxhdpi)
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+设备实现应定义数值最接近å±å¹•ç‰©ç†å¯†åº¦çš„标准 Android 框架密度,除éžè¯¥é€»è¾‘密度会导致报告的å±å¹•å°ºå¯¸ä½ŽäºŽæ”¯æŒçš„最å°å€¼ã€‚如果数值最接近物ç†å¯†åº¦çš„标准 Android 框架密度会导致å±å¹•å°ºå¯¸å°äºŽæ”¯æŒçš„最å°å…¼å®¹å±å¹•å°ºå¯¸ï¼ˆå®½åº¦ä¸º 320 dp),则设备实现应报告下一个最低的标准 Android 框架密度。
+ </p>
+ </li>
+ </ul>
+ <p>
+如果有用于更改设备显示区域大å°çš„æ–¹å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] ä¸å¾—将显示区域大å°è°ƒæ•´ä¸ºä»»ä½•è¶…过本机密度 1.5 å€çš„尺寸,也ä¸å¾—产生å°äºŽ 320 dp(相当于资æºé™å®šå°ºå¯¸ä¸º sw320dp)的有效最å°å±å¹•å°ºå¯¸ï¼Œä»¥å…ˆè¾¾åˆ°è€…为准。
+ </li>
+ <li>[C-1-2] ä¸å¾—将显示区域大å°è°ƒæ•´ä¸ºå°äºŽæœ¬æœºå¯†åº¦ 0.85 å€çš„尺寸。
+ </li>
+ <li>为了确ä¿è‰¯å¥½çš„å¯ç”¨æ€§å’Œä¸€è‡´çš„字体大å°ï¼Œå»ºè®®æ供以下本机显示缩放比例选项(åŒæ—¶éµå®ˆä¸Šè¿°é™åˆ¶ï¼‰
+ </li>
+ <li>å°ï¼š0.85 å€
+ </li>
+ <li>默认值:1 å€ï¼ˆæœ¬æœºæ˜¾ç¤ºæ¯”例)
+ </li>
+ <li>大:1.15 å€
+ </li>
+ <li>较大:1.3 å€
+ </li>
+ <li>最大:1.45 å€
+ </li>
+ </ul>
+ <h4 id="7_1_2_display_metrics">
+7.1.2. 显示指标
+ </h4>
+ <p>
+如果设备实现包å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须为 <a href="https://developer.android.com/reference/android/util/DisplayMetrics.html"><code>android.util.DisplayMetrics</code></a> API 中定义的所有显示指标报告正确的值。
+ </li>
+ </ul>
+ <p>
+如果设备实现ä¸åŒ…å«åµŒå…¥å¼å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须为 <a href="https://developer.android.com/reference/android/util/DisplayMetrics.html"><code>android.util.DisplayMetrics</code></a> API 中针对模拟的默认 <code>view.Display</code> 定义的所有显示指标报告åˆç†çš„值。
+ </li>
+ </ul>
+ <h4 id="7_1_3_screen_orientation">
+7.1.3. å±å¹•æ–¹å‘
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须报告支æŒçš„å±å¹•æ–¹å‘(<code>android.hardware.screen.portrait</code> å’Œ/或 <code>android.hardware.screen.landscape</code>),并且必须报告至少一个支æŒçš„æ–¹å‘。例如,å±å¹•å›ºå®šä¸ºæ¨ªå‘的设备(例如电视或笔记本电脑)应仅报告 <code>android.hardware.screen.landscape</code>。
+ </li>
+ <li>[C-0-2] æ¯å½“收到通过 <code>android.content.res.Configuration.orientation</code>ã€<code>android.view.Display.getOrientation()</code> 或其他 API æ交的查询时,设备实现都必须报告设备当å‰æ–¹å‘的正确值。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒä¸¤ç§å±å¹•æ–¹å‘,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒæŒ‰åº”用动æ€è®¾ç½®å±å¹•æ–¹å‘(纵å‘或横å‘)。也就是说,设备必须éµä»Žåº”用对特定å±å¹•æ–¹å‘çš„è¦æ±‚。
+ </li>
+ <li>[C-1-2] 更改方å‘时,ä¸å¾—更改报告的å±å¹•å°ºå¯¸æˆ–密度。
+ </li>
+ <li>å¯ä»¥é€‰æ‹©çºµå‘或横å‘作为默认方å‘。
+ </li>
+ </ul>
+ <h4 id="7_1_4_2d_and_3d_graphics_acceleration">
+7.1.4. 2D 和 3D 图形加速
+ </h4>
+ <h5 id="7_1_4_1_opengl_es">
+7.1.4.1 OpenGL ES
+ </h5>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须通过å—ç®¡ç† API(例如通过 <code>GLES10.getString()</code> 方法)和本机 API 正确标识支æŒçš„ OpenGL ES 版本(1.1ã€2.0ã€3.0ã€3.1ã€3.2)。
+ </li>
+ <li>[C-0-2] 对于标识为支æŒçš„æ¯ä¸ª OpenGL ES 版本,必须支æŒæ‰€æœ‰å¯¹åº”çš„å—ç®¡ç† API 和本机 API。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»åŒæ—¶æ”¯æŒ OpenGL ES 1.1 å’Œ 2.0,<a href="https://developer.android.com/guide/topics/graphics/opengl.html">Android SDK 文档</a>对此进行了详细é˜è¿°ã€‚
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ OpenGL ES 3.1。
+ </li>
+ <li>åº”æ”¯æŒ OpenGL ES 3.2。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒä»»ä½• OpenGL ES 版本,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须通过 OpenGL ES å—ç®¡ç† API 和本机 API 报告已实现的所有其他 OpenGL ES 扩展;å过æ¥è¯´å°±æ˜¯ï¼Œä¸å¾—报告ä¸æ”¯æŒçš„扩展字符串。
+ </li>
+ <li>[C-2-2] å¿…é¡»æ”¯æŒ <code>EGL_KHR_image</code>ã€<code>EGL_KHR_image_base</code>ã€<code>EGL_ANDROID_image_native_buffer</code>ã€<code>EGL_ANDROID_get_native_client_buffer</code>ã€<code>EGL_KHR_wait_sync</code>ã€<code>EGL_KHR_get_all_proc_addresses</code>ã€<code>EGL_ANDROID_presentation_time</code>ã€<code>EGL_KHR_swap_buffers_with_damage</code> ä»¥åŠ <code>EGL_ANDROID_recordable</code> 扩展。
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ EGL_KHR_partial_update。
+ </li>
+ <li>应通过 <code>getString()</code> 方法准确报告支æŒçš„所有纹ç†åŽ‹ç¼©æ ¼å¼ï¼Œè¿™äº›æ ¼å¼é€šå¸¸æ˜¯é’ˆå¯¹ç‰¹å®šä¾›åº”商的。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ OpenGL ES 3.0ã€3.1 或 3.2,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 除了导出 libGLESv2.so 库中的 OpenGL ES 2.0 函数符å·ä¹‹å¤–,还必须导出这些版本的对应函数符å·ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ OpenGL ES 3.2,则:
+ </p>
+ <ul>
+ <li>[C-4-1] 必须支æŒæ•´ä¸ª OpenGL ES Android Extension Pack。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒæ•´ä¸ª OpenGL ES <a href="https://developer.android.com/reference/android/opengl/GLES31Ext.html">Android Extension Pack</a>,则:
+ </p>
+ <ul>
+ <li>[C-5-1] 必须通过 <code>android.hardware.opengles.aep</code> 功能标记标识此项支æŒã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°é€šå‘Šäº†æ”¯æŒ <code>EGL_KHR_mutable_render_buffer</code> 扩展,则:
+ </p>
+ <ul>
+ <li>[C-6-1] 必须还è¦æ”¯æŒ <code>EGL_ANDROID_front_buffer_auto_refresh</code> 扩展。
+ </li>
+ </ul>
+ <h5 id="7_1_4_2_vulkan">
+7.1.4.2 Vulkan
+ </h5>
+ <p>
+Android æ”¯æŒ <a href="https://www.khronos.org/registry/vulkan/specs/1.0-wsi&amp;lowbarextensions/xhtml/vkspec.html">Vulkan</a>。Vulkan 是一个适用于高性能 3D 图形的低开销ã€è·¨å¹³å° API。
+ </p>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ OpenGL ES 3.1,则:
+ </p>
+ <ul>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ Vulkan 1.1。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å±å¹•æˆ–视频输出机制,则:
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ Vulkan 1.1。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ Vulkan 1.0,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须通过 <code>android.hardware.vulkan.level</code> 和 <code>android.hardware.vulkan.version</code> 功能标记报告正确的整数值。
+ </li>
+ <li>[C-1-2] 必须针对 Vulkan 本机 API <a href="https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumeratePhysicalDevices.html"><code>vkEnumeratePhysicalDevices()</code></a> 列举至少一个 <code>VkPhysicalDevice</code>。
+ </li>
+ <li>[C-1-3] 必须针对列举的æ¯ä¸ª <code>VkPhysicalDevice</code> 完整实现 Vulkan 1.0 API。
+ </li>
+ <li>[C-1-4] 必须通过 Vulkan 本机 API <a href="https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumerateInstanceLayerProperties.html"><code>vkEnumerateInstanceLayerProperties()</code></a> å’Œ <a href="https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumerateDeviceLayerProperties.html"><code>vkEnumerateDeviceLayerProperties()</code></a> 列举å为 <code>libVkLayer*.so</code> 的本机库(ä½äºŽåº”用包的本机库目录下)中包å«çš„层。
+ </li>
+ <li>[C-1-5] ä¸å¾—列举应用包外的库æ供的层,也ä¸å¾—æ供其他方å¼æ¥è·Ÿè¸ªæˆ–拦截 Vulkan API,除éžåº”用的 <code>android:debuggable</code> 属性设为了 <code>true</code>。
+ </li>
+ <li>[C-1-6] 必须通过 Vulkan 本机 API 报告支æŒçš„所有扩展字符串;å过æ¥è¯´å°±æ˜¯ï¼Œä¸å¾—报告无法正确支æŒçš„扩展字符串。
+ </li>
+ <li>[C-1-7] å¿…é¡»æ”¯æŒ VK_KHR_surfaceã€VK_KHR_android_surfaceã€VK_KHR_swapchain å’Œ VK_KHR_incremental_present 扩展。
+ </li>
+ </ul>
+ <p>
+如果设备实现ä¸æ”¯æŒ Vulkan 1.0,则:
+ </p>
+ <ul>
+ <li>[C-2-1] ä¸å¾—声明任何 Vulkan 功能标记(例如 <code>android.hardware.vulkan.level</code>ã€<code>android.hardware.vulkan.version</code>)。
+ </li>
+ <li>[C-2-2] ä¸å¾—针对 Vulkan 本机 API <code>vkEnumeratePhysicalDevices()</code> 列举任何 <code>VkPhysicalDevice</code>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ Vulkan 1.1,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须公开对 <code>SYNC_FD</code> 外部信å·é‡å’Œå¥æŸ„类型的支æŒã€‚
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ <code>VK_ANDROID_external_memory_android_hardware_buffer</code> 扩展。
+ </li>
+ </ul>
+ <h5 id="7_1_4_3_renderscript">
+7.1.4.3 RenderScript
+ </h5>
+ <ul>
+ <li>[C-0-1] è®¾å¤‡å®žçŽ°å¿…é¡»æ”¯æŒ <a href="http://developer.android.com/guide/topics/renderscript/">Android RenderScript</a>(Android SDK 文档中对此进行了详细说明)。
+ </li>
+ </ul>
+ <h5 id="7_1_4_4_2d_graphics_acceleration">
+7.1.4.4 2D 图形加速
+ </h5>
+ <p>
+Android 包å«ä¸€ç§æœºåˆ¶ï¼Œå¯è®©åº”用使用清å•æ ‡è®° <a href="http://developer.android.com/guide/topics/graphics/hardware-accel.html">android:hardwareAccelerated</a> 或直接 API 调用声明希望在应用ã€Activityã€çª—å£æˆ–视图级别å¯ç”¨ 2D 图形硬件加速。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须默认å¯ç”¨ç¡¬ä»¶åŠ é€Ÿï¼›å¦‚果开å‘者通过以下方å¼è¯·æ±‚åœç”¨ç¡¬ä»¶åŠ é€Ÿï¼Œè®¾å¤‡å®žçŽ°å¿…须将其åœç”¨ï¼šè®¾ç½® android:hardwareAccelerated="falseâ€ï¼Œæˆ–直接通过 Android View API åœç”¨ç¡¬ä»¶åŠ é€Ÿã€‚
+ </li>
+ <li>[C-0-2] 表现出的行为必须与 Android SDK 文档中关于<a href="http://developer.android.com/guide/topics/graphics/hardware-accel.html">硬件加速</a>的说明一致。
+ </li>
+ </ul>
+ <p>
+Android 包å«ä¸€ä¸ª TextureView 对象,å¯è®©å¼€å‘者直接将ç»è¿‡ç¡¬ä»¶åŠ é€Ÿçš„ OpenGL ES 纹ç†ä½œä¸ºå‘ˆçŽ°ç›®æ ‡é›†æˆåˆ°ç•Œé¢å±‚次结构中。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-3] å¿…é¡»æ”¯æŒ TextureView API,并且表现出的行为必须与上游 Android 实现一致。
+ </li>
+ </ul>
+ <h5 id="7_1_4_5_wide-gamut_displays">
+7.1.4.5 宽色域显示
+ </h5>
+ <p>
+如果设备实现通过 <a href="https://developer.android.com/reference/android/content/res/Configuration.html#isScreenWideColorGamut%28%29"><code>Configuration.isScreenWideColorGamut()</code></a> 声明支æŒå®½è‰²åŸŸæ˜¾ç¤ºå±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须有颜色ç»è¿‡æ ¡å‡†çš„显示å±ã€‚
+ </li>
+ <li>[C-1-2] 必须有色域完整涵盖 CIE 1931 xyY 空间内 sRGB 色域的显示å±ã€‚
+ </li>
+ <li>[C-1-3] 必须有色域至少涵盖 CIE 1931 xyY 空间内 90% DCI-P3 色域的显示å±ã€‚
+ </li>
+ <li>[C-1-4] å¿…é¡»æ”¯æŒ OpenGL ES 3.1 或 3.2,并正确报告此项支æŒã€‚
+ </li>
+ <li>[C-1-5] å¿…é¡»é€šå‘Šæ”¯æŒ <code>EGL_KHR_no_config_context</code>ã€<code>EGL_EXT_pixel_format_float</code>ã€<code>EGL_KHR_gl_colorspace</code>ã€<code>EGL_EXT_gl_colorspace_scrgb</code>ã€<code>EGL_EXT_gl_colorspace_scrgb_linear</code>ã€<code>EGL_EXT_gl_colorspace_display_p3</code> å’Œ <code>EGL_KHR_gl_colorspace_display_p3</code> 扩展。
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ <code>GL_EXT_sRGB</code>。
+ </li>
+ </ul>
+ <p>
+å之,如果设备实现ä¸æ”¯æŒå®½è‰²åŸŸæ˜¾ç¤ºå±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 尽管并未定义å±å¹•è‰²åŸŸï¼Œä½†åº”涵盖 CIE 1931 xyY 空间内 100% 或更多的 sRGB。
+ </li>
+ </ul>
+ <h4 id="7_1_5_legacy_application_compatibility_mode">
+7.1.5. 旧版应用兼容模å¼
+ </h4>
+ <p>
+Android 指定了一ç§â€œå…¼å®¹æ¨¡å¼â€ï¼Œåœ¨è¯¥æ¨¡å¼ä¸‹ï¼Œæ¡†æž¶èƒ½å¤Ÿä»¥â€œæ­£å¸¸â€å±å¹•å°ºå¯¸ç­‰æ•ˆï¼ˆå®½åº¦ä¸º 320dp)模å¼è¿è¡Œï¼Œè¿™æ˜¯ä¸ºäº†æœåŠ¡äºŽé’ˆå¯¹æ—§ç‰ˆ Android(在实现å±å¹•å°ºå¯¸ç‹¬ç«‹æ€§ä¹‹å‰å‘布的旧版 Android)开å‘的旧版应用。
+ </p>
+ <h4 id="7_1_6_screen_technology">
+7.1.6. å±å¹•æŠ€æœ¯
+ </h4>
+ <p>
+Android å¹³å°åŒ…å«ä¸€äº›å¯è®©åº”用在显示å±ä¸Šå‘ˆçŽ°ä¸°å¯Œå›¾å½¢çš„ API。除éžæœ¬æ–‡æ¡£ä¸­æ˜Žç¡®è®¸å¯ï¼Œå¦åˆ™è®¾å¤‡å¿…须支æŒæ‰€æœ‰è¿™äº› API(如 Android SDK 中定义)。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须支æŒèƒ½å¤Ÿå‘ˆçŽ° 16 ä½å½©è‰²å›¾å½¢çš„显示å±ã€‚
+ </li>
+ <li>应支æŒèƒ½å¤Ÿå‘ˆçŽ° 24 ä½å½©è‰²å›¾å½¢çš„显示å±ã€‚
+ </li>
+ <li>[C-0-2] 必须支æŒèƒ½å¤Ÿå‘ˆçŽ°åŠ¨ç”»çš„显示å±ã€‚
+ </li>
+ <li>[C-0-3] 必须使用åƒç´ å®½é«˜æ¯” (PAR) 介于 0.9 到 1.15 之间的显示技术。也就是说,åƒç´ å®½é«˜æ¯”必须接近方形 (1.0),并且公差在 10-15% 的范围内。
+ </li>
+ </ul>
+ <h4 id="7_1_7_secondary_displays">
+7.1.7. 辅助显示设备
+ </h4>
+ <p>
+Android 支æŒç”¨äºŽå®žçŽ°åª’体共享功能的辅助显示设备以åŠç”¨äºŽè®¿é—®å¤–部显示设备的开å‘者 API。
+ </p>
+ <p>
+如果设备实现支æŒé‡‡ç”¨æœ‰çº¿ã€æ— çº¿æˆ–嵌入å¼é™„加显示设备连接方å¼çš„外部显示设备,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现 <a href="https://developer.android.com/reference/android/hardware/display/DisplayManager.html"><code>DisplayManager</code></a> 系统æœåŠ¡å’Œ API(如 Android SDK 文档中所述)。
+ </li>
+ </ul>
+ <h3 id="7_2_input_devices">
+7.2. 输入设备
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须包å«è¾“入机制,例如<a href="#7_2_4_touchScreen_input">触摸å±</a>或<a href="#7_2_2_non-touch_navigation">éžè§¦æ‘¸å¯¼èˆª</a>,以便在界é¢å…ƒç´ ä¹‹é—´å¯¼èˆªã€‚
+ </li>
+ </ul>
+ <h4 id="7_2_1_keyboard">
+7.2.1. 键盘
+ </h4>
+ <p>
+如果设备实现支æŒç¬¬ä¸‰æ–¹è¾“入法编辑器 (IME) 应用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_INPUT_METHODS"><code>android.software.input_methods</code></a> 功能标记。
+ </li>
+ <li>[C-1-2] 必须完整实现 <a href="https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html"><code>Input Management Framework</code></a>。
+ </li>
+ <li>[C-1-3] 必须有预加载的软件键盘。
+ </li>
+ </ul>
+ <p>
+设备实现:<em>[C-0-1] ä¸å¾—包å«ä¸Ž <a href="http://developer.android.com/reference/android/content/res/Configuration.html">android.content.res.Configuration.keyboard</a> 中指定的任何格å¼ï¼ˆQWERTY 或 12 键)都ä¸åŒ¹é…的硬件键盘。</em> 应包å«é¢å¤–的软键盘实现。*å¯ä»¥åŒ…å«ç¡¬ä»¶é”®ç›˜ã€‚
+ </p>
+ <h4 id="7_2_2_non-touch_navigation">
+7.2.2. éžè§¦æ‘¸å¯¼èˆª
+ </h4>
+ <p>
+Android 支æŒä½¿ç”¨æ–¹å‘é”®ã€è½¨è¿¹çƒå’Œæ»šè½®è¿›è¡Œéžè§¦æ‘¸å¯¼èˆªã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须针对 <a href="https://developer.android.com/reference/android/content/res/Configuration.html#navigation">android.content.res.Configuration.navigation</a> 报告正确的值。
+ </li>
+ </ul>
+ <p>
+如果设备实现缺少éžè§¦æ‘¸å¯¼èˆªï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ供一个与输入管ç†å¼•æ“Žå…¼å®¹ä¸”åˆç†çš„替代界é¢æœºåˆ¶ï¼Œä»¥ä¾¿ç”¨æˆ·é€‰æ‹©å’Œç¼–辑文字。上游 Android 开放æºä»£ç å®žçŽ°åŒ…å«ä¸€ç§é€‚åˆåœ¨ç¼ºå°‘éžè§¦æ‘¸å¯¼èˆªè¾“入法的设备上使用的选择机制。
+ </li>
+ </ul>
+ <h4 id="7_2_3_navigation_keys">
+7.2.3. 导航键
+ </h4>
+ <p>
+<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME">主å±å¹•</a>ã€<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_APP_SWITCH">最近用过</a>å’Œ<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK">返回</a>功能(通常是在用户与专用的实体按钮或触摸å±ä¸Šçš„å•ç‹¬éƒ¨åˆ†äº’动åŽæ供)是 Android 导航范å¼çš„基本组æˆéƒ¨åˆ†ï¼Œå› æ­¤ï¼Œè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯åŠ¨å…·æœ‰æ»¡è¶³ä»¥ä¸‹æ¡ä»¶çš„ Activity 的已安装应用:对于 TV 设备实现,<code>&lt;intent-filter&gt;</code> 设为 <code>ACTION=MAIN</code> å’Œ <code>CATEGORY=LAUNCHER</code> 或 <code>CATEGORY=LEANBACK_LAUNCHER</code>。“主å±å¹•â€åŠŸèƒ½åº”是æ供此方å¼çš„机制。
+ </li>
+ <li>应为“最近用过â€å’Œâ€œè¿”回â€åŠŸèƒ½æ供相应的按钮。
+ </li>
+ </ul>
+ <p>
+如果æ供了“主å±å¹•â€ã€â€œæœ€è¿‘用过â€æˆ–“返回â€åŠŸèƒ½ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 当其中任何功能处于å¯ä¾›è®¿é—®çŠ¶æ€æ—¶ï¼Œéƒ½å¿…é¡»å¯é€šè¿‡å•æ¬¡æ“作(点按ã€åŒå‡»æˆ–手势等)访问。
+ </li>
+ <li>[C-1-2] 必须明确指明å„个å•æ¬¡æ“作会触å‘哪项功能。常è§çš„指明方å¼ç¤ºä¾‹åŒ…括:在按钮上å°åˆ¶å¯è§å›¾æ ‡ã€åœ¨å±å¹•çš„导航æ éƒ¨åˆ†æ˜¾ç¤ºè½¯ä»¶å›¾æ ‡ï¼Œæˆ–在开箱设置期间引导用户完æˆåˆ†æ­¥æ¼”示æµç¨‹ã€‚
+ </li>
+ </ul>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议ä¸è¦ä¸º<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK">“èœå•â€åŠŸèƒ½</a>æ供输入机制。因为从 Android 4.0 开始,由于æ“作æ çš„出现,“èœå•â€åŠŸèƒ½è¢«å¼ƒç”¨äº†ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现æ供“èœå•â€åŠŸèƒ½ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 当æ“作溢出èœå•å¼¹å‡ºçª—å£ä¸ä¸ºç©ºä¸”æ“作æ å¤„于å¯è§çŠ¶æ€æ—¶ï¼Œå¿…须显示æ“作溢出按钮。
+ </li>
+ <li>[C-2-2] 对于在æ“作æ ä¸­é€‰æ‹©æº¢å‡ºæŒ‰é’®åŽæ˜¾ç¤ºçš„æ“作溢出弹出窗å£ï¼Œä¸å¾—修改其ä½ç½®ã€‚但对于在选择“èœå•â€åŠŸèƒ½åŽæ˜¾ç¤ºçš„æ“作溢出弹出窗å£ï¼Œåˆ™å¯ä»¥åœ¨å±å¹•ä¸Šå°†å…¶å‘ˆçŽ°åˆ°ä¿®æ”¹åŽçš„ä½ç½®ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现未æ供用于实现å‘åŽå…¼å®¹çš„“èœå•â€åŠŸèƒ½ï¼Œåˆ™ï¼š* [C-3-1] 当 <code>targetSdkVersion</code> å°äºŽ 10 时,必须使该“èœå•â€åŠŸèƒ½å¯ä¾›åº”用使用(通过实体按钮ã€è½¯ä»¶æŒ‰é”®æˆ–手势)。该“èœå•â€åŠŸèƒ½åº”å¯ä¾›è®¿é—®ï¼Œé™¤éžä¸Žå…¶ä»–导航功能一起éšè—èµ·æ¥ã€‚
+ </p>
+ <p>
+如果设备实现æä¾›<a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_ASSIST">“辅助â€åŠŸèƒ½</a>,则:[C-4-1] 当其他导航键å¯ä¾›è®¿é—®æ—¶ï¼Œå¿…须使该“辅助â€åŠŸèƒ½å¯é€šè¿‡å•æ¬¡æ“作(例如点按ã€åŒå‡»æˆ–手势)访问。<em></em> [SR] 强烈建议将长按“主å±å¹•â€é”®ç”¨ä½œè¿™ä¸€æŒ‡å®šäº¤äº’。
+ </p>
+ <p>
+如果设备实现使用å±å¹•ä¸Šçš„å•ç‹¬éƒ¨åˆ†æ¥æ˜¾ç¤ºå¯¼èˆªé”®ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-5-1] 导航键必须ä½äºŽå±å¹•ä¸Šçš„å•ç‹¬éƒ¨åˆ†ï¼Œä¸èƒ½ä¾›åº”用使用,并且ä¸å¾—é®ä½æˆ–以其他方å¼å½±å“å±å¹•ä¸Šå¯ä¾›åº”用使用的部分。
+ </li>
+ <li>[C-5-2] 如果应用满足<a href="#7_1_1_screen_configuration">第 7.1.1 节</a>中定义的è¦æ±‚,则必须将显示å±çš„一部分æ供给它们使用。
+ </li>
+ <li>[C-5-3] å¿…é¡»éµä»Žåº”用通过 <a href="https://developer.android.com/reference/android/view/View.html#setSystemUiVisibility%28int%29"><code>View.setSystemUiVisibility()</code></a> API 方法设置的标记,以便å±å¹•ä¸Šè¿™ä¸ªå•ç‹¬çš„部分(也称为导航æ ï¼‰èƒ½å¤Ÿæ­£ç¡®éšè—èµ·æ¥ï¼ˆå¦‚ SDK 中所述)。
+ </li>
+ </ul>
+ <h4 id="7_2_4_touchscreen_input">
+7.2.4. 触摸å±è¾“å…¥
+ </h4>
+ <p>
+Android 支æŒå¤šç§æŒ‡æŽ§è¾“入系统,例如触摸å±ã€è§¦æ‘¸æ¿å’Œæ¨¡æ‹Ÿè§¦æ‘¸è¾“入设备。<a href="https://source.android.com/devices/input/touch-devices">基于触摸å±çš„设备实现</a>会与显示å±ç›¸å…³è”,从而让用户感觉åƒæ˜¯åœ¨ç›´æŽ¥æ“控å±å¹•ä¸Šçš„内容。由于用户会直接触摸å±å¹•ï¼Œå› æ­¤ç³»ç»Ÿä¸éœ€è¦ä½¿ç”¨ä»»ä½•é¢å¤–çš„æ–¹å¼æ¥æŒ‡æ˜Žæ‰€æ“控的对象。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应具有æŸç§æŒ‡æŽ§è¾“入系统(类似于鼠标的输入系统或触摸å¼è¾“入系统)。
+ </li>
+ <li>应支æŒå®Œå…¨ç‹¬ç«‹è·Ÿè¸ªçš„指针。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«è§¦æ‘¸å±ï¼ˆå•ç‚¹è§¦æŽ§æˆ–更好的触摸å±ï¼‰ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须针对 <a href="https://developer.android.com/reference/android/content/res/Configuration.html#touchscreen"><code>Configuration.touchscreen</code></a> API 字段报告 <code>TOUCHSCREEN_FINGER</code>。
+ </li>
+ <li>[C-1-2] 必须报告 <code>android.hardware.touchscreen</code> 和 <code>android.hardware.faketouch</code> 功能标记。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¯ä»¥è·Ÿè¸ªå¤šä¸ªå•ç‚¹è§¦æŽ§çš„触摸å±ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须报告与设备上的具体触摸å±ç±»åž‹å¯¹åº”的适当功能标记 <code>android.hardware.touchscreen.multitouch</code>ã€<code>android.hardware.touchscreen.multitouch.distinct</code>ã€<code>android.hardware.touchscreen.multitouch.jazzhand</code>。
+ </li>
+ </ul>
+ <p>
+如果设备实现ä¸åŒ…å«è§¦æ‘¸å±ï¼ˆä»…ä¾é æŒ‡æŽ§è®¾å¤‡ï¼‰ï¼Œå¹¶ä¸”满足<a href="#7_2_5_fake_touch_input">第 7.2.5 节</a>中的模拟触摸è¦æ±‚,则:
+ </p>
+ <ul>
+ <li>[C-3-1] ä¸å¾—报告任何以 <code>android.hardware.touchscreen</code> 开头的功能标记,åªèƒ½æŠ¥å‘Š <code>android.hardware.faketouch</code>。
+ </li>
+ </ul>
+ <h4 id="7_2_5_fake_touch_input">
+7.2.5. 模拟触摸输入
+ </h4>
+ <p>
+模拟触摸界é¢ä¼šæ供一个能够模拟部分触摸å±åŠŸèƒ½çš„用户输入系统。例如,驱动å±å¹•å…‰æ ‡çš„鼠标或é¥æŽ§å™¨èƒ½å¤Ÿæ¨¡æ‹Ÿè§¦æ‘¸æ“作,但需è¦ç”¨æˆ·å…ˆæŒ‡å‘或èšç„¦åˆ°ç›®æ ‡ï¼Œç„¶åŽå†ç‚¹å‡»ã€‚é¼ æ ‡ã€è§¦æŽ§æ¿ã€åŸºäºŽé™€èžºä»ªçš„空中鼠标ã€é™€èžºä»ªæŒ‡é’ˆã€æ“纵æ†å’Œå¤šç‚¹è§¦æŽ§æ¿ç­‰å¤šç§è¾“入设备都å¯ä»¥æ”¯æŒæ¨¡æ‹Ÿè§¦æ‘¸äº¤äº’。Android 包å«åŠŸèƒ½å¸¸é‡ android.hardware.faketouch,该常é‡å¯¹åº”于高ä¿çœŸéžè§¦æ‘¸ï¼ˆæŒ‡æŽ§å¼ï¼‰è¾“入设备,例如å¯ä»¥å……分模拟触摸å¼è¾“入的鼠标或触控æ¿ï¼ˆåŒ…括基本手势支æŒï¼‰ï¼Œå¹¶ä¸”该常é‡å¯æŒ‡æ˜Žè®¾å¤‡æ”¯æŒæ‰€æ¨¡æ‹Ÿçš„触摸å±åŠŸèƒ½å­é›†ã€‚
+ </p>
+ <p>
+如果设备实现ä¸åŒ…å«è§¦æ‘¸å±ï¼Œä½†åŒ…å«å¦ä¸€ç§å®ƒä»¬æƒ³è¦æ供的指控输入系统,则:
+ </p>
+ <ul>
+ <li>åº”å£°æ˜Žæ”¯æŒ <code>android.hardware.faketouch</code> 功能标记。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>android.hardware.faketouch</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告指针在å±å¹•ä¸­çš„<a href="http://developer.android.com/reference/android/view/MotionEvent.html">ç»å¯¹ X å’Œ Y ä½ç½®</a>,并在å±å¹•ä¸­æ˜¾ç¤ºå¯è§æŒ‡é’ˆã€‚
+ </li>
+ <li>[C-1-2] 必须通过æ“作代ç ï¼ˆæŒ‡å®š<a href="http://developer.android.com/reference/android/view/MotionEvent.html">在å±å¹•ä¸­æŒ‰ä¸‹æˆ–æ¾å¼€æŒ‡é’ˆ</a>æ—¶å‘生的状æ€å˜åŒ–)报告触摸事件。
+ </li>
+ <li>[C-1-3] 必须支æŒåœ¨å±å¹•ä¸­çš„对象上按下åŽå†æ¾å¼€æŒ‡é’ˆï¼Œä»¥ä¾¿ç”¨æˆ·æ¨¡æ‹Ÿç‚¹æŒ‰å±å¹•ä¸­çš„对象。
+ </li>
+ <li>[C-1-4] 必须支æŒäºŽæ—¶é—´é˜ˆå€¼å†…在å±å¹•ä¸­å¯¹è±¡ä¸Šçš„åŒä¸€ä½ç½®æŒ‰ä¸‹ã€æ¾å¼€ã€æŒ‰ä¸‹åŽå†æ¾å¼€æŒ‡é’ˆï¼Œä»¥ä¾¿ç”¨æˆ·<a href="http://developer.android.com/reference/android/view/MotionEvent.html">模拟点按两次</a>å±å¹•ä¸­çš„对象。
+ </li>
+ <li>[C-1-5] 必须支æŒåœ¨å±å¹•ä¸­çš„ä»»æ„一点按下指针ã€å°†æŒ‡é’ˆç§»è‡³å±å¹•ä¸­çš„其他任æ„一点,然åŽå†æ¾å¼€æŒ‡é’ˆï¼Œä»¥ä¾¿ç”¨æˆ·æ¨¡æ‹Ÿè§¦æ‘¸æ‹–动æ“作。
+ </li>
+ <li>[C-1-6] 必须支æŒæŒ‰ä¸‹æŒ‡é’ˆåŽå…许用户快速将对象移至å±å¹•ä¸­çš„其他ä½ç½®ï¼Œç„¶åŽåœ¨å±å¹•ä¸­æ¾å¼€æŒ‡é’ˆï¼Œä»¥ä¾¿ç”¨æˆ·ç”©åŠ¨å±å¹•ä¸­çš„对象。
+ </li>
+ <li>[C-1-7] 必须针对 <a href="https://developer.android.com/reference/android/content/res/Configuration.html#touchscreen"><code>Configuration.touchscreen</code></a> API 字段报告 <code>TOUCHSCREEN_NOTOUCH</code>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>android.hardware.faketouch.multitouch.distinct</code>,则:
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»å£°æ˜Žæ”¯æŒ <code>android.hardware.faketouch</code>。
+ </li>
+ <li>[C-2-2] 必须支æŒå¯¹ä¸¤ä¸ªæˆ–更多个独立的指控输入分别进行跟踪。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>android.hardware.faketouch.multitouch.jazzhand</code>,则:
+ </p>
+ <ul>
+ <li>[C-3-1] å¿…é¡»å£°æ˜Žæ”¯æŒ <code>android.hardware.faketouch</code>。
+ </li>
+ <li>[C-3-2] 必须支æŒå®Œå…¨ç‹¬ç«‹åœ°åˆ†åˆ«è·Ÿè¸ª 5 个(对一åªæ‰‹ä¸Šäº”根手指的æ“作进行跟踪)或更多个指控输入。
+ </li>
+ </ul>
+ <h4 id="7_2_6_game_controller_support">
+7.2.6. 游æˆæŽ§åˆ¶å™¨æ”¯æŒ
+ </h4>
+ <h5 id="7_2_6_1_button_mappings">
+7.2.6.1. 按钮映射
+ </h5>
+ <p>
+如果设备实现声明了 <code>android.hardware.gamepad</code> 功能标记,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须嵌入控制器,或在包装盒内éšé™„å•ç‹¬çš„控制器,以便输入下表中列出的所有事件。
+ </li>
+ <li>[C-1-2] 必须能够将 HID 事件映射到关è”çš„ Android <code>view.InputEvent</code> 常é‡ï¼ˆå¦‚下表中所列)。上游 Android 实现包å«æ»¡è¶³è¯¥è¦æ±‚的游æˆæŽ§åˆ¶å™¨å®žçŽ°ã€‚
+ </li>
+ </ul>
+ <table>
+ <tbody><tr>
+ <th>
+按钮
+ </th>
+ <th>
+HID 用法<sup>2</sup>
+ </th>
+ <th>
+Android 按钮
+ </th>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_A">A</a><sup>1</sup>
+ </td>
+ <td>0x09 0x0001
+ </td>
+ <td>KEYCODE_BUTTON_A (96)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_B">B</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x0002
+ </td>
+ <td>KEYCODE_BUTTON_B (97)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_X">X</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x0004
+ </td>
+ <td>
+KEYCODE_BUTTON_X (99)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_Y">Y</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x0005
+ </td>
+ <td>
+KEYCODE_BUTTON_Y (100)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_UP">D-pad up</a><sup>1</sup><br />
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_DOWN">D-pad down</a><sup>1</sup>
+ </td>
+ <td>
+0x01 0x0039<sup>3</sup>
+ </td>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_Y">AXIS_HAT_Y</a><sup>4</sup>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_LEFT">D-pad left</a>1<br />
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_RIGHT">D-pad right</a><sup>1</sup>
+ </td>
+ <td>
+0x01 0x0039<sup>3</sup>
+ </td>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_X">AXIS_HAT_X</a><sup>4</sup>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_L1">Left shoulder button</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x0007
+ </td>
+ <td>
+KEYCODE_BUTTON_L1 (102)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_R1">Right shoulder button</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x0008
+ </td>
+ <td>
+KEYCODE_BUTTON_R1 (103)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBL">Left stick click</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x000E
+ </td>
+ <td>
+KEYCODE_BUTTON_THUMBL (106)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBR">Right stick click</a><sup>1</sup>
+ </td>
+ <td>
+0x09 0x000F
+ </td>
+ <td>
+KEYCODE_BUTTON_THUMBR (107)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME">Home</a><sup>1</sup>
+ </td>
+ <td>
+0x0c 0x0223
+ </td>
+ <td>
+KEYCODE_HOME (3)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK">Back</a><sup>1</sup>
+ </td>
+ <td>
+0x0c 0x0224
+ </td>
+ <td>
+KEYCODE_BACK (4)
+ </td>
+ </tr>
+ </tbody></table>
+ <p class="table_footnote">
+1 <a href="http://developer.android.com/reference/android/view/KeyEvent.html">KeyEvent</a>
+ </p>
+ <p class="table_footnote">
+2 必须在 Game pad CA (0x01 0x0005) 中声明上述 HID 用法。
+ </p>
+ <p class="table_footnote">
+3 è¿™ç§ç”¨æ³•çš„ Logical Minimum 必须为 0,Logical Maximum 必须为 7,Physical Minimum 必须为 0,Physical Maximum 必须为 315,Units 必须为 Degrees,并且 Report Size 必须为 4。逻辑值指从纵轴顺时针旋转的角度;例如,逻辑值为 0 表示ä¸æ—‹è½¬ï¼Œå¹¶ä¸”按下了å‘上按钮,逻辑值为 1 则表示旋转 45 度,并且åŒæ—¶æŒ‰ä¸‹äº†å‘上和å‘左键。
+ </p>
+ <p class="table_footnote">
+4 <a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a>
+ </p>
+ <table>
+ <tbody><tr>
+ <th>模拟控制<sup>1</sup>
+ </th>
+ <th>
+HID 用法
+ </th>
+ <th>
+Android 按钮
+ </th>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_LTRIGGER">Left Trigger</a>
+ </td>
+ <td>
+0x02 0x00C5
+ </td>
+ <td>
+AXIS_LTRIGGER
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_THROTTLE">Right Trigger</a>
+ </td>
+ <td>
+0x02 0x00C4
+ </td>
+ <td>
+AXIS_RTRIGGER
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Y">Left Joystick</a>
+ </td>
+ <td>
+0x01 0x0030<br />
+0x01 0x0031
+ </td>
+ <td>
+AXIS_X<br />
+AXIS_Y
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Z">Right Joystick</a>
+ </td>
+ <td>
+0x01 0x0032<br />
+0x01 0x0035
+ </td>
+ <td>
+AXIS_Z<br />
+AXIS_RZ
+ </td>
+ </tr>
+ </tbody></table>
+ <p class="table_footnote">
+1 <a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a>
+ </p>
+ <h4 id="7_2_7_remote_control">
+7.2.7. é¥æŽ§å™¨
+ </h4>
+ <p>
+请å‚阅<a href="#2_3_1_hardware">第 2.3.1 节</a>,了解设备专属è¦æ±‚。
+ </p>
+ <h3 id="7_3_sensors">
+7.3. 传感器
+ </h3>
+ <p>
+如果设备实现包å«æŸç§ä¼ æ„Ÿå™¨ï¼Œè€Œè¿™ç§ä¼ æ„Ÿå™¨å…·æœ‰é’ˆå¯¹ç¬¬ä¸‰æ–¹å¼€å‘者的对应 API,则设备实现必须实现该 API,如 Android SDK 文档和 Android 开放æºä»£ç æ–‡æ¡£ä¸­å…³äºŽ<a href="http://source.android.com/devices/sensors/">传感器</a>的部分所述。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»æ ¹æ® <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html"><code>android.content.pm.PackageManager</code></a> 类准确报告是å¦å­˜åœ¨ä¼ æ„Ÿå™¨ã€‚
+ </li>
+ <li>[C-0-2] 必须通过 <code>SensorManager.getSensorList()</code> 和类似方法返回准确的å—支æŒä¼ æ„Ÿå™¨åˆ—表。
+ </li>
+ <li>[C-0-3] 对于所有其他传感器 API,必须采å–åˆç†çš„行为(例如,在应用å°è¯•æ³¨å†Œç›‘å¬å™¨æ—¶è§†æƒ…况返回 <code>true</code> 或 <code>false</code>,在ä¸å­˜åœ¨å¯¹åº”的传感器时ä¸è°ƒç”¨ä¼ æ„Ÿå™¨ç›‘å¬å™¨ï¼Œç­‰ç­‰ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æŸç§ä¼ æ„Ÿå™¨ï¼Œè€Œè¿™ç§ä¼ æ„Ÿå™¨å…·æœ‰é’ˆå¯¹ç¬¬ä¸‰æ–¹å¼€å‘者的对应 API,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 对于æ¯ç§ä¼ æ„Ÿå™¨ï¼Œéƒ½å¿…须采用相关国际å•ä½åˆ¶ï¼ˆå…¬åˆ¶ï¼‰å€¼<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">报告所有传感器测é‡ç»“æžœ</a>(如 Android SDK 文档中所定义)。
+ </li>
+ <li>[C-1-2] 必须报告传感器数æ®ï¼Œå¹¶ä¸”最大延迟为 100 毫秒 + 2 * sample_time(如果传感器进行æµå¼ä¼ è¾“所需的最å°å»¶è¿Ÿä¸º 5 毫秒)+ 2 * sample_time(如果应用处ç†å™¨å¤„于活动状æ€ï¼‰ã€‚该延迟ä¸åŒ…å«ä»»ä½•è¿‡æ»¤å»¶è¿Ÿã€‚
+ </li>
+ <li>[C-1-3] 必须在å¯ç”¨ä¼ æ„Ÿå™¨åŽçš„ 400 毫秒 + 2 * sample_time 内报告第一个传感器样本。该样本的精度å¯ä»¥ä¸º 0。
+ </li>
+ <li>
+ <p>
+[SR] 应以纳秒为å•ä½<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp">报告事件时间</a>(如 Android SDK 文档中定义),该时间表示事件å‘生时的时间,与 SystemClock.elapsedRealtimeNano() 时钟åŒæ­¥ã€‚<strong>强烈建议</strong>现有的åŠæ–°çš„ Android 设备满足这些è¦æ±‚,以便å‡çº§åˆ°æœªæ¥å¹³å°ç‰ˆæœ¬ï¼ˆåœ¨æœªæ¥å¹³å°ç‰ˆæœ¬ä¸­ï¼Œæ­¤ç»„件å¯èƒ½ä¼šæˆä¸ºå¿…需组件)。åŒæ­¥è¯¯å·®åº”在 100 毫秒以内。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-4] 对于 Android SDK 文档中指明为<a href="https://source.android.com/devices/sensors/report-modes.html#continuous">连续传感器</a>的任何 API,设备实现都必须连续æ供周期性数æ®æ ·æœ¬ï¼Œå¹¶ä¸”这些样本的抖动应低于 3%,抖动是指连续事件报告的时间戳值之差的标准å差。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-5] 必须确ä¿ä¼ æ„Ÿå™¨äº‹ä»¶æµä¸å¾—阻止设备 CPU 进入挂起状æ€æˆ–从挂起状æ€å”¤é†’。
+ </p>
+ </li>
+ <li>当多个传感器处于å¯ç”¨çŠ¶æ€æ—¶ï¼ŒåŠŸè€—ä¸åº”超过å„个传感器所报告的功耗的总和。
+ </li>
+ </ul>
+ <p>
+上述列表并ä¸æ˜¯è¯¦å°½æ— é—的;请以 Android SDK å’Œ Android 开放æºä»£ç æ–‡æ¡£ä¸­å…³äºŽ<a href="http://source.android.com/devices/sensors/">传感器</a>的部分载述的行为为准。
+ </p>
+ <p>
+有些传感器为å¤åˆåž‹ï¼Œä¹Ÿå°±æ˜¯è¯´ï¼Œå®ƒä»¬å¯ä»¥ä»Žä¸€ä¸ªæˆ–多个其他传感器æ供的数æ®æŽ¨å¯¼å‡ºæ¥ã€‚(例如方å‘传感器和线性加速度传感器。)
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应实现这些传感器类型,但å‰æ是设备实现包å«å¿…è¦çš„实体传感器(如<a href="https://source.android.com/devices/sensors/sensor-types.html">传感器类型</a>中所述)。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¤åˆä¼ æ„Ÿå™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须实现该传感器,如 Android 开放æºä»£ç æ–‡æ¡£ä¸­å…³äºŽ<a href="https://source.android.com/devices/sensors/sensor-types.html#composite_sensor_type_summary">å¤åˆä¼ æ„Ÿå™¨</a>的部分所述。
+ </li>
+ </ul>
+ <h4 id="7_3_1_accelerometer">
+7.3.1. 加速度计
+ </h4>
+ <ul>
+ <li>è®¾å¤‡å®žçŽ°åº”åŒ…å« 3 轴加速度计。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 轴加速度计,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须能够以至少 50 Hz 的频率报告事件。
+ </li>
+ <li>[C-1-2] 必须实现并报告 <a href="http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETER"><code>TYPE_ACCELEROMETER</code></a> 传感器。
+ </li>
+ <li>[C-1-3] å¿…é¡»éµä»Ž <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Android 传感器å标系</a>(Android API 中对此进行了详细说明)。
+ </li>
+ <li>[C-1-4] 在任æ„轴上都必须能够测é‡ä»Žè‡ªç”±ä¸‹è½åˆ°é«˜è¾¾å››å€é‡åŠ›åŠ é€Ÿåº¦ (4g) çš„è¿åŠ¨è¿‡ç¨‹ã€‚
+ </li>
+ <li>[C-1-5] 分辨率必须至少为 12 ä½ã€‚
+ </li>
+ <li>[C-1-6] 标准åå·®ä¸å¾—高于 0.05 m/s^,其中标准å差应按æ¯ä¸ªè½´è¿›è¡Œè®¡ç®—,并且应使用以最大采样率在至少 3 秒内采集的样本进行计算。
+ </li>
+ <li>[SR] <strong>强烈建议</strong>实现 <code>TYPE_SIGNIFICANT_MOTION</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ <li>[SR] 如果æ供了在线加速度计校准功能,则强烈建议实现 <code>TYPE_ACCELEROMETER_UNCALIBRATED</code> 传感器。
+ </li>
+ <li>应实现 <code>TYPE_SIGNIFICANT_MOTION</code>ã€<code>TYPE_TILT_DETECTOR</code>ã€<code>TYPE_STEP_DETECTOR</code>ã€<code>TYPE_STEP_COUNTER</code> å¤åˆä¼ æ„Ÿå™¨ï¼ˆå¦‚ Android SDK 文档中所述)。
+ </li>
+ <li>应以至少 200 Hz 的频率报告事件。
+ </li>
+ <li>分辨率应至少为 16 ä½ã€‚
+ </li>
+ <li>应在使用时进行校准(如果特性éšç”Ÿå‘½å‘¨æœŸå‘生å˜åŒ–)和补å¿ï¼Œå¹¶ä¸”在设备é‡æ–°å¯åŠ¨åŽç›´åˆ°å†æ¬¡é‡æ–°å¯åŠ¨ä¹‹å‰åº”ä¿ç•™è¡¥å¿å‚数。
+ </li>
+ <li>应进行温度补å¿ã€‚
+ </li>
+ <li>还应实现 <a href="https://developer.android.com/reference/android/hardware/Sensor.html#STRING_TYPE_ACCELEROMETER_UNCALIBRATED"><code>TYPE_ACCELEROMETER_UNCALIBRATED</code></a> 传感器。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 轴加速度计,并且实现了 <code>TYPE_SIGNIFICANT_MOTION</code>ã€<code>TYPE_TILT_DETECTOR</code>ã€<code>TYPE_STEP_DETECTOR</code>ã€<code>TYPE_STEP_COUNTER</code> å¤åˆä¼ æ„Ÿå™¨ä¸­çš„任何一ç§ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 其功耗总和必须始终低于 4 mW。
+ </li>
+ <li>æ¯ä¸ªä¼ æ„Ÿå™¨çš„功耗应在设备处于动æ€æ—¶ä½ŽäºŽ 2 mW,在设备处于é™æ€æ—¶ä½ŽäºŽ 0.5 mW。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 轴加速度计和陀螺仪传感器,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须实现 <code>TYPE_GRAVITY</code> å’Œ <code>TYPE_LINEAR_ACCELERATION</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ <li>应实现 <code>TYPE_GAME_ROTATION_VECTOR</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ <li>[SR] 强烈建议现有的åŠæ–°çš„ Android 设备实现 <code>TYPE_GAME_ROTATION_VECTOR</code> 传感器。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 轴加速度计ã€é™€èžºä»ªä¼ æ„Ÿå™¨å’Œç£åŠ›è®¡ä¼ æ„Ÿå™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-4-1] 必须实现 <code>TYPE_ROTATION_VECTOR</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ </ul>
+ <h4 id="7_3_2_magnetometer">
+7.3.2. ç£åŠ›è®¡
+ </h4>
+ <ul>
+ <li>è®¾å¤‡å®žçŽ°åº”åŒ…å« 3 è½´ç£åŠ›è®¡ï¼ˆç½—盘)。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 è½´ç£åŠ›è®¡ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现 <code>TYPE_MAGNETIC_FIELD</code> 传感器。
+ </li>
+ <li>[C-1-2] 必须能够以至少 10 Hz 的频率报告事件,并且应以至少 50 Hz 的频率报告事件。
+ </li>
+ <li>[C-1-3] å¿…é¡»éµä»Ž <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Android 传感器å标系</a>(Android API 中对此进行了详细说明)。
+ </li>
+ <li>[C-1-4] 饱和之å‰ï¼Œåœ¨æ¯ä¸ªè½´ä¸Šçš„测é‡èŒƒå›´éƒ½å¿…须能够达到 -900 μT 至 +900 μT。
+ </li>
+ <li>[C-1-5] 必须通过以下方å¼ä½¿ç¡¬é“å移值低于 700 μT,并且应低于 200 μT:将ç£åŠ›è®¡æ”¾åœ¨è¿œç¦»åŠ¨æ€ï¼ˆç”µæµæ„Ÿåº”)和é™æ€ï¼ˆç£æ„Ÿåº”)ç£åœºçš„ä½ç½®ã€‚
+ </li>
+ <li>[C-1-6] 分辨率必须等于或高于 0.6 µT。
+ </li>
+ <li>[C-1-7] 必须支æŒåœ¨çº¿æ ¡å‡†å’Œè¡¥å¿ç¡¬é“å差,并且在设备é‡æ–°å¯åŠ¨åŽç›´åˆ°å†æ¬¡é‡æ–°å¯åŠ¨ä¹‹å‰ä¿ç•™è¡¥å¿å‚数。
+ </li>
+ <li>[C-1-8] 必须应用软é“è¡¥å¿ - å¯ä»¥åœ¨ä½¿ç”¨æœŸé—´æˆ–设备生产期间进行校准。
+ </li>
+ <li>[C-1-9] 标准åå·®ä¸å¾—高于 1.5 µT,并且ä¸åº”高于 0.5 µT,其中标准å差是按æ¯ä¸ªè½´è¿›è¡Œè®¡ç®—,并且是使用以最大采样率在至少 3 秒内采集的样本进行计算。
+ </li>
+ <li>应实现 <code>TYPE_MAGNETIC_FIELD_UNCALIBRATED</code> 传感器。
+ </li>
+ <li>[SR] 强烈建议现有的åŠæ–°çš„ Android 设备实现 <code>TYPE_MAGNETIC_FIELD_UNCALIBRATED</code> 传感器。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 è½´ç£åŠ›è®¡ã€åŠ é€Ÿåº¦è®¡ä¼ æ„Ÿå™¨å’Œé™€èžºä»ªä¼ æ„Ÿå™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须实现 <code>TYPE_ROTATION_VECTOR</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 è½´ç£åŠ›è®¡å’ŒåŠ é€Ÿåº¦è®¡ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>å¯ä»¥å®žçŽ° <code>TYPE_GEOMAGNETIC_ROTATION_VECTOR</code> 传感器。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« 3 è½´ç£åŠ›è®¡ã€åŠ é€Ÿåº¦è®¡å’Œ <code>TYPE_GEOMAGNETIC_ROTATION_VECTOR</code> 传感器,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 功耗必须低于 10 mW。
+ </li>
+ <li>如果传感器注册了 10 Hz 的批处ç†æ¨¡å¼ï¼Œåˆ™åŠŸè€—应低于 3 mW。
+ </li>
+ </ul>
+ <h4 id="7_3_3_gps">
+7.3.3. GPS
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>åº”åŒ…å« GPS/GNSS 接收器。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« GPS/GNSS 接收器,并且通过 <code>android.hardware.location.gps</code> 功能标记å‘应用报告该功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 当收到通过 <code>LocationManager#requestLocationUpdate</code> æ交的ä½ç½®ä¿¡æ¯è¯·æ±‚时,必须支æŒä»¥è‡³å°‘ 1 Hz 的频率输出ä½ç½®ä¿¡æ¯ã€‚
+ </li>
+ <li>[C-1-2] 当互è”网连接的数æ®ä¼ è¾“速度为 0.5 Mbps 或更快时,在露天æ¡ä»¶ï¼ˆä¿¡å·å¼ºï¼Œå¯å¿½ç•¥å¤šè·¯å¾„,HDOP å°äºŽ 2)下必须能于 10 秒内确定ä½ç½®ï¼ˆå¿«é€Ÿå®Œæˆé¦–次定ä½ï¼‰ã€‚为了满足该è¦æ±‚,通常å¯ä»¥é‡‡ç”¨æŸç§å½¢å¼çš„辅助或预测 GPS/GNSS 技术æ¥æœ€å¤§é™åº¦åœ°ç¼©çŸ­ GPS/GNSS é”定时间(辅助数æ®åŒ…括å‚考时间ã€å‚考ä½ç½®å’Œå«æ˜Ÿæ˜ŸåŽ†/时钟)。
+ <ul>
+ <li>[C-1-6] 完æˆæ­¤ç±»ä½ç½®è®¡ç®—åŽï¼Œå¦‚果设备在一个å°æ—¶å†…å†æ¬¡æ”¶åˆ°ä½ç½®ä¿¡æ¯è¯·æ±‚,设备实现必须在露天æ¡ä»¶ä¸‹äºŽ 5 秒内确定其ä½ç½®ï¼Œå³ä½¿åŽç»­è¯·æ±‚是在无数æ®è¿žæŽ¥çš„情况下和/或设备é‡å¯ä¹‹åŽå‘出的也是如此。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+确定ä½ç½®ä¹‹åŽï¼Œåœ¨éœ²å¤©æ¡ä»¶ä¸‹ï¼Œå½“设备处于é™æ­¢çŠ¶æ€æˆ–以å°äºŽ 1 m/s² 的加速度移动时:
+ </p>
+ <ul>
+ <li>[C-1-3] 必须至少在 95% 的时间内能够确定 20 米以内的ä½ç½®ä»¥åŠ 0.5 m/s 以内的速度。
+ </li>
+ <li>[C-1-4] 必须通过 <a href="https://developer.android.com/reference/android/location/GnssStatus.Callback.html#GnssStatus.Callback()'"><code>GnssStatus.Callback</code></a> åŒæ—¶è·Ÿè¸ªå’ŒæŠ¥å‘Šä¸€ä¸ªæ˜Ÿç¾¤ä¸­çš„至少 8 颗å«æ˜Ÿã€‚
+ </li>
+ <li>应能够åŒæ—¶è·Ÿè¸ªå¤šä¸ªæ˜Ÿç¾¤ï¼ˆä¾‹å¦‚ GPS ä»¥åŠ Glonassã€Beidouã€Galileo 中的至少一个)中的至少 24 颗å«æ˜Ÿã€‚
+ </li>
+ <li>[C-1-5] 必须通过测试 API“getGnssYearOfHardwareâ€æŠ¥å‘Š GNSS 技术出产年份。
+ </li>
+ <li>[SR] 在紧急通è¯æœŸé—´ç»§ç»­æ供正常的 GPS/GNSS ä½ç½®ä¿¡æ¯è¾“出。
+ </li>
+ <li>[SR] 报告跟踪的所有星群的 GNSS 测é‡ç»“果(在 GnssStatus 消æ¯ä¸­æŠ¥å‘Šï¼‰ï¼ŒSBAS 除外。
+ </li>
+ <li>[SR] 报告 AGC ä»¥åŠ GNSS 测é‡é¢‘率。
+ </li>
+ <li>[SR] 在æ¯æ¬¡æŠ¥å‘Š GPS/GNSS ä½ç½®æ—¶å‡æŠ¥å‘Šæ‰€æœ‰ä¼°ç®—的测é‡ç»“果(包括方ä½ã€é€Ÿåº¦å’Œé«˜åº¦ï¼‰ã€‚
+ </li>
+ <li>[SR] 强烈建议尽å¯èƒ½å¤šåœ°æ»¡è¶³é’ˆå¯¹ä»¥ä¸‹è®¾å¤‡çš„附加强制性è¦æ±‚:通过 Test API <code>LocationManager.getGnssYearOfHardware()</code> 报告的年份为“2016â€æˆ–“2017â€çš„设备。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« GPS/GNSS 接收器,并且通过 <code>android.hardware.location.gps</code> 功能标记å‘应用报告该功能,而 <code>LocationManager.getGnssYearOfHardware()</code> Test API 报告的年份为“2016â€æˆ–更晚,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须在å‘现 GNSS 测é‡ç»“æžœåŽç«‹å³æŠ¥å‘Šï¼Œå³ä½¿å°šæœªæŠ¥å‘Šé€šè¿‡ GPS/GNSS 计算出的ä½ç½®ä¹Ÿæ˜¯å¦‚此。
+ </li>
+ <li>[C-2-2] 必须报告 GNSS 伪è·å’Œä¼ªè·çŽ‡ï¼Œä»¥ä¾¿åœ¨ç¡®å®šä½ç½®ä¹‹åŽï¼Œåœ¨éœ²å¤©æ¡ä»¶ä¸‹ï¼Œå½“设备处于é™æ­¢çŠ¶æ€æˆ–以å°äºŽ 0.2 m/s² 的加速度移动时,至少在 95% 的情况下能够计算出 20 米以内的ä½ç½®ä»¥åŠ 0.2 m/s 以内的速度。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« GPS/GNSS 接收器,并且通过 <code>android.hardware.location.gps</code> 功能标记å‘应用报告该功能,而 <code>LocationManager.getGnssYearOfHardware()</code> Test API 报告的年份为“2017â€æˆ–更晚,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须在紧急通è¯æœŸé—´ç»§ç»­æ供正常的 GPS/GNSS ä½ç½®ä¿¡æ¯è¾“出。
+ </li>
+ <li>[C-3-2] 必须报告跟踪的所有星群的 GNSS 测é‡ç»“果(在 GnssStatus 消æ¯ä¸­æŠ¥å‘Šï¼‰ï¼ŒSBAS 除外。
+ </li>
+ <li>[C-3-3] 必须报告 AGC ä»¥åŠ GNSS 测é‡é¢‘率。
+ </li>
+ <li>[C-3-4] 必须在æ¯æ¬¡æŠ¥å‘Š GPS/GNSS ä½ç½®æ—¶å‡æŠ¥å‘Šæ‰€æœ‰ä¼°ç®—的测é‡ç»“果(包括方ä½ã€é€Ÿåº¦å’Œé«˜åº¦ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« GPS/GNSS 接收器,并且通过 <code>android.hardware.location.gps</code> 功能标记å‘应用报告该功能,而 <code>LocationManager.getGnssYearOfHardware()</code> Test API 报告的年份为“2018â€æˆ–更晚,则:
+ </p>
+ <ul>
+ <li>[C-4-1] 必须在基于移动基站(基于 MS)的网络å‘起的紧急通è¯æœŸé—´ç»§ç»­å‘应用æ供正常的 GPS/GNSS 输出。
+ </li>
+ <li>[C-4-2] å¿…é¡»å‘ <a href="https://developer.android.com/reference/android/location/LocationProvider">GNSS Location Provider</a> API 报告ä½ç½®ä¿¡æ¯å’Œæµ‹é‡ç»“果。
+ </li>
+ </ul>
+ <h4 id="7_3_4_gyroscope">
+7.3.4. 陀螺仪
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应包å«é™€èžºä»ªï¼ˆè§’度å˜åŒ–传感器)。
+ </li>
+ <li>除éžè¿˜åŒ…å« 3 轴加速度计,å¦åˆ™ä¸åº”包å«é™€èžºä»ªä¼ æ„Ÿå™¨ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«é™€èžºä»ªï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须能够以至少 50 Hz 的频率报告事件。
+ </li>
+ <li>[C-1-2] 必须实现 <code>TYPE_GYROSCOPE</code> 传感器,并且还应实现 <code>TYPE_GYROSCOPE_UNCALIBRATED</code> 传感器。
+ </li>
+ <li>[C-1-3] 必须能够测é‡é«˜è¾¾ 1000 度/秒的方å‘å˜åŒ–。
+ </li>
+ <li>[C-1-4] 分辨率必须为 12 ä½æˆ–更高,并且应为 16 ä½æˆ–更高。
+ </li>
+ <li>[C-1-5] 必须进行温度补å¿ã€‚
+ </li>
+ <li>[C-1-6] 必须在使用时进行校准和补å¿ï¼Œå¹¶åœ¨è®¾å¤‡é‡æ–°å¯åŠ¨åŽç›´åˆ°å†æ¬¡é‡æ–°å¯åŠ¨ä¹‹å‰ä¿ç•™è¡¥å¿å‚数。
+ </li>
+ <li>[C-1-7] æ¯ Hz 方差ä¸å¾—超过 1e-7 rad^2/s^2ï¼ˆæ¯ Hz 方差,或 rad^2/s)。方差å¯éšé‡‡æ ·çŽ‡è€Œå˜åŒ–,但ä¸å¾—超过该值。也就是说,如果以 1 Hz 的采样率测é‡é™€èžºä»ªçš„方差,则方差ä¸åº”超过 1e-7 rad^2/s^2。
+ </li>
+ <li>[SR] 强烈建议现有的åŠæ–°çš„ Android 设备实现 <code>SENSOR_TYPE_GYROSCOPE_UNCALIBRATED</code> 传感器。
+ </li>
+ <li>[SR] 强烈建议设备在室温下处于é™æ­¢çŠ¶æ€æ—¶çš„校准误差å°äºŽ 0.01 rad/s。
+ </li>
+ <li>应以至少 200 Hz 的频率报告事件。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«é™€èžºä»ªã€åŠ é€Ÿåº¦è®¡ä¼ æ„Ÿå™¨å’Œç£åŠ›è®¡ä¼ æ„Ÿå™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须实现 <code>TYPE_ROTATION_VECTOR</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«é™€èžºä»ªå’ŒåŠ é€Ÿåº¦è®¡ä¼ æ„Ÿå™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 必须实现 <code>TYPE_GRAVITY</code> å’Œ <code>TYPE_LINEAR_ACCELERATION</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ <li>[SR] 强烈建议现有的åŠæ–°çš„ Android 设备实现 <code>TYPE_GAME_ROTATION_VECTOR</code> 传感器。
+ </li>
+ <li>应实现 <code>TYPE_GAME_ROTATION_VECTOR</code> å¤åˆä¼ æ„Ÿå™¨ã€‚
+ </li>
+ </ul>
+ <h4 id="7_3_5_barometer">
+7.3.5. 气压计
+ </h4>
+ <ul>
+ <li>设备实现应包å«æ°”压计(环境气压传感器)。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æ°”压计,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现并报告 <code>TYPE_PRESSURE</code> 传感器。
+ </li>
+ <li>[C-1-2] 必须能够以至少 5 Hz 的频率报告事件。
+ </li>
+ <li>[C-1-3] 必须进行温度补å¿ã€‚
+ </li>
+ <li>[SR] 强烈建议能够报告 300hPa 到 1100hPa 之间的压力测é‡ç»“果。
+ </li>
+ <li>ç»å¯¹ç²¾åº¦åº”为 1hPa。
+ </li>
+ <li>相对精度应为 20hPa 范围内误差ä¸è¶…过 0.12hPa(相当于在海平é¢ä¸Š 200m å·¦å³çš„å˜åŒ–误差ä¸è¶…过 1m å·¦å³ï¼‰ã€‚
+ </li>
+ </ul>
+ <h4 id="7_3_6_thermometer">
+7.3.6. 温度计
+ </h4>
+ <p>
+设备实现:å¯ä»¥åŒ…å«çŽ¯å¢ƒæ¸©åº¦è®¡ï¼ˆæ¸©åº¦ä¼ æ„Ÿå™¨ï¼‰ã€‚<em></em> å¯ä»¥ï¼ˆä½†ä¸åº”ï¼‰åŒ…å« CPU 温度传感器。
+ </p>
+ <p>
+如果设备实现包å«çŽ¯å¢ƒæ¸©åº¦è®¡ï¼ˆæ¸©åº¦ä¼ æ„Ÿå™¨ï¼‰ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须将其定义为 <code>SENSOR_TYPE_AMBIENT_TEMPERATURE</code>,并且必须从用户与设备互动的ä½ç½®ï¼ˆå®¤å†…/车厢内)测é‡çŽ¯å¢ƒæ¸©åº¦ï¼ˆä»¥æ‘„æ°åº¦ä¸ºå•ä½ï¼‰ã€‚
+ </li>
+ <li>[C-1-2] 必须将其定义为 <code>SENSOR_TYPE_TEMPERATURE</code>。
+ </li>
+ <li>[C-1-3] 必须测é‡è®¾å¤‡ CPU 的温度。
+ </li>
+ <li>[C-1-4] ä¸å¾—测é‡ä»»ä½•å…¶ä»–温度。
+ </li>
+ </ul>
+ <p>
+请注æ„,<code>SENSOR_TYPE_TEMPERATURE</code> 传感器类型在 Android 4.0 中已被弃用。
+ </p>
+ <h4 id="7_3_7_photometer">
+7.3.7. 光度计
+ </h4>
+ <ul>
+ <li>设备实现å¯ä»¥åŒ…å«å…‰åº¦è®¡ï¼ˆçŽ¯å¢ƒå…‰ä¼ æ„Ÿå™¨ï¼‰ã€‚
+ </li>
+ </ul>
+ <h4 id="7_3_8_proximity_sensor">
+7.3.8. 近程传感器
+ </h4>
+ <ul>
+ <li>设备实现å¯ä»¥åŒ…å«è¿‘程传感器。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«è¿‘程传感器,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须在与å±å¹•ç›¸åŒçš„æ–¹å‘上测é‡ç‰©ä½“的接近度。也就是说,近程传感器必须æœå‘适当方å‘,以便检测é è¿‘å±å¹•çš„物体,因为此类传感器的主è¦ç”¨é€”是检测用户正在使用的手机。如果设备实现包å«æœå‘任何其他方å‘的近程传感器,则ä¸å¾—通过该 API 访问此类传感器。
+ </li>
+ <li>[C-1-2] 精度必须至少为 1 ä½ã€‚
+ </li>
+ </ul>
+ <h4 id="7_3_9_high_fidelity_sensors">
+7.3.9. 高ä¿çœŸä¼ æ„Ÿå™¨
+ </h4>
+ <p>
+如果设备实现包å«ä¸€å¥—è´¨é‡æ›´é«˜çš„传感器(如本节中定义),并使其å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须通过 <code>android.hardware.sensor.hifi_sensors</code> 功能标记标识该功能。
+ </li>
+ </ul>
+ <p>
+如果设备实现声明了 <code>android.hardware.sensor.hifi_sensors</code>,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-2-1] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_ACCELEROMETER</code> 传感器:
+ </p>
+ <ul>
+ <li>测é‡èŒƒå›´å¿…须至少在 -8g 到 +8g 之间,应在 -16g 到 +16g 之间。
+ </li>
+ <li>测é‡åˆ†è¾¨çŽ‡å¿…须至少为 2048 LSB/g。
+ </li>
+ <li>最å°æµ‹é‡é¢‘率必须等于或低于 12.5 Hz。
+ </li>
+ <li>最大测é‡é¢‘率必须等于或高于 400 Hzï¼Œä¸”åº”æ”¯æŒ SensorDirectChannel <a href="https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#RATE_VERY_FAST"><code>RATE_VERY_FAST</code></a>。
+ </li>
+ <li>测é‡å™ªå£°ä¸å¾—高于 400 μg/√Hz。
+ </li>
+ <li>必须实现这ç§ä¼ æ„Ÿå™¨çš„éžå”¤é†’å½¢å¼ï¼Œå¹¶ä¸”至少能够缓冲 3000 个传感器事件。
+ </li>
+ <li>批处ç†åŠŸè€—ä¸å¾—高于 3 mW。
+ </li>
+ <li>[C-SR] 强烈建议采用 3dB 的测é‡å¸¦å®½ä»¥åŠè‡³å°‘ 80% 的奈奎斯特频率,且此带宽中具有白噪音声谱。
+ </li>
+ <li>在室温下测试的加速度éšæœºæ¸¸èµ°åº”å°äºŽ 30 μg/√Hz。
+ </li>
+ <li>åå·®éšæ¸©åº¦çš„å˜åŒ–应å°äºŽç­‰äºŽ +/- 1mg/°C。
+ </li>
+ <li>最佳拟åˆçº¿éžçº¿æ€§åº¦åº”å°äºŽç­‰äºŽ 0.5%,并且çµæ•åº¦éšæ¸©åº¦çš„å˜åŒ–应å°äºŽç­‰äºŽ 0.03%/C°。
+ </li>
+ <li>在设备工作温度范围内,交å‰è½´çµæ•åº¦åº”低于 2.5%,其å˜ä½“应低于 0.2%。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-2] 必须具有 <code>TYPE_ACCELEROMETER_UNCALIBRATED</code>,并且其符åˆä¸Ž <code>TYPE_ACCELEROMETER</code> 相åŒçš„è´¨é‡è¦æ±‚。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-2-3] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_GYROSCOPE</code> 传感器:
+ </p>
+ <ul>
+ <li>测é‡èŒƒå›´å¿…须至少在 -1000 dps 到 +1000 dps 之间。
+ </li>
+ <li>测é‡åˆ†è¾¨çŽ‡å¿…须至少为 16 LSB/dps。
+ </li>
+ <li>最å°æµ‹é‡é¢‘率必须等于或低于 12.5 Hz。
+ </li>
+ <li>最大测é‡é¢‘率必须等于或高于 400 Hzï¼Œä¸”åº”æ”¯æŒ SensorDirectChannel <a href="https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#RATE_VERY_FAST"><code>RATE_VERY_FAST</code></a>。
+ </li>
+ <li>测é‡å™ªå£°ä¸å¾—高于 0.014°/s/√Hz。
+ </li>
+ <li>[C-SR] 强烈建议采用 3dB 的测é‡å¸¦å®½ä»¥åŠè‡³å°‘ 80% 的奈奎斯特频率,且此带宽中具有白噪音声谱。
+ </li>
+ <li>在室温下测试的速率éšæœºæ¸¸èµ°åº”å°äºŽ 0.001 °/s √Hz。
+ </li>
+ <li>åå·®éšæ¸©åº¦çš„å˜åŒ–应å°äºŽç­‰äºŽ +/- 0.05 °/s/°C。
+ </li>
+ <li>çµæ•åº¦éšæ¸©åº¦çš„å˜åŒ–应å°äºŽç­‰äºŽ 0.02%/°C。
+ </li>
+ <li>最佳拟åˆçº¿éžçº¿æ€§åº¦åº”å°äºŽç­‰äºŽ 0.2%。
+ </li>
+ <li>噪声密度应å°äºŽç­‰äºŽ 0.007 °/s/√Hz。
+ </li>
+ <li>当设备处于é™æ€æ—¶ï¼Œ10-40 ℃ 温度范围内的校准误差应å°äºŽ 0.002 rad/s。
+ </li>
+ <li>G çµæ•åº¦åº”低于 0.1°/s/g。
+ </li>
+ <li>在设备工作温度范围内,交å‰è½´çµæ•åº¦åº”低于 4.0%,其å˜ä½“应低于 0.3%。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-4] 必须具有 <code>TYPE_GYROSCOPE_UNCALIBRATED</code>,并且其符åˆä¸Ž <code>TYPE_GYROSCOPE</code> 相åŒçš„è´¨é‡è¦æ±‚。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-2-5] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_GEOMAGNETIC_FIELD</code> 传感器:
+ </p>
+ <ul>
+ <li>测é‡èŒƒå›´å¿…须至少在 -900 uT 到 +900 uT 之间。
+ </li>
+ <li>测é‡åˆ†è¾¨çŽ‡å¿…须至少为 5 LSB/uT。
+ </li>
+ <li>最å°æµ‹é‡é¢‘率必须等于或低于 5 Hz。
+ </li>
+ <li>最大测é‡é¢‘率必须等于或高于 50 Hz。
+ </li>
+ <li>测é‡å™ªå£°ä¸å¾—高于 0.5 uT。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-6] 必须具有 <code>TYPE_MAGNETIC_FIELD_UNCALIBRATED</code>,并且其除了符åˆä¸Ž <code>TYPE_GEOMAGNETIC_FIELD</code> 相åŒçš„è´¨é‡è¦æ±‚外,还è¦ç¬¦åˆä»¥ä¸‹è¦æ±‚:
+ </p>
+ <ul>
+ <li>必须实现这ç§ä¼ æ„Ÿå™¨çš„éžå”¤é†’å½¢å¼ï¼Œå¹¶ä¸”至少能够缓冲 600 个传感器事件。
+ </li>
+ <li>[C-SR] 如果报告的速率为 50 Hz 或更高,强烈建议白噪声谱在 1 Hz 到至少 10 Hz 之间。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-2-7] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_PRESSURE</code> 传感器:
+ </p>
+ <ul>
+ <li>测é‡èŒƒå›´å¿…须至少在 300 hPa 到 1100 hPa 之间。
+ </li>
+ <li>测é‡åˆ†è¾¨çŽ‡å¿…须至少为 80 LSB/hPa。
+ </li>
+ <li>最å°æµ‹é‡é¢‘率必须等于或低于 1 Hz。
+ </li>
+ <li>最大测é‡é¢‘率必须等于或高于 10 Hz。
+ </li>
+ <li>测é‡å™ªå£°ä¸å¾—高于 2 Pa/√Hz。
+ </li>
+ <li>必须实现这ç§ä¼ æ„Ÿå™¨çš„éžå”¤é†’å½¢å¼ï¼Œå¹¶ä¸”至少能够缓冲 300 个传感器事件。
+ </li>
+ <li>批处ç†åŠŸè€—ä¸å¾—高于 2 mW。
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-8] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_GAME_ROTATION_VECTOR</code> 传感器:
+ <ul>
+ <li>必须实现这ç§ä¼ æ„Ÿå™¨çš„éžå”¤é†’å½¢å¼ï¼Œå¹¶ä¸”至少能够缓冲 300 个传感器事件。
+ </li>
+ <li>批处ç†åŠŸè€—ä¸å¾—高于 4 mW。
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-9] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_SIGNIFICANT_MOTION</code> 传感器:
+ <ul>
+ <li>当设备处于é™æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 0.5 mW;当设备处于动æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 1.5 mW。
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-10] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_STEP_DETECTOR</code> 传感器:
+ <ul>
+ <li>必须实现这ç§ä¼ æ„Ÿå™¨çš„éžå”¤é†’å½¢å¼ï¼Œå¹¶ä¸”至少能够缓冲 100 个传感器事件。
+ </li>
+ <li>当设备处于é™æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 0.5 mW;当设备处于动æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 1.5 mW。
+ </li>
+ <li>批处ç†åŠŸè€—ä¸å¾—高于 4 mW。
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-11] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TYPE_STEP_COUNTER</code> 传感器:
+ <ul>
+ <li>当设备处于é™æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 0.5 mW;当设备处于动æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 1.5 mW。
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-12] 必须具有符åˆä»¥ä¸‹è¦æ±‚çš„ <code>TILT_DETECTOR</code> 传感器:
+ <ul>
+ <li>当设备处于é™æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 0.5 mW;当设备处于动æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 1.5 mW。
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-13] 加速度计ã€é™€èžºä»ªå’Œç£åŠ›è®¡æŠ¥å‘Šçš„åŒä¸€ç‰©ç†äº‹ä»¶çš„事件时间戳之差必须在 2.5 毫秒以内。加速度计和陀螺仪报告的åŒä¸€ç‰©ç†äº‹ä»¶çš„事件时间戳之差应在 0.25 毫秒以内。
+ </li>
+ <li>[C-2-14] 陀螺仪传感器事件时间戳必须与摄åƒå¤´å­ç³»ç»Ÿé‡‡ç”¨ç›¸åŒçš„时间基准,并且误差在 1 毫秒以内。
+ </li>
+ <li>[C-2-15] 当上述任一物ç†ä¼ æ„Ÿå™¨ä¸Šçš„æ•°æ®å¯ä¾›åº”用使用时,必须在 5 毫秒内将样本æ供给应用。
+ </li>
+ <li>[C-2-16] 如果å¯ç”¨äº†ä»¥ä¸‹ä¼ æ„Ÿå™¨çš„ä»»æ„组åˆï¼Œå½“设备处于é™æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 0.5 mW;当设备处于动æ€æ—¶ï¼ŒåŠŸè€—ä¸å¾—高于 2.0 mW:
+ <ul>
+ <li>
+ <code>SENSOR_TYPE_SIGNIFICANT_MOTION</code>
+ </li>
+ <li>
+ <code>SENSOR_TYPE_STEP_DETECTOR</code>
+ </li>
+ <li>
+ <code>SENSOR_TYPE_STEP_COUNTER</code>
+ </li>
+ <li>
+ <code>SENSOR_TILT_DETECTORS</code>
+ </li>
+ </ul>
+ </li>
+ <li>[C-2-17] å¯ä»¥æœ‰ <code>TYPE_PROXIMITY</code> 传感器,但如果存在,则必须至少能够缓冲 100 个传感器事件。
+ </li>
+ </ul>
+ <p>
+请注æ„,本节中的所有功耗è¦æ±‚都ä¸åŒ…括应用处ç†å™¨çš„功耗。它包å«çš„是整个传感器链(传感器ã€æ‰€æœ‰è¾…助电路ã€æ‰€æœ‰ä¸“用的传感器处ç†ç³»ç»Ÿï¼Œç­‰ç­‰ï¼‰çš„功耗。
+ </p>
+ <p>
+如果设备实现支æŒç›´æŽ¥ä¼ æ„Ÿå™¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 必须通过 <a href="https://developer.android.com/reference/android/hardware/Sensor.html#isDirectChannelTypeSupported%28int%29"><code>isDirectChannelTypeSupported</code></a> å’Œ <a href="https://developer.android.com/reference/android/hardware/Sensor.html#getHighestDirectReportRateLevel%28%29"><code>getHighestDirectReportRateLevel</code></a> API 正确声明支æŒç›´æŽ¥é€šé“类型和直接报告频率级别。
+ </li>
+ <li>[C-3-2] 对于声明支æŒä¼ æ„Ÿå™¨ç›´æŽ¥é€šé“的所有传感器,都必须至少支æŒä»¥ä¸‹ä¸¤ç§ä¼ æ„Ÿå™¨ç›´æŽ¥é€šé“类型之一。
+ <ul>
+ <li>
+ <a href="https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_HARDWARE_BUFFER"><code>TYPE_HARDWARE_BUFFER</code></a>
+ </li>
+ <li>
+ <a href="https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_MEMORY_FILE"><code>TYPE_MEMORY_FILE</code></a>
+ </li>
+ </ul>
+ </li>
+ <li>对于以下类型的主è¦ä¼ æ„Ÿå™¨ï¼ˆéžå”¤é†’å˜ä½“),应支æŒé€šè¿‡ä¼ æ„Ÿå™¨ç›´æŽ¥é€šé“报告事件:
+ <ul>
+ <li>
+ <code>TYPE_ACCELEROMETER</code>
+ </li>
+ <li>
+ <code>TYPE_ACCELEROMETER_UNCALIBRATED</code>
+ </li>
+ <li>
+ <code>TYPE_GYROSCOPE</code>
+ </li>
+ <li>
+ <code>TYPE_GYROSCOPE_UNCALIBRATED</code>
+ </li>
+ <li>
+ <code>TYPE_MAGNETIC_FIELD</code>
+ </li>
+ <li>
+ <code>TYPE_MAGNETIC_FIELD_UNCALIBRATED</code>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h4 id="7_3_10_biometric_sensors">
+7.3.10. 生物识别传感器
+ </h4>
+ <h5 id="7_3_10_1_fingerprint_sensors">
+7.3.10.1. 指纹传感器</h5>
+ <p>
+如果设备实现包å«å®‰å…¨é”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>应包å«æŒ‡çº¹ä¼ æ„Ÿå™¨ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æŒ‡çº¹ä¼ æ„Ÿå™¨ï¼Œå¹¶ä½¿å…¶å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»å£°æ˜Žæ”¯æŒ <code>android.hardware.fingerprint</code> 功能。
+ </li>
+ <li>[C-1-2] 必须完整实现<a href="https://developer.android.com/reference/android/hardware/fingerprint/package-summary.html">对应的 API</a>(如 Android SDK 文档中所述)。
+ </li>
+ <li>[C-1-3] 错误接å—率ä¸å¾—高于 0.002%。
+ </li>
+ <li>[SR] 强烈建议将欺骗和冒å攻击的接å—率设为ä¸é«˜äºŽ 7%。
+ </li>
+ <li>[C-1-4] 必须披露此模å¼çš„安全性å¯èƒ½ä¸åŠå®‰å…¨ç³»æ•°é«˜çš„ PIN ç ã€å›¾æ¡ˆæˆ–密ç ï¼Œå¹¶åœ¨æ¬ºéª—和冒å攻击的接å—率高于 7% 时明确列举å¯ç”¨æ­¤æ¨¡å¼çš„风险。
+ </li>
+ <li>[C-1-5] å°è¯•æŒ‡çº¹éªŒè¯çš„失败次数达到 5 次åŽï¼Œå¿…é¡»é™åˆ¶åœ¨è‡³å°‘ 30 秒内ä¸èƒ½å†æ¬¡è¿›è¡ŒæŒ‡çº¹éªŒè¯ã€‚
+ </li>
+ <li>[C-1-6] 必须实现有硬件支æŒçš„ Keystore,并在å¯ä¿¡æ‰§è¡ŒçŽ¯å¢ƒ (TEE) ä¸­æˆ–åœ¨å…·æœ‰é€šå‘ TEE 的安全通é“的芯片上执行指纹匹é…。
+ </li>
+ <li>[C-1-7] 必须对所有å¯è¯†åˆ«çš„指纹数æ®è¿›è¡ŒåŠ å¯†ï¼Œå¹¶å¯¹å…¶é‡‡ç”¨å¯†ç å½¢å¼çš„身份验è¯æœºåˆ¶ï¼Œä»¥ç¡®ä¿åœ¨å¯ä¿¡æ‰§è¡ŒçŽ¯å¢ƒ (TEE) æˆ–å…·æœ‰é€šå‘ TEE 的安全通é“的芯片之外无法获å–ã€è¯»å–或更改这些数æ®ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上的<a href="https://source.android.com/devices/tech/security/authentication/fingerprint-hal.html">实现指å—</a>中所述)。
+ </li>
+ <li>[C-1-8] 必须通过以下方å¼é˜²æ­¢åœ¨æ²¡æœ‰å…ˆå»ºç«‹ä¿¡ä»»é“¾çš„情况下添加指纹:让用户确认现有设备凭æ®ï¼ˆPIN ç /图案/密ç ï¼Œå— TEE ä¿æŠ¤ï¼‰æˆ–添加新设备凭æ®ï¼›Android å¼€æºé¡¹ç›®å®žçŽ°åœ¨æ¡†æž¶ä¸­æ供了实现这一点的机制。
+ </li>
+ <li>[C-1-9] ä¸å¾—å…许第三方应用区分å„个指纹。
+ </li>
+ <li>[C-1-10] å¿…é¡»éµä»Ž DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT 标记。
+ </li>
+ <li>[C-1-11] 如果从 Android 6.0 之å‰çš„版本进行了å‡çº§ï¼Œåˆ™å¿…须安全è¿ç§»æŒ‡çº¹æ•°æ®ä»¥æ»¡è¶³ä¸Šè¿°è¦æ±‚,或者将这些指纹数æ®ç§»é™¤ã€‚
+ </li>
+ <li>[C-1-12] 必须在移除用户的å¸å·ï¼ˆåŒ…括æ¢å¤å‡ºåŽ‚设置)时完全删除所有å¯è¯†åˆ«çš„指纹数æ®ã€‚
+ </li>
+ <li>[C-1-13] ä¸å¾—å…许应用处ç†å™¨å¯¹å¯è¯†åˆ«çš„指纹数æ®åŠå…¶è¡ç”Ÿçš„任何数æ®ï¼ˆä¾‹å¦‚嵌入)进行未加密的访问。
+ </li>
+ <li>[SR] 强烈建议确ä¿åœ¨è®¾å¤‡ä¸Šæµ‹å¾—的错误拒ç»çŽ‡ä½ŽäºŽ 10%。
+ </li>
+ <li>[SR] 对于 1 个已注册的指纹,强烈建议确ä¿å»¶è¿Ÿæ—¶é—´ï¼ˆå³æµ‹å¾—的从触摸指纹传感器到å±å¹•è§£é”的时间)低于 1 秒。
+ </li>
+ <li>应使用 Android å¼€æºé¡¹ç›®ä¸­æ供的 Android Fingerprint 图标。
+ </li>
+ </ul>
+ <h5 id="7_3_10_2_other_biometric_sensors">
+7.3.10.2. 其他生物识别传感器</h5>
+ <p>
+如果设备实现包å«ä¸€ä¸ªæˆ–多个éžæŒ‡çº¹åž‹ç”Ÿç‰©è¯†åˆ«ä¼ æ„Ÿå™¨ï¼Œå¹¶ä½¿è¿™äº›ä¼ æ„Ÿå™¨å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 错误接å—率ä¸å¾—高于 0.002%。
+ </li>
+ <li>[C-SR] 强烈建议将欺骗和冒å攻击的接å—率设为ä¸é«˜äºŽ 7%。
+ </li>
+ <li>[C-1-2] 必须披露此模å¼çš„安全性å¯èƒ½ä¸åŠå®‰å…¨ç³»æ•°é«˜çš„ PIN ç ã€å›¾æ¡ˆæˆ–密ç ï¼Œå¹¶åœ¨æ¬ºéª—和冒å攻击的接å—率高于 7% 时明确列举å¯ç”¨æ­¤æ¨¡å¼çš„风险。
+ </li>
+ <li>[C-1-3] å°è¯•ç”Ÿç‰©è¯†åˆ«éªŒè¯çš„失败次数达到 5 次åŽï¼Œå¿…é¡»é™åˆ¶åœ¨è‡³å°‘ 30 秒内ä¸èƒ½å†æ¬¡è¿›è¡Œç”Ÿç‰©è¯†åˆ«éªŒè¯ï¼ŒéªŒè¯å¤±è´¥æ˜¯æŒ‡é‡‡é›†çš„è¶³å¤Ÿæœ‰æ•ˆä¿¡æ¯ (ACQUIRED_GOOD) 与已注册的生物识别信æ¯ä¸åŒ¹é…
+ </li>
+ <li>[C-1-4] 必须实现有硬件支æŒçš„密钥存储区,并在å¯ä¿¡æ‰§è¡ŒçŽ¯å¢ƒ (TEE) ä¸­æˆ–åœ¨å…·æœ‰é€šå‘ TEE 的安全通é“的芯片上执行生物识别匹é…。
+ </li>
+ <li>[C-1-5] 必须对所有å¯è¯†åˆ«çš„æ•°æ®è¿›è¡ŒåŠ å¯†ï¼Œå¹¶å¯¹å…¶é‡‡ç”¨å¯†ç å½¢å¼çš„身份验è¯æœºåˆ¶ï¼Œä»¥ç¡®ä¿åœ¨å¯ä¿¡æ‰§è¡ŒçŽ¯å¢ƒ (TEE) æˆ–å…·æœ‰é€šå‘ TEE 的安全通é“的芯片之外无法获å–ã€è¯»å–或更改这些数æ®ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上的<a href="https://source.android.com/devices/tech/security/authentication/fingerprint-hal.html">实现指å—</a>中所述)。
+ </li>
+ <li>[C-1-6] 必须通过以下方å¼é˜²æ­¢åœ¨æ²¡æœ‰å…ˆå»ºç«‹ä¿¡ä»»é“¾çš„情况下添加新的生物识别信æ¯ï¼šè®©ç”¨æˆ·ç¡®è®¤çŽ°æœ‰è®¾å¤‡å‡­æ®ï¼ˆPIN ç /图案/密ç ï¼Œå— TEE ä¿æŠ¤ï¼‰æˆ–添加新设备凭æ®ï¼›Android å¼€æºé¡¹ç›®å®žçŽ°åœ¨æ¡†æž¶ä¸­æ供了实现这一点的机制。
+ </li>
+ <li>[C-1-7] ä¸å¾—å…许第三方应用区分已注册的生物识别信æ¯ã€‚
+ </li>
+ <li>[C-1-8] å¿…é¡»éµä»Žç›¸åº”生物识别的å„ä¸ªæ ‡è®°ï¼ˆå³ <code>DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT</code>ã€<code>DevicePolicymanager.KEYGUARD_DISABLE_FACE</code> 或 <code>DevicePolicymanager.KEYGUARD_DISABLE_IRIS</code>)。
+ </li>
+ <li>[C-1-9] 必须在移除用户的å¸å·ï¼ˆåŒ…括æ¢å¤å‡ºåŽ‚设置)时完全删除所有å¯è¯†åˆ«çš„生物识别数æ®ã€‚
+ </li>
+ <li>[C-1-10] ä¸å¾—在 TEE 范围之外å…许应用处ç†å™¨å¯¹å¯è¯†åˆ«çš„生物识别数æ®åŠå…¶è¡ç”Ÿçš„任何数æ®ï¼ˆä¾‹å¦‚嵌入)进行未加密的访问。
+ </li>
+ <li>[C-SR] 强烈建议确ä¿åœ¨è®¾å¤‡ä¸Šæµ‹å¾—的错误拒ç»çŽ‡ä½ŽäºŽ 10%。
+ </li>
+ <li>[C-SR] 对于æ¯ä¸ªå·²æ³¨å†Œçš„生物识别信æ¯ï¼Œå¼ºçƒˆå»ºè®®ç¡®ä¿å»¶è¿Ÿæ—¶é—´ï¼ˆå³ä»Žæ£€æµ‹åˆ°ç”Ÿç‰©è¯†åˆ«ä¿¡æ¯åˆ°å±å¹•è§£é”的时间)低于 1 秒。
+ </li>
+ </ul>
+ <h4 id="7_3_11_android_automotive-only_sensors">
+7.3.11. Android Automotive 专用传感器
+ </h4>
+ <p>
+<code>android.car.CarSensorManager API</code> 中对 Automotive 专用传感器进行了定义。
+ </p>
+ <h5 id="7_3_11_1_current_gear">
+7.3.11.1. 用电装置
+ </h5>
+ <p>
+请å‚阅<a href="#2_5_1_hardware">第 2.5.1 节</a>,了解设备专属è¦æ±‚。
+ </p>
+ <h5 id="7_3_11_2_day_night_mode">
+7.3.11.2. 日间/夜间模å¼
+ </h5>
+ <p>
+请å‚阅<a href="#2_5_1_hardware">第 2.5.1 节</a>,了解设备专属è¦æ±‚。
+ </p>
+ <h5 id="7_3_11_3_driving_status">
+7.3.11.3. 驾驶状æ€
+ </h5>
+ <p>
+æ­¤è¦æ±‚已被弃用。
+ </p>
+ <h5 id="7_3_11_4_wheel_speed">
+7.3.11.4. 车轮转速
+ </h5>
+ <p>
+请å‚阅<a href="#2_5_1_hardware">第 2.5.1 节</a>,了解设备专属è¦æ±‚。
+ </p>
+ <h5 id="7_3_11_5_parking_brake">
+7.3.11.5. 驻车制动
+ </h5>
+ <p>
+请å‚阅<a href="#2_5_1_hardware">第 2.5.1 节</a>,了解设备专属è¦æ±‚。
+ </p>
+ <h3 id="7_3_12_pose_sensor">
+7.3.12. 姿势传感器
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>å¯ä»¥æ”¯æŒå…·æœ‰ 6 个自由度的姿势传感器。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå…·æœ‰ 6 个自由度的姿势传感器,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现并报告 <a href="https://developer.android.com/reference/android/hardware/Sensor.html#TYPE_POSE_6DOF"><code>TYPE_POSE_6DOF</code></a> 传感器。
+ </li>
+ <li>[C-1-2] 必须比åªä½¿ç”¨æ—‹è½¬çŸ¢é‡æ›´å‡†ç¡®ã€‚
+ </li>
+ </ul>
+ <h3 id="7_4_data_connectivity">
+7.4. æ•°æ®è¿žæŽ¥
+ </h3>
+ <h4 id="7_4_1_telephony">
+7.4.1. 电è¯
+ </h4>
+ <p>
+在 Android API 和本文档中,“电è¯â€ä¸“指与通过 GSM 或 CDMA 网络进行语音通è¯å’Œå‘é€çŸ­ä¿¡ç›¸å…³çš„硬件。虽然这些语音通è¯å¯èƒ½é‡‡ç”¨ä¹Ÿå¯èƒ½ä¸é‡‡ç”¨åˆ†å°äº¤æ¢æŠ€æœ¯ï¼Œä½†éƒ½æ˜¯ä¸ºäº†ä½¿ Android 被视为独立于å¯é€šè¿‡åŒä¸€ç½‘络实现的所有数æ®è¿žæŽ¥ã€‚也就是说,Android“电è¯â€åŠŸèƒ½å’Œ API 专指语音通è¯å’ŒçŸ­ä¿¡ã€‚例如,如果设备无法打电è¯æˆ–收å‘短信,则无论它们是å¦ä½¿ç”¨ç§»åŠ¨ç½‘络进行数æ®è¿žæŽ¥ï¼Œéƒ½ä¸ä¼šè¢«è§†ä¸ºç”µè¯è®¾å¤‡ã€‚
+ </p>
+ <ul>
+ <li>Android å¯ä»¥ç”¨åœ¨ä¸åŒ…å«ç”µè¯ç¡¬ä»¶çš„设备上。也就是说,Android å¯ä¸Žéžç”µè¯è®¾å¤‡å…¼å®¹ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« GSM 或 CDMA 电è¯ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须根æ®è¯¥æŠ€æœ¯å£°æ˜Ž <code>android.hardware.telephony</code> 功能标记和其他å­åŠŸèƒ½æ ‡è®°ã€‚
+ </li>
+ <li>[C-1-2] 必须完全支æŒé’ˆå¯¹è¯¥æŠ€æœ¯çš„ API。
+ </li>
+ </ul>
+ <p>
+如果设备实现ä¸åŒ…å«ç”µè¯ç¡¬ä»¶ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须将所有相关 API 实现为空æ“作。
+ </li>
+ </ul>
+ <h5 id="7_4_1_1_number_blocking_compatibility">
+7.4.1.1. å·ç å±è”½å…¼å®¹æ€§
+ </h5>
+ <p>
+如果设备实现报告 <code>android.hardware.telephony feature</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒå·ç å±è”½ã€‚
+ </li>
+ <li>[C-1-2] 必须完整实现 <a href="http://developer.android.com/reference/android/provider/BlockedNumberContract.html"><code>BlockedNumberContract</code></a> 和对应的 API(如 SDK 文档中所述)。
+ </li>
+ <li>[C-1-3] å¿…é¡»å±è”½ä»Žåˆ—入“BlockedNumberProviderâ€çš„电è¯å·ç æ‰“æ¥çš„所有电è¯å’Œå‘æ¥çš„所有短信,而ä¸ä¸Žåº”用进行任何交互。唯一例外是当å·ç å±è”½è¢«ä¸´æ—¶è§£é™¤æ—¶ï¼ˆå¦‚ SDK 文档中所述)。
+ </li>
+ <li>[C-1-4] ä¸å¾—将被å±è”½çš„呼å«å†™å…¥<a href="http://developer.android.com/reference/android/provider/CallLog.html">å¹³å°é€šè¯è®°å½•æ供程åº</a>。
+ </li>
+ <li>[C-1-5] ä¸å¾—将被å±è”½çš„短信写入<a href="http://developer.android.com/reference/android/provider/Telephony.html">电è¯æ供程åº</a>。
+ </li>
+ <li>[C-1-6] 必须实现被å±è”½å·ç ç®¡ç†ç•Œé¢ï¼Œç³»ç»Ÿå¯å› åº” <code>TelecomManager.createManageBlockedNumbersIntent()</code> 方法返回的 Intent 打开该界é¢ã€‚
+ </li>
+ <li>[C-1-7] ä¸å¾—å…许次è¦ç”¨æˆ·æŸ¥çœ‹æˆ–修改设备上被å±è”½çš„å·ç ï¼Œå› ä¸º Android å¹³å°ä¼šå‡è®¾ä¸»ç”¨æˆ·å¯¹è®¾å¤‡ä¸Šçš„电è¯æœåŠ¡ï¼ˆå•ä¸ªå®žä¾‹ï¼‰æ‹¥æœ‰å®Œå…¨æŽ§åˆ¶æƒã€‚对于次è¦ç”¨æˆ·ï¼Œå¿…é¡»éšè—所有与å±è”½ç›¸å…³çš„ç•Œé¢ï¼Œå¹¶ä¸”ä»å¿…é¡»éµä»Žå±è”½åˆ—表。
+ </li>
+ <li>当设备更新到 Android 7.0 时,应将被å±è”½çš„å·ç è¿ç§»åˆ°æ供程åºã€‚
+ </li>
+ </ul>
+ <h5 id="7_4_1_2_telecom_api">
+7.4.1.2. Telecom API
+ </h5>
+ <p>
+如果设备实现报告 <code>android.hardware.telephony</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ <code>ConnectionService</code> API(如 <a href="https://developer.android.com/guide/topics/connectivity/telecom/selfManaged.html">SDK</a> 中所述)。
+ </li>
+ <li>[C-1-2] 必须显示新的æ¥ç”µï¼Œå¹¶ä¸”当用户在进行æ¥è‡ªä¸æ”¯æŒå‘¼å«ä¿æŒåŠŸèƒ½ï¼ˆé€šè¿‡ <a href="https://developer.android.com/reference/android/telecom/Connection.html#CAPABILITY_SUPPORT_HOLD"><code>CAPABILITY_SUPPORT_HOLD</code></a> 指定)的第三方应用的通è¯æ—¶ï¼Œèƒ½å¤ŸæŽ¥å¬æˆ–æ‹’ç»æ¥ç”µã€‚
+ </li>
+ <li>
+ <p>
+[C-SR] 强烈建议告知用户接å¬æ¥ç”µä¼šå¯¼è‡´æ­£åœ¨è¿›è¡Œçš„通è¯ä¸­æ–­ã€‚
+ </p>
+ <p>
+AOSP 实现通过æ醒å¼é€šçŸ¥æ»¡è¶³ä¸Šè¿°è¦æ±‚,此类通知å¯æ示用户接å¬æ¥ç”µä¼šå¯¼è‡´å…¶ä»–通è¯ä¸­æ–­ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-SR] 强烈建议预装默认的拨å·å™¨åº”用,当第三方应用将其 <code>PhoneAccount</code> 上的 <a href="https://developer.android.com/reference/android/telecom/PhoneAccount.html#EXTRA_LOG_SELF_MANAGED_CALLS"><code>EXTRA_LOG_SELF_MANAGED_CALLS</code></a> extra 键设为 <code>true</code> 时,该拨å·å™¨åº”用会显示通è¯è®°å½•æ¡ç›®ï¼Œå¹¶åœ¨é€šè¯è®°å½•ä¸­æ˜¾ç¤ºç¬¬ä¸‰æ–¹åº”用的å称。
+ </p>
+ </li>
+ <li>[C-SR] 强烈建议按如下所述为 <a href="https://developer.android.com/reference/android/telecom/package-summary.html"><code>android.telecom</code></a> API 处ç†éŸ³é¢‘耳机的 <code>KEYCODE_MEDIA_PLAY_PAUSE</code> å’Œ <code>KEYCODE_HEADSETHOOK</code> 事件:
+ <ul>
+ <li>在通è¯æœŸé—´æ£€æµ‹åˆ°çŸ­æŒ‰æŒ‰é”®äº‹ä»¶æ—¶è°ƒç”¨ <a href="https://developer.android.com/reference/android/telecom/Connection.html#onDisconnect%28%29"><code>Connection.onDisconnect()</code></a>。
+ </li>
+ <li>在æ¥ç”µæœŸé—´æ£€æµ‹åˆ°çŸ­æŒ‰æŒ‰é”®äº‹ä»¶æ—¶è°ƒç”¨ <a href="https://developer.android.com/reference/android/telecom/Connection.html#onAnswer%28%29"><code>Connection.onAnswer()</code></a>。
+ </li>
+ <li>在æ¥ç”µæœŸé—´æ£€æµ‹åˆ°é•¿æŒ‰æŒ‰é”®äº‹ä»¶æ—¶è°ƒç”¨ <a href="https://developer.android.com/reference/android/telecom/Connection.html#onReject%28%29"><code>Connection.onReject()</code></a>。
+ </li>
+ <li>åˆ‡æ¢ <a href="https://developer.android.com/reference/android/telecom/CallAudioState.html"><code>CallAudioState</code></a> çš„é™éŸ³çŠ¶æ€ã€‚
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h4 id="7_4_2_ieee_802_11_(wi-fi)">
+7.4.2. IEEE 802.11 (WLAN)
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应支æŒä¸€ç§æˆ–多ç§å½¢å¼çš„ 802.11。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ 802.11,并将该功能æ供给第三方应用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现对应的 Android API。
+ </li>
+ <li>[C-1-2] 必须报告硬件功能标记 <code>android.hardware.wifi</code>。
+ </li>
+ <li>[C-1-3] 必须实现<a href="http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html">多播 API</a>(如 SDK 文档中所述)。
+ </li>
+ <li>[C-1-4] 必须支æŒå¤šæ’­ DNS (mDNS),并且ä¸å¾—在æ“作过程中的任何时间过滤 mDNS æ•°æ®åŒ… (224.0.0.251),其中包括:
+ <ul>
+ <li>å³ä½¿å±å¹•æœªå¤„于活动状æ€æ—¶ã€‚
+ </li>
+ <li>å³ä½¿å¤„于待机状æ€æ—¶ï¼ˆé€‚用于 Android TV 设备实现)。
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-5] ä¸å¾—å°† <a href="https://developer.android.com/reference/android/net/wifi/WifiManager.html#enableNetwork%28int%2C%20boolean%29"><code>WifiManager.enableNetwork()</code></a> API 方法调用视为充分的è¯æ®æ¥åˆ‡æ¢å½“å‰å¤„于活动状æ€çš„ <code>Network</code>(默认用于æ供应用æµé‡ï¼Œç”± <a href="https://developer.android.com/reference/android/net/ConnectivityManager#getActiveNetwork%28%29"><code>getActiveNetwork</code></a> å’Œ <a href="https://developer.android.com/reference/android/net/ConnectivityManager#registerDefaultNetworkCallback%28android.net.ConnectivityManager.NetworkCallback,%20android.os.Handler%29"><code>registerDefaultNetworkCallback</code></a> ç­‰ <a href="https://developer.android.com/reference/android/net/ConnectivityManager"><code>ConnectivityManager</code></a> API 方法返回)。也就是说,åªæœ‰æˆåŠŸç¡®è®¤ WLAN 网络在æ供互è”网连接åŽï¼Œè®¾å¤‡å®žçŽ°æ‰èƒ½åœç”¨ä»»ä½•å…¶ä»–网络æœåŠ¡æ供商(例如移动数æ®ç½‘络)æ供的互è”网连接。
+ </li>
+ <li>[C-1-6] 调用 <a href="https://developer.android.com/reference/android/net/ConnectivityManager.html#reportNetworkConnectivity%28android.net.Network%2C%20boolean%29"><code>ConnectivityManager.reportNetworkConnectivity()</code></a> API 方法åŽï¼Œå¿…é¡»é‡æ–°è¯„ä¼° <code>Network</code> 的互è”网连接,一旦评估åŽç¡®å®šå½“å‰ <code>Network</code> ä¸å†æ供互è”网连接,则切æ¢è‡³æ供互è”网连接的任何其他å¯ç”¨ç½‘络(例如移动数æ®ç½‘络)。
+ </li>
+ <li>[C-SR] 强烈建议在 STA 断开连接时,在æ¯æ¬¡æ‰«æ开始时对探测请求帧的æ¥æº MAC 地å€å’Œåºåˆ—å·è¿›è¡Œä¸€æ¬¡éšæœºåŒ–处ç†ã€‚
+ <ul>
+ <li>一次扫æ中包å«çš„æ¯ç»„探测请求帧都应使用一个一致的 MAC 地å€ï¼ˆä¸åº”在扫æ期间对 MAC 地å€è¿›è¡ŒéšæœºåŒ–处ç†ï¼‰ã€‚
+ </li>
+ <li>探测请求åºåˆ—å·åº”在扫æ中包å«çš„探测请求之间按正常方å¼ï¼ˆä¾åºï¼‰è¿­ä»£ã€‚
+ </li>
+ <li>应在以下时间对探测请求åºåˆ—å·è¿›è¡ŒéšæœºåŒ–处ç†ï¼šä¸€æ¬¡æ‰«æ包å«çš„最åŽä¸€ä¸ªæŽ¢æµ‹è¯·æ±‚和下次扫æ包å«çš„第一个探测请求之间。
+ </li>
+ </ul>
+ </li>
+ <li>[C-SR] 强烈建议在 STA 断开连接时,仅å…许在探测请求帧中使用以下元素:
+ <ul>
+ <li>SSID Parameter Set (0)
+ </li>
+ <li>DS Parameter Set (3)
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN 并将 WLAN 用于ä½ç½®ä¿¡æ¯æ‰«æ,则:
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨/åœç”¨é€šè¿‡ <a href="https://developer.android.com/reference/android/net/wifi/WifiManager.html#isScanAlwaysAvailable%28%29"><code>WifiManager.isScanAlwaysAvailable</code></a> API 方法读å–的值。
+ </li>
+ </ul>
+ <h5 id="7_4_2_1_wi-fi_direct">
+7.4.2.1. WLAN ç›´è¿ž
+ </h5>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ WLAN 直连(WLAN 对等连接)。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN 直连,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现<a href="http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html">对应的 Android API</a>(如 SDK 文档中所述)。
+ </li>
+ <li>[C-1-2] 必须报告硬件功能 <code>android.hardware.wifi.direct</code>。
+ </li>
+ <li>[C-1-3] 必须支æŒå¸¸è§„çš„ WLAN æ“作。
+ </li>
+ <li>[C-1-4] 必须支æŒå¹¶å‘执行 WLAN å’Œ WLAN ç›´è¿žæ“作。
+ </li>
+ </ul>
+ <h5 id="7_4_2_2_wi-fi_tunneled_direct_link_setup">
+7.4.2.2. WLAN 通é“直接链路设置
+ </h5>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ <a href="http://developer.android.com/reference/android/net/wifi/WifiManager.html">WLAN 通é“直接链路设置 (TDLS)</a>(如 Android SDK 文档中所述)。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ TDLS,并且 TDLS 已由 WiFiManager API å¯ç”¨ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须通过 [<code>WifiManager.isTdlsSupported</code>] (https://developer.android.com/reference/android/net/wifi/WifiManager.html#isTdlsSupported%28%29) å£°æ˜Žæ”¯æŒ TDLS。
+ </li>
+ <li>åªåœ¨èƒ½å¤Ÿä½¿ç”¨ä¸”有好处时æ‰åº”使用 TDLS。
+ </li>
+ <li>应进行一些试探,如果使用 TDLS 时的性能å¯èƒ½ä½ŽäºŽé€šè¿‡ WLAN 接入点连接时的性能,则ä¸åº”使用 TDLS。
+ </li>
+ </ul>
+ <h5 id="7_4_2_3_wi-fi_aware">
+7.4.2.3. WLAN Aware
+ </h5>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ <a href="http://www.wi-fi.org/discover-wi-fi/wi-fi-aware">WLAN Aware</a>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN Aware,并使该功能å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现 <code>WifiAwareManager</code> API(如 <a href="http://developer.android.com/reference/android/net/wifi/aware/WifiAwareManager.html">SDK 文档</a>中所述)。
+ </li>
+ <li>[C-1-2] 必须声明 <code>android.hardware.wifi.aware</code> 功能标记。
+ </li>
+ <li>[C-1-3] 必须支æŒå¹¶å‘执行 WLAN å’Œ WLAN Aware æ“作。
+ </li>
+ <li>[C-1-4] æ¯å½“ WLAN Aware 处于å¯ç”¨çŠ¶æ€æ—¶ï¼Œéƒ½å¿…须以ä¸è¶…过 30 分钟的间隔对 WLAN Aware 管ç†æŽ¥å£åœ°å€è¿›è¡ŒéšæœºåŒ–处ç†ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN Aware å’Œ WLAN ä½ç½®ä¿¡æ¯æœåŠ¡ï¼ˆå¦‚<a href="#7_4_2_5_Wi-Fi_Location">第 7.4.2.5 节</a>中所述),并使这些功能å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须实现ä½ç½®æ„ŸçŸ¥å‘现 API:<a href="https://developer.android.com/reference/android/net/wifi/aware/PublishConfig.Builder.html#setRangingEnabled%28boolean%29">setRangingEnabled</a>ã€<a href="https://developer.android.com/reference/android/net/wifi/aware/SubscribeConfig.Builder#setMinDistanceMm%28int%29">setMinDistanceMm</a>ã€<a href="https://developer.android.com/reference/android/net/wifi/aware/SubscribeConfig.Builder#setMaxDistanceMm%28int%29">setMaxDistanceMm</a> å’Œ <a href="https://developer.android.com/reference/android/net/wifi/aware/DiscoverySessionCallback#onServiceDiscoveredWithinRange%28android.net.wifi.aware.PeerHandle,%20byte[],%20java.util.List%3Cbyte[]%3E,%20int%29">onServiceDiscoveredWithinRange</a>。
+ </li>
+ </ul>
+ <h5 id="7_4_2_4_wi-fi_passpoint">
+7.4.2.4. WLAN Passpoint
+ </h5>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ <a href="http://www.wi-fi.org/discover-wi-fi/wi-fi-certified-passpoint">WLAN Passpoint</a>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN Passpoint,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现与 Passpoint 相关的 <code>WifiManager</code> API(如 <a href="http://developer.android.com/reference/android/net/wifi/WifiManager.html">SDK 文档</a>中所述)。
+ </li>
+ <li>[C-1-2] å¿…é¡»æ”¯æŒ IEEE 802.11u 标准,特别是与网络å‘现和选择相关的标准,例如通用通告æœåŠ¡åè®® (GAS) 和接入网络查询åè®® (ANQP)。
+ </li>
+ </ul>
+ <p>
+å之,如果设备实现ä¸æ”¯æŒ WLAN Passpoint,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 与 Passpoint 相关的 <code>WifiManager</code> API 的实现必须抛出 <code>UnsupportedOperationException</code>。
+ </li>
+ </ul>
+ <h5 id="7_4_2_5_wi-fi_location_(wi-fi_round_trip_time_-_rtt)">
+7.4.2.5. WLAN ä½ç½®ä¿¡æ¯ï¼ˆWLAN 往返时间 - RTT)
+ </h5>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ <a href="https://www.wi-fi.org/discover-wi-fi/wi-fi-location">WLAN ä½ç½®ä¿¡æ¯</a>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN ä½ç½®ä¿¡æ¯ï¼Œå¹¶ä½¿è¯¥åŠŸèƒ½å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现 <code>WifiRttManager</code> API(如 <a href="http://developer.android.com/reference/android/net/wifi/rtt/WifiRttManager.html">SDK 文档</a>中所述)。
+ </li>
+ <li>[C-1-2] 必须声明 <code>android.hardware.wifi.rtt</code> 功能标记。
+ </li>
+ <li>[C-1-3] 当执行 RTT 所在的 WLAN 接å£ä¸ŽæŽ¥å…¥ç‚¹ä¸ç›¸å…³æ—¶ï¼Œå¿…须为所执行的æ¯ä¸ª RTT é«˜å³°å¯¹æº MAC 地å€è¿›è¡ŒéšæœºåŒ–处ç†ã€‚
+ </li>
+ </ul>
+ <h4 id="7_4_3_bluetooth">
+7.4.3. è“牙
+ </h4>
+ <p>
+如果设备实现支æŒè“牙音频é…置,则:
+ </p>
+ <ul>
+ <li>应支æŒé«˜çº§éŸ³é¢‘编解ç å™¨å’Œè“牙音频编解ç å™¨ï¼ˆä¾‹å¦‚ LDAC)。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ HFPã€A2DP å’Œ AVRCP,则:
+ </p>
+ <ul>
+ <li>åº”è‡³å°‘å…±æ”¯æŒ 5 个连接设备。
+ </li>
+ </ul>
+ <p>
+如果设备实现声明了 <code>android.hardware.vr.high_performance</code> 功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒè“牙 4.2 å’Œè“牙 LE æ•°æ®é•¿åº¦æ‰©å±•ã€‚
+ </li>
+ </ul>
+ <p>
+Android 支æŒ<a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">è“牙和è“牙低功耗</a>。
+ </p>
+ <p>
+如果设备实现支æŒè“牙和è“牙低功耗,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须声明相关平å°åŠŸèƒ½ï¼ˆåˆ†åˆ«ä¸º <code>android.hardware.bluetooth</code> å’Œ <code>android.hardware.bluetooth_le</code>ï¼‰ï¼Œå¹¶å®žçŽ°å¹³å° API。
+ </li>
+ <li>应实现适åˆè®¾å¤‡çš„相关è“牙é…置,例如 A2DPã€AVRCPã€OBEXã€HFP 等。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒè“牙低功耗,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须声明硬件功能 <code>android.hardware.bluetooth_le</code>。
+ </li>
+ <li>[C-3-2] å¿…é¡»å¯ç”¨åŸºäºŽ GATT(通用属性é…置)的è“牙 API(如 SDK æ–‡æ¡£ä¸­æ‰€è¿°ï¼‰ä»¥åŠ <a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">android.bluetooth</a>。
+ </li>
+ <li>[C-3-3] 必须针对 <code>BluetoothAdapter.isOffloadedFilteringSupported()</code> 报告正确的值,以指明是å¦å®žçŽ°äº†é’ˆå¯¹ <a href="https://developer.android.com/reference/android/bluetooth/le/ScanFilter.html">ScanFilter</a> API 类的过滤逻辑。
+ </li>
+ <li>[C-3-4] 必须针对 <code>BluetoothAdapter.isMultipleAdvertisementSupported()</code> 报告正确的值,以指明是å¦æ”¯æŒä½ŽåŠŸè€—通告。
+ </li>
+ <li>应支æŒåœ¨å®žçŽ° <a href="https://developer.android.com/reference/android/bluetooth/le/ScanFilter.html">ScanFilter API</a> 时将过滤逻辑分载到è“牙芯片组。
+ </li>
+ <li>应支æŒå°†æ‰¹é‡æ‰«æ分载到è“牙芯片组。
+ </li>
+ <li>
+ <p>
+应支æŒè‡³å°‘为 4 个槽ä½çš„多通告。
+ </p>
+ </li>
+ <li>
+ <p>
+[SR] 强烈建议实现ä¸è¶…过 15 分钟的å¯è§£æžç§æœ‰åœ°å€ (RPA) 超时,并在超时åŽè½®è½¬åœ°å€ä»¥ä¿æŠ¤ç”¨æˆ·éšç§ã€‚
+ </p>
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒè“牙 LE 并将è“牙 LE 用于ä½ç½®ä¿¡æ¯æ‰«æ,则:
+ </p>
+ <ul>
+ <li>[C-4-1] å¿…é¡»æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨/åœç”¨é€šè¿‡ç³»ç»Ÿ API <code>BluetoothAdapter.isBleScanAlwaysAvailable()</code> 读å–的值。
+ </li>
+ </ul>
+ <h4 id="7_4_4_near-field_communications">
+7.4.4. è¿‘è·ç¦»æ— çº¿é€šä¿¡
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应包å«è¿‘è·ç¦»æ— çº¿é€šä¿¡ (NFC) 所需的收å‘器和相关硬件。
+ </li>
+ <li>[C-0-1] 必须实现 <code>android.nfc.NdefMessage</code> å’Œ <code>android.nfc.NdefRecord</code> API,å³ä½¿å®ƒä»¬ä¸æ”¯æŒ NFC 或未声明 <code>android.hardware.nfc</code> 功能也是如此,因为这些类表示独立于å议的数æ®è¡¨ç¤ºæ ¼å¼ã€‚
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« NFC 硬件,并计划使其å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告 <code>android.hardware.nfc</code> 功能(通过 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html"><code>android.content.pm.PackageManager.hasSystemFeature()</code> 方法</a>)。
+ </li>
+ <li>必须能够通过以下 NFC 标准读å–和写入 NDEF 消æ¯ï¼š
+ </li>
+ <li>[C-1-2] 必须能够通过以下 NFC 标准充当 NFC Forum 读å–器/写入器(如 NFC Forum 技术规范 NFCForum-TS-DigitalProtocol-1.0 中所定义):
+ <ul>
+ <li>NfcA (ISO14443-3A)
+ </li>
+ <li>NfcB (ISO14443-3B)
+ </li>
+ <li>NfcF (JIS X 6319-4)
+ </li>
+ <li>IsoDep (ISO 14443-4)
+ </li>
+ <li>NFC Forum 标签类型 1ã€2ã€3ã€4ã€5(由 NFC Forum 定义)
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[SR] 强烈建议能够通过以下 NFC 标准读å–和写入 NDEF 消æ¯ä»¥åŠåŽŸå§‹æ•°æ®ã€‚请注æ„,虽然此处说这些 NFC 标准是“强烈建议â€éµå¾ªçš„标准,但我们计划在未æ¥ç‰ˆæœ¬çš„兼容性定义中将其更改为“必须â€éµå¾ªçš„标准。这些标准在此版本中是å¯é€‰çš„,但在未æ¥çš„版本中将是必须è¦éµå¾ªçš„。强烈建议è¿è¡Œæ­¤ç‰ˆ Android 的现有设备åŠæ–°è®¾å¤‡çŽ°åœ¨å°±æ»¡è¶³è¿™äº›è¦æ±‚,以便能够å‡çº§åˆ°æœªæ¥çš„å¹³å°ç‰ˆæœ¬ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-3] 必须能够通过以下对等连接标准和å议传é€å’ŒæŽ¥æ”¶æ•°æ®ï¼š
+ </p>
+ <ul>
+ <li>ISO 18092
+ </li>
+ <li>LLCP 1.2(由 NFC Forum 定义)
+ </li>
+ <li>SDP 1.0(由 NFC Forum 定义)
+ </li>
+ <li>
+ <a href="http://static.googleusercontent.com/media/source.android.com/en/us/compatibility/ndef-push-protocol.pdf">NDEF 推é€åè®®</a>
+ </li>
+ <li>SNEP 1.0(由 NFC Forum 定义)
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-4] å¿…é¡»æ”¯æŒ <a href="http://developer.android.com/guide/topics/connectivity/nfc/nfc.html">Android Beam</a>,并且应默认å¯ç”¨ Android Beam。
+ </li>
+ <li>[C-1-5] 当 Android Beam 处于å¯ç”¨çŠ¶æ€æˆ–有其他专有 NFC 点对点模å¼å¤„于开å¯çŠ¶æ€æ—¶ï¼Œå¿…须能够使用 Android Beam 收å‘消æ¯ã€‚
+ </li>
+ <li>[C-1-6] 必须实现默认 SNEP æœåŠ¡å™¨ã€‚必须使用 <code>android.nfc.ACTION_NDEF_DISCOVERED</code> Intent 将默认 SNEP æœåŠ¡å™¨æ”¶åˆ°çš„有效 NDEF 消æ¯å‘é€ç»™åº”用。在设置中åœç”¨ Android Beam ä¸å¾—导致åœç”¨ä¼ å…¥çš„ NDEF 消æ¯çš„å‘é€ã€‚
+ </li>
+ <li>[C-1-7] 必须能够éµä»Ž <code>android.settings.NFCSHARING_SETTINGS</code> Intent 显示 <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS">NFC 共享设置</a>。
+ </li>
+ <li>[C-1-8] 必须实现 NPP æœåŠ¡å™¨ã€‚必须按照处ç†é»˜è®¤ SNEP æœåŠ¡å™¨æ”¶åˆ°çš„消æ¯æ—¶é‡‡ç”¨çš„åŒä¸€ç§æ–¹å¼å¤„ç† NPP æœåŠ¡å™¨æ”¶åˆ°çš„消æ¯ã€‚
+ </li>
+ <li>[C-1-9] 必须实现 SNEP 客户端,并且在 Android Beam 处于å¯ç”¨çŠ¶æ€æ—¶ï¼Œå¿…é¡»å°è¯•å°†å‡ºç«™ç‚¹å¯¹ç‚¹ NDEF 消æ¯å‘é€åˆ°é»˜è®¤ SNEP æœåŠ¡å™¨ã€‚如果未找到默认 SNEP æœåŠ¡å™¨ï¼Œåˆ™è¯¥å®¢æˆ·ç«¯å¿…é¡»å°è¯•å°†æ¶ˆæ¯å‘é€åˆ° NPP æœåŠ¡å™¨ã€‚
+ </li>
+ <li>[C-1-10] å¿…é¡»å…许å‰å° Activity 通过 <code>android.nfc.NfcAdapter.setNdefPushMessage</code>ã€<code>android.nfc.NfcAdapter.setNdefPushMessageCallback</code> å’Œ <code>android.nfc.NfcAdapter.enableForegroundNdefPush</code> 设置出站点对点 NDEF 消æ¯ã€‚
+ </li>
+ <li>在å‘é€å‡ºç«™ç‚¹å¯¹ç‚¹ NDEF 消æ¯ä¹‹å‰ï¼Œåº”使用手势或å±å¹•ç¡®è®¤ï¼ˆä¾‹å¦‚“触摸å³å¯å‘é€â€ï¼‰ã€‚
+ </li>
+ <li>[C-1-11] 如果设备支æŒè“牙对象推é€é…置,则必须支æŒä»Ž NFC 连接切æ¢åˆ°è“牙。
+ </li>
+ <li>[C-1-12] 使用 <code>android.nfc.NfcAdapter.setBeamPushUris</code> 时,必须支æŒå°†è¿žæŽ¥åˆ‡æ¢åˆ°è“牙,方法是实现 NFC Forum æ供的“<a href="http://members.nfc-forum.org/specs/spec_list/#conn_handover">Connection Handover version 1.2</a>â€å’Œâ€œ<a href="http://members.nfc-forum.org/apps/group_public/download.php/18688/NFCForum-AD-BTSSP_1_1.pdf">Bluetooth Secure Simple Pairing Using NFC version 1.0</a>â€è§„范。此类实现必须实现æœåŠ¡å为“urn:nfc:sn:handoverâ€çš„åˆ‡æ¢ LLCP æœåŠ¡ï¼Œä»¥é€šè¿‡ NFC 交æ¢åˆ‡æ¢è¯·æ±‚/部分记录,并且必须使用è“牙对象推é€é…置进行实际的è“牙数æ®ä¼ è¾“。为了与旧版兼容(与 Android 4.1 设备ä¿æŒå…¼å®¹ï¼‰ï¼Œæ­¤ç±»å®žçŽ°åº”ä»æŽ¥å— SNEP GET 请求,以便通过 NFC 交æ¢åˆ‡æ¢è¯·æ±‚/部分记录。ä¸è¿‡ï¼Œå®žçŽ°æœ¬èº«ä¸åº”å‘é€å…³äºŽæ‰§è¡Œè¿žæŽ¥åˆ‡æ¢çš„ SNEP GET 请求。
+ </li>
+ <li>[C-1-13] 在 NFC å‘现模å¼ä¸‹ï¼Œå¿…须轮询所有支æŒçš„技术。
+ </li>
+ <li>当设备处于唤醒状æ€ã€å±å¹•å¤„于活动状æ€ï¼Œå¹¶ä¸”é”定å±å¹•å·²è§£é”时,应采用 NFC å‘现模å¼ã€‚
+ </li>
+ <li>åº”èƒ½å¤Ÿè¯»å– <a href="http://developer.android.com/reference/android/nfc/tech/NfcBarcode.html">Thinfilm NFC Barcode</a> 产å“çš„æ¡å½¢ç å’Œç½‘å€ï¼ˆå¦‚果已编ç ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+请注æ„,上é¢æ到的 JISã€ISO å’Œ NFC Forum 规范没有公开æ供的链接。
+ </p>
+ <p>
+Android æ”¯æŒ NFC 主机å¡æ¨¡æ‹Ÿ (HCE) 模å¼ã€‚
+ </p>
+ <p>
+如果设备实现包å«æ”¯æŒ HCE(适用于 NfcA å’Œ/或 NfcB)的 NFC 控制器芯片组,并且支æŒåº”用 ID (AID) 路由,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须报告 <code>android.hardware.nfc.hce</code> 功能常é‡ã€‚
+ </li>
+ <li>[C-2-2] å¿…é¡»æ”¯æŒ <a href="http://developer.android.com/guide/topics/connectivity/nfc/hce.html">NFC HCE API</a>(如 Android SDK 中定义)。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æ”¯æŒ HCE(适用于 NfcF)的 NFC 控制器芯片组,并且针对第三方应用实现了该功能,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须报告 <code>android.hardware.nfc.hcef</code> 功能常é‡ã€‚
+ </li>
+ <li>[C-3-2] 必须实现 <a href="https://developer.android.com/reference/android/nfc/cardemulation/NfcFCardEmulation.html">NfcF å¡æ¨¡æ‹Ÿ API</a>(如 Android SDK 中所定义)。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå¸¸è§„ NFC(如本节中所述),并且支æŒè¯»å–器/写入器角色中的 MIFARE 技术(MIFARE Classicã€MIFARE Ultralightã€NDEF on MIFARE Classic),则:
+ </p>
+ <ul>
+ <li>[C-4-1] 必须实现对应的 Android API(如 Android SDK 中所述)。
+ </li>
+ <li>[C-4-2] 必须报告 <code>com.nxp.mifare</code> 功能(通过 <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html"><code>android.content.pm.PackageManager.hasSystemFeature</code>()</a> 方法)。请注æ„,这ä¸æ˜¯æ ‡å‡†çš„ Android 功能,因此ä¸ä¼šåœ¨ <code>android.content.pm.PackageManager</code> 类中显示为常é‡ã€‚
+ </li>
+ </ul>
+ <h4 id="7_4_5_minimum_network_capability">
+7.4.5. 最低网络功能
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须支æŒä¸€ç§æˆ–多ç§å½¢å¼çš„æ•°æ®ç½‘络。具体而言,设备实现必须支æŒè‡³å°‘一ç§èƒ½å¤Ÿè¾¾åˆ° 200 Kbit/sec 或更高的数æ®æ ‡å‡†ã€‚满足该è¦æ±‚的技术包括 EDGEã€HSPAã€EV-DOã€802.11gã€ä»¥å¤ªç½‘å’Œè“牙 PAN。
+ </li>
+ <li>当物ç†ç½‘络标准(例如以太网)是主è¦æ•°æ®è¿žæŽ¥æ ‡å‡†æ—¶ï¼Œè¿˜åº”支æŒè‡³å°‘一ç§å¸¸ç”¨çš„无线数æ®è¿žæŽ¥æ ‡å‡†ï¼Œä¾‹å¦‚ 802.11 (WLAN)。
+ </li>
+ <li>å¯ä»¥å®žçŽ°å¤šç§å½¢å¼çš„æ•°æ®è¿žæŽ¥ã€‚
+ </li>
+ <li>[C-0-2] å¿…é¡»åŒ…å« IPv6 网络堆栈,并支æŒä½¿ç”¨å—ç®¡ç† API(例如 <code>java.net.Socket</code> å’Œ <code>java.net.URLConnection</code>)以åŠæœ¬æœº API(例如 <code>AF_INET6</code> 套接字)进行 IPv6 通信。
+ </li>
+ <li>[C-0-3] 必须默认å¯ç”¨ IPv6。
+ </li>
+ <li>å¿…é¡»ç¡®ä¿ IPv6 通信和其他通信(例如 IPv4)一样å¯é ï¼š
+ <ul>
+ <li>[C-0-4] 在低电耗模å¼ä¸‹å¿…é¡»ä¿æŒ IPv6 连接。
+ </li>
+ <li>[C-0-5] é™åˆ¶å‘é€æ¬¡æ•°ä¸å¾—å¯¼è‡´è®¾å¤‡æ–­å¼€ä¸Žä»»ä½•ç¬¦åˆ IPv6 标准的网络(使用的 RA 生命周期至少为 180 秒)的 IPv6 连接。
+ </li>
+ </ul>
+ </li>
+ <li>[C-0-6] 连接到 IPv6 网络时,必须为第三方应用æ供与网络的直接 IPv6 连接,无需设备在本地进行任何形å¼çš„地å€æˆ–端å£è½¬æ¢ã€‚å—ç®¡ç† API(例如 <a href="https://developer.android.com/reference/java/net/Socket.html#getLocalAddress%28%29"><code>Socket#getLocalAddress</code></a> 或 <a href="https://developer.android.com/reference/java/net/Socket.html#getLocalPort%28%29"><code>Socket#getLocalPort</code></a>)和 NDK API(例如 <code>getsockname()</code> 或 <code>IPV6_PKTINFO</code>)都必须返回实际上用于å‘é€å’ŒæŽ¥æ”¶ç½‘络上的数æ®åŒ…çš„ IP 地å€å’Œç«¯å£ã€‚
+ </li>
+ </ul>
+ <p>
+所需的 IPv6 支æŒçº§åˆ«å–决于网络类型,如以下è¦æ±‚中所示。
+ </p>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ WLAN,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒé€šè¿‡ WLAN 执行åŒæ ˆå’Œ IPv6-only æ“作。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒä»¥å¤ªç½‘,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒé€šè¿‡ä»¥å¤ªç½‘执行åŒæ ˆæ“作。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒç§»åŠ¨æ•°æ®ç½‘络,则:
+ </p>
+ <ul>
+ <li>应支æŒé€šè¿‡ç§»åŠ¨æ•°æ®ç½‘络执行 IPv6 æ“作(IPv6-only æ“作,也å¯èƒ½æ˜¯åŒæ ˆæ“作)。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå¤šç§ç±»åž‹çš„网络(例如 WLAN 和移动数æ®ç½‘络),则:
+ </p>
+ <ul>
+ <li>[C-3-1] 当设备åŒæ—¶è¿žæŽ¥åˆ°å¤šç§ç±»åž‹çš„网络时,必须åŒæ—¶æ»¡è¶³ä¸Šè¿°é’ˆå¯¹è¿žæŽ¥åˆ°æ¯ç§ç½‘络的è¦æ±‚。
+ </li>
+ </ul>
+ <h4 id="7_4_6_sync_settings">
+7.4.6. åŒæ­¥è®¾ç½®
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须默认å¯ç”¨ä¸»è‡ªåŠ¨åŒæ­¥è®¾ç½®ï¼Œä»¥ä¾¿æ–¹æ³• <a href="http://developer.android.com/reference/android/content/ContentResolver.html"><code>getMasterSyncAutomatically()</code></a> 返回“trueâ€ã€‚
+ </li>
+ </ul>
+ <h4 id="7_4_7_data_saver">
+7.4.7. æµé‡èŠ‚çœç¨‹åº
+ </h4>
+ <p>
+如果设备实现包å«æŒ‰æµé‡è®¡è´¹çš„网络连接,则:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议æä¾›æµé‡èŠ‚çœç¨‹åºæ¨¡å¼ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现æä¾›æµé‡èŠ‚çœç¨‹åºæ¨¡å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ <code>ConnectivityManager</code> 类中的所有 API(如 <a href="https://developer.android.com/training/basics/network-ops/data-saver.html">SDK 文档</a>中所述)
+ </li>
+ <li>[C-1-2] 必须在设置中æ供一个界é¢æ¥å¤„ç† <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS"><code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code></a> Intent,以便用户å‘白åå•ä¸­æ·»åŠ åº”用或从中移除应用。
+ </li>
+ </ul>
+ <p>
+如果设备实现未æä¾›æµé‡èŠ‚çœç¨‹åºæ¨¡å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须针对 <a href="https://developer.android.com/reference/android/net/ConnectivityManager.html#getRestrictBackgroundStatus%28%29"><code>ConnectivityManager.getRestrictBackgroundStatus()</code></a> 返回值 <code>RESTRICT_BACKGROUND_STATUS_DISABLED</code>。
+ </li>
+ <li>[C-2-2] ä¸å¾—广播 <code>ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED</code>。
+ </li>
+ <li>[C-2-3] å¿…é¡»æœ‰è´Ÿè´£å¤„ç† <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code> Intent çš„ Activity,但å¯ä»¥å°†å…¶å®žçŽ°ä¸ºç©ºæ“作。
+ </li>
+ </ul>
+ <h4 id="7_4_8_secure_elements">
+7.4.8. 安全元件
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ <a href="https://developer.android.com/reference/android/se/omapi/package-summary">Open Mobile API</a> 安全元件,并使其å¯ä¾›ç¬¬ä¸‰æ–¹åº”用使用,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 调用 <a href="https://developer.android.com/reference/android/se/omapi/SEService#getReaders%28%29"><code>android.se.omapi.SEService.getReaders()</code></a> 方法时必须列举å¯ç”¨çš„安全元件阅读器。
+ </li>
+ </ul>
+ <h3 id="7_5_cameras">
+7.5. æ‘„åƒå¤´
+ </h3>
+ <p>
+如果设备实现包å«è‡³å°‘一个摄åƒå¤´ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明 <code>android.hardware.camera.any</code> 功能标记。
+ </li>
+ <li>[C-1-2] 当摄åƒå¤´æ‰“å¼€ç€ä»¥è¿›è¡ŒåŸºæœ¬é¢„览和é™æ€æ‹æ‘„时,必须确ä¿åº”用å¯ä»¥åŒæ—¶åˆ†é… 3 个 RGBA_8888 ä½å›¾ï¼Œå¹¶ä¸”其大å°ä¸Žè®¾å¤‡ä¸Šåˆ†è¾¨çŽ‡æœ€é«˜çš„æ‘„åƒå¤´ä¼ æ„Ÿå™¨æ‰€ç”Ÿæˆçš„图片相åŒã€‚
+ </li>
+ </ul>
+ <h4 id="7_5_1_rear-facing_camera">
+7.5.1. åŽç½®æ‘„åƒå¤´
+ </h4>
+ <p>
+åŽç½®æ‘„åƒå¤´æŒ‡ä½äºŽè®¾å¤‡ä¸ŠèƒŒå‘显示å±ä¸€ä¾§çš„æ‘„åƒå¤´ï¼Œä¹Ÿå°±æ˜¯è¯´ï¼Œä¸Žä¼ ç»Ÿæ‘„åƒå¤´ä¸€æ ·ï¼Œå®ƒæ‹æ‘„的是背å‘设备显示å±ä¸€ä¾§çš„景物。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应包å«åŽç½®æ‘„åƒå¤´ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«è‡³å°‘一个åŽç½®æ‘„åƒå¤´ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告功能标记 <code>android.hardware.camera</code> 和 <code>android.hardware.camera.any</code>。
+ </li>
+ <li>[C-1-2] 分辨率必须至少为 200 万åƒç´ ã€‚
+ </li>
+ <li>应在摄åƒå¤´é©±åŠ¨ç¨‹åºä¸­å®žçŽ°ç¡¬ä»¶è‡ªåŠ¨å¯¹ç„¦æˆ–软件自动对焦(对应用软件é€æ˜Žï¼‰ã€‚
+ </li>
+ <li>å¯ä»¥å…·æœ‰å›ºå®šç„¦è·ç¡¬ä»¶æˆ– EDOF(扩展景深)硬件。
+ </li>
+ <li>å¯ä»¥åŒ…å«é—ªå…‰ç¯ã€‚
+ </li>
+ </ul>
+ <p>
+如果摄åƒå¤´åŒ…å«é—ªå…‰ç¯ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 当已在摄åƒå¤´é¢„览 Surface 上注册 <code>android.hardware.Camera.PreviewCallback</code> 实例时,闪光ç¯ä¸å¾—亮起,除éžåº”用已通过å¯ç”¨ <code>FLASH_MODE_AUTO</code> 或 <code>FLASH_MODE_ON</code> 属性(属于 <code>Camera.Parameters</code> 对象)明确å¯ç”¨é—ªå…‰ç¯ã€‚请注æ„,此项é™åˆ¶ä¸é€‚用于设备的内置系统摄åƒå¤´åº”用,而是仅适用于使用 <code>Camera.PreviewCallback</code> 的第三方应用。
+ </li>
+ </ul>
+ <h4 id="7_5_2_front-facing_camera">
+7.5.2. å‰ç½®æ‘„åƒå¤´
+ </h4>
+ <p>
+å‰ç½®æ‘„åƒå¤´æŒ‡ä¸Žè®¾å¤‡ä¸Šçš„显示å±ä½äºŽåŒä¸€ä¾§çš„æ‘„åƒå¤´ï¼Œä¹Ÿå°±æ˜¯é€šå¸¸ç”¨äºŽæ‹æ‘„用户自己的摄åƒå¤´ï¼Œä¾‹å¦‚用于视频会议åŠç±»ä¼¼åº”用的摄åƒå¤´ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>å¯ä»¥åŒ…å«å‰ç½®æ‘„åƒå¤´ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«è‡³å°‘一个å‰ç½®æ‘„åƒå¤´ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告功能标记 <code>android.hardware.camera.any</code> 和 <code>android.hardware.camera.front</code>。
+ </li>
+ <li>[C-1-2] 分辨率必须至少为 VGA(640x480 åƒç´ ï¼‰ã€‚
+ </li>
+ <li>[C-1-3] ä¸å¾—å°†å‰ç½®æ‘„åƒå¤´ç”¨ä½œ Camera API 的默认摄åƒå¤´ï¼Œå¹¶ä¸”ä¸å¾—将该 API é…置为将å‰ç½®æ‘„åƒå¤´è§†ä¸ºé»˜è®¤åŽç½®æ‘„åƒå¤´ï¼Œå³ä½¿å®ƒæ˜¯è®¾å¤‡ä¸Šçš„唯一摄åƒå¤´ä¹Ÿæ˜¯å¦‚此。
+ </li>
+ <li>[C-1-4] 如果当å‰åº”用已通过调用 <a href="http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int)"><code>android.hardware.Camera.setDisplayOrientation()</code></a> 方法明确请求旋转摄åƒå¤´æ˜¾ç¤ºæ–¹å‘,则必须相对于应用指定的方å‘水平镜åƒæ‘„åƒå¤´é¢„览。å之,如果当å‰åº”用未通过调用 <a href="http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int)"><code>android.hardware.Camera.setDisplayOrientation()</code></a> 方法明确请求旋转摄åƒå¤´æ˜¾ç¤ºæ–¹å‘,则必须沿ç€è®¾å¤‡çš„默认水平轴镜åƒé¢„览。
+ </li>
+ <li>[C-1-5] 对于最终æ‹å¥½åŽè¿”回给应用回调或æ交到媒体存储空间的é™æ€å›¾åƒæˆ–视频æµï¼Œä¸å¾—对其进行镜åƒã€‚
+ </li>
+ <li>[C-1-6] 必须按照镜åƒæ‘„åƒå¤´é¢„览图åƒæµæ—¶çš„æ–¹å¼é•œåƒç”± postview 显示的图åƒã€‚
+ </li>
+ <li>å¯ä»¥åŒ…å«å¯ä¾›åŽç½®æ‘„åƒå¤´ï¼ˆå¦‚<a href="#7_5_1_rear-facing_camera">第 7.5.1 节</a>中所述)使用的功能,例如自动对焦ã€é—ªå…‰ç¯ç­‰ã€‚
+ </li>
+ </ul>
+ <p>
+如果用户能够旋转设备实现(例如通过加速度计自动旋转或通过用户输入手动旋转),则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须相对于设备的当å‰æ–¹å‘水平镜åƒæ‘„åƒå¤´é¢„览。
+ </li>
+ </ul>
+ <h4 id="7_5_3_external_camera">
+7.5.3. 外接摄åƒå¤´
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>å¯ä»¥æ”¯æŒæ— éœ€ä¸€ç›´è¿žæŽ¥åˆ°è®¾å¤‡çš„外接摄åƒå¤´ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå¤–接摄åƒå¤´ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明平å°åŠŸèƒ½æ ‡è®° <code>android.hardware.camera.external</code> å’Œ <code>android.hardware camera.any</code>。
+ </li>
+ <li>[C-1-2] 如果通过 USB 主机端å£è¿žæŽ¥å¤–接摄åƒå¤´ï¼Œåˆ™å¿…é¡»æ”¯æŒ USB Video Class(UVC 1.0 或更高版本)。
+ </li>
+ <li>[C-1-3] 必须在连接实体外接摄åƒå¤´è®¾å¤‡çš„情况下通过摄åƒå¤´ CTS 测试。有关摄åƒå¤´ CTS 测试的详细信æ¯ï¼Œè¯·å‚阅 <a href="https://source.android.com/compatibility/cts/camera-hal">source.android.com</a>。
+ </li>
+ <li>åº”æ”¯æŒ MJPEG 等视频压缩,以便传输高å“质的未编ç æµï¼ˆå³åŽŸå§‹ç…§ç‰‡æµæˆ–独立压缩的照片æµï¼‰ã€‚
+ </li>
+ <li>å¯ä»¥æ”¯æŒå¤šä¸ªæ‘„åƒå¤´ã€‚
+ </li>
+ <li>å¯ä»¥æ”¯æŒåŸºäºŽæ‘„åƒå¤´çš„视频编ç ã€‚
+ </li>
+ </ul>
+ <p>
+如果支æŒåŸºäºŽæ‘„åƒå¤´çš„视频编ç ï¼Œåˆ™
+ </p>
+ <ul>
+ <li>[C-2-1] 并å‘的未编ç /MJPEG æµï¼ˆQVGA 或更高分辨率)必须å¯ä¾›è®¾å¤‡å®žçŽ°è®¿é—®ã€‚
+ </li>
+ </ul>
+ <h4 id="7_5_4_camera_api_behavior">
+7.5.4. Camera API 行为
+ </h4>
+ <p>
+Android 包å«ä¸¤ä¸ªç”¨äºŽè®¿é—®æ‘„åƒå¤´çš„ API 包,较新的 android.hardware.camera2 API 使应用å¯ä»¥å¯¹æ‘„åƒå¤´è¿›è¡Œè¾ƒä½Žçº§åˆ«çš„控制,包括高效的零å¤åˆ¶è¿žæ‹/视频æµï¼Œä»¥åŠæŒ‰å¸§å¯¹æ›å…‰ã€å¢žç›Šã€ç™½å¹³è¡¡å¢žç›Šã€é¢œè‰²è½¬æ¢ã€åŽ»å™ªã€é”化等进行控制。
+ </p>
+ <p>
+较旧的 API 软件包 <code>android.hardware.Camera</code> 在 Android 5.0 中被标为已弃用,但由于该软件包应ä»å¯ä¾›åº”用使用,因此 Android 设备实现必须确ä¿æŒç»­æ”¯æŒè¯¥ API(如本节和 Android SDK 中所述)。
+ </p>
+ <p>
+已弃用的 android.hardware.Camera 类和较新的 android.hardware.camera2 è½¯ä»¶åŒ…éƒ½å…·å¤‡çš„åŠŸèƒ½åœ¨è¿™ä¸¤ç§ API 中的性能和质é‡å¿…须相当。例如,具有等效设置,自动对焦速度和精确度必须完全相åŒï¼Œä¸”所æ‹å›¾ç‰‡çš„è´¨é‡å¿…须相åŒã€‚ä¾èµ–è¿™ä¸¤ç§ API çš„ä¸åŒè¯­ä¹‰çš„功能无需在速度和质é‡æ–¹é¢ä¿æŒä¸€è‡´ï¼Œä½†åº”å°½å¯èƒ½ä¿æŒä¸€è‡´ã€‚
+ </p>
+ <p>
+设备实现必须为所有å¯ç”¨çš„æ‘„åƒå¤´å®žçŽ°æ‘„åƒå¤´ç›¸å…³ API 的以下行为。设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 对于æ供给应用回调的预览数æ®ï¼Œå¿…须使用 <code>android.hardware.PixelFormat.YCbCr_420_SP</code>(如果应用从未调用过 <code>android.hardware.Camera.Parameters.setPreviewFormat(int)</code>)。
+ </li>
+ <li>[C-0-2] 如果应用注册了 <code>android.hardware.Camera.PreviewCallback</code> 实例,系统调用了 <code>onPreviewFrame()</code> 方法,并且预览格å¼ä¸º YCbCr_420_SP,则传递到 <code>onPreviewFrame()</code> 中的 byte[] æ ¼å¼çš„æ•°æ®å¿…须进一步采用 NV21 ç¼–ç æ ¼å¼ã€‚也就是说,NV21 必须是默认设置。
+ </li>
+ <li>[C-0-3] 必须支æŒä½¿ç”¨ YV12 æ ¼å¼ï¼ˆç”¨ <code>android.graphics.ImageFormat.YV12</code> 常é‡è¡¨ç¤ºï¼‰è¿›è¡Œå‰ç½®æ‘„åƒå¤´å’ŒåŽç½®æ‘„åƒå¤´çš„æ‘„åƒå¤´é¢„览(对于 <code>android.hardware.Camera</code>)。(硬件视频编ç å™¨å’Œæ‘„åƒå¤´å¯ä»¥ä½¿ç”¨ä»»ä½•æœ¬æœºåƒç´ æ ¼å¼ï¼Œä½†è®¾å¤‡å®žçŽ°å¿…须支æŒå°†å…¶è½¬æ¢ä¸º YV12。)
+ </li>
+ <li>[C-0-4] 必须支æŒä½¿ç”¨ <code>android.hardware.ImageFormat.YUV_420_888</code> å’Œ <code>android.hardware.ImageFormat.JPEG</code> 作为输出格å¼ï¼ˆé€šè¿‡ <code>android.media.ImageReader</code> API)(对于在 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#REQUEST_AVAILABLE_CAPABILITIES"><code>android.request.availableCapabilities</code></a> 中通告 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraMetadata.html#REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE"><code>REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE</code></a> 功能的 <code>android.hardware.camera2</code> 设备)。
+ </li>
+ <li>[C-0-5] ä»å¿…须实现 Android SDK 文档中包å«çš„完整 <a href="http://developer.android.com/reference/android/hardware/Camera.html">Camera API</a>,无论设备是å¦åŒ…å«ç¡¬ä»¶è‡ªåŠ¨å¯¹ç„¦æˆ–其他功能都是如此。例如,没有自动对焦功能的摄åƒå¤´ä»å¿…须调用所有已注册的 <code>android.hardware.Camera.AutoFocusCallback</code> 实例(å³ä½¿è¿™ä¸Žéžè‡ªåŠ¨å¯¹ç„¦æ‘„åƒå¤´æ— å…³ï¼‰ã€‚请注æ„,这适用于å‰ç½®æ‘„åƒå¤´ã€‚例如,虽然大多数å‰ç½®æ‘„åƒå¤´éƒ½ä¸æ”¯æŒè‡ªåŠ¨å¯¹ç„¦ï¼Œä½†ä»å¿…须如所述那样“伪造â€API 回调。
+ </li>
+ <li>[C-0-6] 必须识别并éµä»Ž <a href="http://developer.android.com/reference/android/hardware/Camera.Parameters.html"><code>android.hardware.Camera.Parameters</code></a> 类中定义为常é‡çš„æ¯ä¸ªå‚æ•°å称。å之,设备实现ä¸å¾—éµä»Žæˆ–识别传递给 <code>android.hardware.Camera.setParameters()</code> 方法的字符串常é‡ï¼Œåœ¨ <code>android.hardware.Camera.Parameters</code> 中载述为常é‡çš„字符串常é‡é™¤å¤–。也就是说,设备实现必须支æŒæ‰€æœ‰æ ‡å‡†æ‘„åƒå¤´å‚数(如果硬件å…许),ä¸å¾—支æŒè‡ªå®šä¹‰æ‘„åƒå¤´å‚数类型。例如,如果设备实现支æŒä½¿ç”¨é«˜åŠ¨æ€èŒƒå›´ (HDR) æˆåƒæŠ€æœ¯æ‹ç…§ï¼Œåˆ™å¿…须支æŒæ‘„åƒå¤´å‚æ•° <code>Camera.SCENE_MODE_HDR</code>。
+ </li>
+ <li>[C-0-7] 必须通过 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#INFO_SUPPORTED_HARDWARE_LEVEL"><code>android.info.supportedHardwareLevel</code></a> 属性报告正确的支æŒçº§åˆ«ï¼ˆå¦‚ Android SDK 中所述),并报告相应的<a href="http://source.android.com/devices/camera/versioning.html">框架功能标记</a>。
+ </li>
+ <li>[C-0-8] 还必须通过 <code>android.request.availableCapabilities</code> 属性声明 <code>android.hardware.camera2</code> çš„å„项摄åƒå¤´åŠŸèƒ½ï¼Œå¹¶å£°æ˜Žç›¸åº”çš„<a href="http://source.android.com/devices/camera/versioning.html">功能标记</a>;如果连接的任何摄åƒå¤´è®¾å¤‡æ”¯æŒæŸé¡¹åŠŸèƒ½ï¼Œåˆ™å¿…须定义相应的功能标记。
+ </li>
+ <li>[C-0-9] æ¯å½“æ‘„åƒå¤´æ‹æ‘„了新照片且相应的照片æ¡ç›®å·²æ·»åŠ åˆ°åª’体存储区时,都必须广播 <code>Camera.ACTION_NEW_PICTURE</code> Intent。
+ </li>
+ <li>[C-0-10] æ¯å½“æ‘„åƒå¤´å½•åˆ¶äº†æ–°è§†é¢‘且相应的视频æ¡ç›®å·²æ·»åŠ åˆ°åª’体存储区时,都必须广播 <code>Camera.ACTION_NEW_VIDEO</code> Intent。
+ </li>
+ <li>[C-SR] 强烈建议支æŒåˆ—出 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA"><code>CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA</code></a> 功能的逻辑摄åƒå¤´è®¾å¤‡ - 针对多个摄åƒå¤´æœå‘åŒä¸€æ–¹å‘(æ¯ä¸ªç‰©ç†æ‘„åƒå¤´å‡æœå‘该方å‘)的设备,åªè¦æ¡†æž¶æ”¯æŒè¯¥ç‰©ç†æ‘„åƒå¤´ç±»åž‹ä¸”物ç†æ‘„åƒå¤´çš„ <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL"><code>CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL</code></a> 为 <code>LIMITED</code>ã€<code>FULL</code> 或 <code>LEVEL_3</code>。
+ </li>
+ </ul>
+ <h4 id="7_5_5_camera_orientation">
+7.5.5. æ‘„åƒå¤´æ–¹å‘
+ </h4>
+ <p>
+如果设备实现具有å‰ç½®æˆ–åŽç½®æ‘„åƒå¤´ï¼Œåˆ™æ­¤ç±»æ‘„åƒå¤´ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æœå‘正确方å‘,以便摄åƒå¤´çš„长度方å‘与å±å¹•çš„长度方å‘对é½ã€‚也就是说,当设备处于横å‘时,摄åƒå¤´å¿…须横å‘æ‹æ‘„。无论设备的自然方å‘为何,此规则都适用;也就是说,它适用于以横å‘为主的设备以åŠä»¥çºµå‘为主的设备。
+ </li>
+ </ul>
+ <h3 id="7_6_memory_and_storage">
+7.6. 内存和存储空间
+ </h3>
+ <h4 id="7_6_1_minimum_memory_and_storage">
+7.6.1. 最å°å†…存和存储空间
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须包å«å¯ä¾›åº”用下载数æ®æ–‡ä»¶çš„<a href="http://developer.android.com/reference/android/app/DownloadManager.html">内容下载管ç†å™¨</a>,并且应用必须能够将ä¸å°äºŽ 100MB çš„å„个文件下载到默认的“缓存â€ä½ç½®ã€‚
+ </li>
+ </ul>
+ <h4 id="7_6_2_application_shared_storage">
+7.6.2. 应用共享存储空间
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»æä¾›å¯ä¾›åº”用共享的存储空间,该存储空间通常也称为“共享的外部存储空间â€ã€â€œåº”用共享存储空间â€ï¼Œæˆ–者也å¯ä»¥é€šè¿‡è¯¥å­˜å‚¨ç©ºé—´è£…载到的 Linux 路径“/sdcardâ€æ¥æŒ‡ä»£å®ƒã€‚
+ </li>
+ <li>[C-0-2] å¿…é¡»é…有默认装载的(也就是说å¯ä»¥ç›´æŽ¥ä½¿ç”¨çš„)共享存储空间:å¯ä»¥åœ¨å†…部存储组件上或å¯ç§»åŠ¨å­˜å‚¨åª’介(例如安全数字å¡æ’槽)上实现该存储空间。
+ </li>
+ <li>[C-0-3] 必须直接在 Linux 路径 <code>sdcard</code> 中装载应用共享存储空间,或包å«ä¸€ä¸ªä»Ž <code>sdcard</code> 到实际装载点的 Linux 符å·é“¾æŽ¥ã€‚
+ </li>
+ <li>[C-0-4] 必须对该共享存储空间强制执行 <code>android.permission.WRITE_EXTERNAL_STORAGE</code> æƒé™ï¼ˆå¦‚ SDK 中所述)。必须å…许任何获得该æƒé™çš„应用对共享存储空间执行写入æ“作。
+ </li>
+ </ul>
+ <p>
+设备实现å¯ä»¥ä½¿ç”¨ä»¥ä¸‹ä¸¤è€…之一æ¥æ»¡è¶³ä¸Šè¿°è¦æ±‚:
+ </p>
+ <ul>
+ <li>å¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„å¯ç§»åŠ¨å­˜å‚¨è®¾å¤‡ï¼Œä¾‹å¦‚安全数字 (SD) å¡æ’槽。
+ </li>
+ <li>Android å¼€æºé¡¹ç›® (AOSP) 中实现的内部(ä¸å¯ç§»åŠ¨ï¼‰å­˜å‚¨ç©ºé—´çš„一部分。
+ </li>
+ </ul>
+ <p>
+如果设备实现使用å¯ç§»åŠ¨å­˜å‚¨è®¾å¤‡æ¥æ»¡è¶³ä¸Šè¿°è¦æ±‚,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现在æ’槽中未æ’入存储媒介时警告用户的消æ¯æ¡†æˆ–弹出界é¢ã€‚
+ </li>
+ <li>[C-1-2] 必须包å«ç»è¿‡ FAT æ ¼å¼åŒ–的存储媒介(例如 SD å¡ï¼‰ï¼Œæˆ–者在包装箱上以åŠè´­ä¹°æ—¶éšé™„的其他æ料上注明需å•ç‹¬è´­ä¹°å­˜å‚¨åª’介。
+ </li>
+ </ul>
+ <p>
+如果设备实现使用ä¸å¯ç§»åŠ¨å­˜å‚¨ç©ºé—´çš„一部分æ¥æ»¡è¶³ä¸Šè¿°è¦æ±‚,则:
+ </p>
+ <ul>
+ <li>应使用内部应用共享存储空间的 AOSP 实现。
+ </li>
+ <li>å¯ä»¥ä¸Žåº”用éšç§æ•°æ®å…±äº«å­˜å‚¨ç©ºé—´ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¤šä¸ªå…±äº«å­˜å‚¨ç©ºé—´è·¯å¾„(例如 SD å¡æ’槽和共享内部存储空间),则:
+ </p>
+ <ul>
+ <li>[C-2-1] åªèƒ½å…许具有 <code>WRITE_EXTERNAL_STORAGE</code> æƒé™çš„预安装 Android 特æƒåº”用对辅助外部存储设备执行写入æ“ä½œï¼Œå†™å…¥åˆ°å…¶è½¯ä»¶åŒ…ä¸“ç”¨ç›®å½•æˆ–å†™å…¥åˆ°é€šè¿‡è§¦å‘ <code>ACTION_OPEN_DOCUMENT_TREE</code> Intent 返回的 <code>URI</code> 中时除外。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å…·æœ‰æ”¯æŒ USB 外围设备模å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] å¿…é¡»æ供一ç§ç”¨äºŽä»Žä¸»æœºè®¿é—®åº”用共享存储空间内的数æ®çš„机制。
+ </li>
+ <li>应通过 Android 的媒体扫æ程åºæœåŠ¡å’Œ <code>android.provider.MediaStore</code> é€æ˜Žåœ°å…¬å¼€ä¸Šè¿°ä¸¤ä¸ªå­˜å‚¨ç©ºé—´è·¯å¾„中的内容。
+ </li>
+ <li>å¯ä»¥ä½¿ç”¨ USB 大容é‡å­˜å‚¨è®¾å¤‡ï¼Œä½†åº”使用媒体传输åè®®æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å…·æœ‰æ”¯æŒ USB 外围设备模å¼çš„ USB 端å£ï¼Œå¹¶ä¸”支æŒåª’体传输å议,则:
+ </p>
+ <ul>
+ <li>应与 Android MTP å‚考主机(<a href="http://www.android.com/filetransfer">Android 文件传输</a>)兼容。
+ </li>
+ <li>应报告 USB 设备类 0x00。
+ </li>
+ <li>应报告 USB 接å£å称“MTPâ€ã€‚
+ </li>
+ </ul>
+ <h4 id="7_6_3_adoptable_storage">
+7.6.3. å¯åˆå¹¶çš„存储设备
+ </h4>
+ <p>
+如果设备应具有移动性(ä¸åŒäºŽ TV),则对于设备实现:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议在长期ä¸å˜çš„固定ä½ç½®å®žçŽ°å¯åˆå¹¶çš„存储设备,因为æ„外断开它们å¯èƒ½ä¼šå¯¼è‡´æ•°æ®ä¸¢å¤±/æŸå。
+ </li>
+ </ul>
+ <p>
+如果å¯ç§»åŠ¨å­˜å‚¨è®¾å¤‡ç«¯å£ä½äºŽé•¿æœŸä¸å˜çš„固定ä½ç½®ï¼ˆä¾‹å¦‚电池盒或其他防护盖内),则对于设备实现:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议实现<a href="http://source.android.com/devices/storage/adoptable.html">å¯åˆå¹¶çš„存储设备</a>。
+ </li>
+ </ul>
+ <h3 id="7_7_usb">
+7.7. USB
+ </h3>
+ <p>
+如果设备实现具有 USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>åº”æ”¯æŒ USB 外围设备模å¼ï¼Œå¹¶ä¸”åº”æ”¯æŒ USB 主机模å¼ã€‚
+ </li>
+ </ul>
+ <h4 id="7_7_1_usb_peripheral_mode">
+7.7.1. USB 外围设备模å¼
+ </h4>
+ <p>
+如果设备实现包å«æ”¯æŒå¤–围设备模å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 该端å£å¿…é¡»å¯è¿žæŽ¥åˆ°å…·æœ‰æ ‡å‡† A 型或 C åž‹ USB 端å£çš„ USB 主机。
+ </li>
+ <li>[C-1-2] 必须在 USB 标准设备æ述符中为 <code>iSerialNumber</code> 报告正确的值(通过 <code>android.os.Build.SERIAL</code>)。
+ </li>
+ <li>[C-1-3] å¦‚æžœå®ƒä»¬æ”¯æŒ C åž‹ USBï¼Œåˆ™å¿…é¡»æ ¹æ® C 型电阻标准检测 1.5A å’Œ 3.0A 充电器,并检测通告中的å˜åŒ–。
+ </li>
+ <li>[SR] 该端å£åº”使用 micro-B åž‹ã€micro-AB 型或 C åž‹ USB 外形规格。<strong>强烈建议</strong>现有的åŠæ–°çš„ Android 设备满足这些è¦æ±‚,以便能够å‡çº§åˆ°æœªæ¥çš„å¹³å°ç‰ˆæœ¬ã€‚
+ </li>
+ <li>[SR] 该端å£åº”ä½äºŽè®¾å¤‡åº•éƒ¨ï¼ˆæ ¹æ®è‡ªç„¶æ–¹å‘),或为所有应用(包括主å±å¹•ï¼‰å¯ç”¨è½¯ä»¶å±å¹•æ—‹è½¬åŠŸèƒ½ï¼Œä»¥ä¾¿è®¾å¤‡åœ¨æŒ‰ç…§è¯¥ç«¯å£ä½äºŽåº•éƒ¨çš„æ–¹ä½æ”¾ç½®æ—¶ï¼Œæ˜¾ç¤ºå±èƒ½å¤Ÿæ­£ç¡®å‘ˆçŽ°å†…容。<strong>强烈建议</strong>现有的åŠæ–°çš„ Android 设备满足这些è¦æ±‚,以便能够å‡çº§åˆ°æœªæ¥çš„å¹³å°ç‰ˆæœ¬ã€‚
+ </li>
+ <li>[SR] 应支æŒåœ¨ HS 线性调频和æµé‡ä¼ è¾“期间采用 1.5 A 电æµï¼ˆå¦‚ <a href="http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip">USB 电池充电规范 - 修订版 1.2</a> 中所规定)。<strong>强烈建议</strong>现有的åŠæ–°çš„ Android 设备满足这些è¦æ±‚,以便能够å‡çº§åˆ°æœªæ¥çš„å¹³å°ç‰ˆæœ¬ã€‚
+ </li>
+ <li>[SR] 强烈建议ä¸è¦æ”¯æŒä¼šä¿®æ”¹é«˜äºŽé»˜è®¤ç”µåŽ‹çš„ Vbus 电压或更改接收端/æºç«¯è§’色的专有充电方法,因为这样å¯èƒ½ä¼šå¯¼è‡´æ”¯æŒæ ‡å‡† USB Power Delivery 方法的充电器或设备出现互æ“作性问题。虽然此处说的是“强烈建议â€ï¼Œä½†åœ¨æœªæ¥çš„ Android 版本中,我们å¯èƒ½ä¼šè¦æ±‚所有 C 型设备支æŒä¸Žæ ‡å‡† C 型充电器的完整互æ“作性。
+ </li>
+ <li>[SR] å¦‚æžœå®ƒä»¬æ”¯æŒ C åž‹ USB å’Œ USB 主机模å¼ï¼Œåˆ™å¼ºçƒˆå»ºè®®æ”¯æŒ Power Delivery 以进行数æ®è§’色和电æºè§’色交æ¢ã€‚
+ </li>
+ <li>åº”æ”¯æŒ Power Delivery 以进行高压充电,并且应支æŒæ˜¾ç¤ºè¾“出等替代模å¼ã€‚
+ </li>
+ <li>应实现 Android Open Accessory (AOA) API 和规范(如 Android SDK 文档中所述)。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°åŒ…å« USB 端å£ï¼Œå¹¶ä¸”实现了 AOA 规范,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须声明支æŒç¡¬ä»¶åŠŸèƒ½ <a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html"><code>android.hardware.usb.accessory</code></a>。
+ </li>
+ <li>[C-2-2] USB 大容é‡å­˜å‚¨è®¾å¤‡ç±»å¿…须在 USB 大容é‡å­˜å‚¨è®¾å¤‡çš„接å£æè¿° <code>iInterface</code> 字符串末尾添加字符串“androidâ€ã€‚
+ </li>
+ <li>ä¸åº”实现 Android Open Accessory Protocol 2.0 文档中载述的 <a href="https://source.android.com/devices/accessories/aoa2#audio-support">AOAv2 音频</a>。从 Android 8.0(API 26 级)开始,AOAv2 音频便被弃用了。
+ </li>
+ </ul>
+ <h4 id="7_7_2_usb_host_mode">
+7.7.2. USB 主机模å¼
+ </h4>
+ <p>
+如果设备实现包å«æ”¯æŒä¸»æœºæ¨¡å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现 Android USB 主机 API(如 Android SDK 中所述),并声明支æŒç¡¬ä»¶åŠŸèƒ½ <a href="http://developer.android.com/guide/topics/connectivity/usb/host.html"><code>android.hardware.usb.host</code></a>。
+ </li>
+ <li>[C-1-2] 必须支æŒè¿žæŽ¥æ ‡å‡† USB 外围设备,也就是说,它们必须满足以下æ¡ä»¶ä¹‹ä¸€ï¼š
+ <ul>
+ <li>具有设备自带的 C 型端å£ï¼Œæˆ–附带用于将设备自带的专有端å£é€‚é…到标准 USB C 型端å£ï¼ˆUSB C 型设备)的数æ®çº¿ã€‚
+ </li>
+ <li>具有设备自带的 A 型端å£ï¼Œæˆ–附带用于将设备自带的专有端å£é€‚é…到标准 USB A 型端å£çš„æ•°æ®çº¿ã€‚
+ </li>
+ <li>具有设备自带的 micro-AB 型端å£ï¼Œè¯¥ç«¯å£åº”附带用于适é…到标准 A 型端å£çš„æ•°æ®çº¿ã€‚
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-3] ä¸å¾—附带将 USB A 型端å£æˆ– micro-AB 端å£è½¬æŽ¥åˆ° C 型端å£ï¼ˆæ’å£ï¼‰çš„适é…器。
+ </li>
+ <li>[SR] 强烈建议实现 <a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">USB 音频类</a>(如 Android SDK 文档中所述)。
+ </li>
+ <li>应支æŒåœ¨ä¸»æœºæ¨¡å¼ä¸‹ä¸ºè¿žæŽ¥çš„ USB 外围设备充电;为 USB C 型连接器使用至少 1.5A çš„æºç”µæµï¼ˆå¦‚ <a href="http://www.usb.org/developers/docs/usb_31_021517.zip">USB C åž‹æ•°æ®çº¿å’Œè¿žæŽ¥å™¨è§„范 - 修订版 1.2</a> 中的“端接å‚æ•°â€éƒ¨åˆ†æ‰€è§„定),或为 Micro-AB åž‹è¿žæŽ¥å™¨ä½¿ç”¨å……ç”µä¸‹è¡Œç«¯å£ (CDP) 输出电æµèŒƒå›´ï¼ˆå¦‚ <a href="http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip">USB 电池充电规范 - 修订版 1.2</a> 中所规定)。
+ </li>
+ <li>应实现并支æŒä¸Ž USB C 型相关的标准。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æ”¯æŒä¸»æœºæ¨¡å¼å’Œ USB 音频类的 USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] å¿…é¡»æ”¯æŒ <a href="https://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_HID">USB HID ç±»</a>。
+ </li>
+ <li>[C-2-2] 必须支æŒæ£€æµ‹ <a href="http://www.usb.org/developers/hidpage/Hut1_12v2.pdf">USB HID 用法表</a>å’Œ<a href="http://www.usb.org/developers/hidpage/Voice_Command_Usage.pdf">语音指令用法请求</a>中指定的以下 HID æ•°æ®å­—段,并支æŒå°†å…¶æ˜ å°„到 <a href="https://developer.android.com/reference/android/view/KeyEvent.html"><code>KeyEvent</code></a> 常é‡ï¼Œå¦‚下所示:
+ <ul>
+ <li>用法页 (0xC) 用法 ID (0x0CD):<code>KEYCODE_MEDIA_PLAY_PAUSE</code>
+ </li>
+ <li>用法页 (0xC) 用法 ID (0x0E9):<code>KEYCODE_VOLUME_UP</code>
+ </li>
+ <li>用法页 (0xC) 用法 ID (0x0EA):<code>KEYCODE_VOLUME_DOWN</code>
+ </li>
+ <li>用法页 (0xC) 用法 ID (0x0CF):<code>KEYCODE_VOICE_ASSIST</code>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æ”¯æŒä¸»æœºæ¨¡å¼å’Œå­˜å‚¨è®¿é—®æ¡†æž¶ (SAF) çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 必须能够识别任何远程连接的 MTP(媒体传输å议)设备,并通过 <code>ACTION_GET_CONTENT</code>ã€<code>ACTION_OPEN_DOCUMENT</code> å’Œ <code>ACTION_CREATE_DOCUMENT</code> Intent 使其内容å¯ä¾›è®¿é—®ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«æ”¯æŒä¸»æœºæ¨¡å¼å’Œ USB C åž‹çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-4-1] 必须实现åŒé‡è§’色端å£åŠŸèƒ½ï¼ˆå¦‚ USB C 型规范(第 4.5.1.3.3 节)中定义)。
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ DisplayPortï¼Œåº”æ”¯æŒ USB SuperSpeed æ•°æ®ä¼ è¾“é€ŸçŽ‡ï¼Œå¹¶ä¸”å¼ºçƒˆå»ºè®®æ”¯æŒ Power Delivery 以进行数æ®è§’色和电æºè§’色交æ¢ã€‚
+ </li>
+ <li>[SR] 强烈建议ä¸è¦æ”¯æŒéŸ³é¢‘适é…器é…件模å¼ï¼ˆå¦‚ <a href="http://www.usb.org/developers/docs/">USB C åž‹æ•°æ®çº¿å’Œè¿žæŽ¥å™¨è§„范 - 修订版 1.2</a> 的附录 A 中所述)。
+ </li>
+ <li>应实现最适åˆè®¾å¤‡å¤–形规格的 Try.* 模型。例如,手æŒè®¾å¤‡åº”实现 Try.SNK 模型。
+ </li>
+ </ul>
+ <h3 id="7_8_audio">
+7.8. 音频
+ </h3>
+ <h4 id="7_8_1_microphone">
+7.8.1. 麦克风
+ </h4>
+ <p>
+如果设备实现包å«éº¦å…‹é£Žï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告 <code>android.hardware.microphone</code> 功能常é‡ã€‚
+ </li>
+ <li>[C-1-2] 必须满足<a href="#5_4_audio_recording">第 5.4 节</a>中的录音è¦æ±‚。
+ </li>
+ <li>[C-1-3] 必须满足<a href="#5_6_audio_latency">第 5.6 节</a>中的音频延迟è¦æ±‚。
+ </li>
+ <li>[SR] 强烈建议支æŒè¿‘超声录音(如<a href="#7_8_3_near_ultrasound">第 7.8.3 节</a>中所述)。
+ </li>
+ </ul>
+ <p>
+如果设备实现çœç•¥äº†éº¦å…‹é£Žï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] ä¸å¾—报告 <code>android.hardware.microphone</code> 功能常é‡ã€‚
+ </li>
+ <li>[C-2-2] 必须至少按照<a href="#7_hardware_compatibility">第 7 节</a>中的规定将录音 API 实现为空æ“作。
+ </li>
+ </ul>
+ <h4 id="7_8_2_audio_output">
+7.8.2. 音频输出
+ </h4>
+ <p>
+如果设备实现包å«æ‰¬å£°å™¨ï¼Œæˆ–包å«ç”¨äºŽè¿žæŽ¥éŸ³é¢‘输出外围设备的音频/多媒体输出端å£ï¼ˆä¾‹å¦‚ 4 导体 3.5 毫米音频耳机æ’孔或使用 <a href="https://source.android.com/devices/audio/usb#audioClass">USB 音频类</a>çš„ USB 主机模å¼ï¼‰ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须报告 <code>android.hardware.audio.output</code> 功能常é‡ã€‚
+ </li>
+ <li>[C-1-2] 必须满足<a href="#5_5_audio_playback">第 5.5 节</a>中的音频播放è¦æ±‚。
+ </li>
+ <li>[C-1-3] 必须满足<a href="#5_6_audio_latency">第 5.6 节</a>中的音频延迟è¦æ±‚。
+ </li>
+ <li>[SR] 强烈建议支æŒè¿‘超声播放(如<a href="#7_8_3_near_ultrasound">第 7.8.3 节</a>中所述)。
+ </li>
+ </ul>
+ <p>
+如果设备实现ä¸åŒ…å«æ‰¬å£°å™¨æˆ–音频输出端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] ä¸å¾—报告 <code>android.hardware.audio.output</code> 功能。
+ </li>
+ <li>[C-2-2] 必须至少将与音频输出机制相关的 API 实现为空æ“作。
+ </li>
+ </ul>
+ <p>
+在本节中,“输出端å£â€æ˜¯æŒ‡<a href="https://en.wikipedia.org/wiki/Computer_port_%28hardware%29">实体接å£</a>,例如 3.5 毫米音频耳机æ’å­”ã€HDMI 端å£ï¼Œæˆ–使用 USB 音频类的 USB 主机模å¼ç«¯å£ã€‚支æŒé€šè¿‡æ— çº¿å议(例如è“牙ã€WLAN 或移动网络)输出音频ä¸ç®—作包å«â€œè¾“出端å£â€ã€‚
+ </p>
+ <h5 id="7_8_2_1_analog_audio_ports">
+7.8.2.1. 模拟音频端å£
+ </h5>
+ <p>
+为了兼容 Android 生æ€ç³»ç»Ÿä¸­ä½¿ç”¨ 3.5 毫米音频æ’头的<a href="https://source.android.com/devices/accessories/headset/plug-headset-spec">耳机和其他音频é…件</a>,如果设备实现包å«ä¸€ä¸ªæˆ–多个模拟音频端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-SR] 强烈建议至少有一个音频端å£ä¸º 4 导体 3.5 毫米音频耳机æ’孔。
+ </li>
+ </ul>
+ <p>
+如果设备实现具有 4 导体 3.5 毫米音频耳机æ’孔,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒå°†éŸ³é¢‘播放到带麦克风的立体声头戴å¼è€³æœºå’Œç«‹ä½“声耳机。
+ </li>
+ <li>[C-1-2] 必须支æŒé‡‡ç”¨ CTIA 引脚顺åºçš„ TRRS 音频æ’头。
+ </li>
+ <li>[C-1-3] 必须支æŒæ£€æµ‹éŸ³é¢‘æ’头上的麦克风导体和接地导体之间以下 3 个范围的等效阻抗,并支æŒå°†å…¶æ˜ å°„到相应的键ç ï¼š
+ <ul>
+ <li>
+ <strong>70 欧姆或更低</strong>:<code>KEYCODE_HEADSETHOOK</code>
+ </li>
+ <li>
+ <strong>210-290 欧姆</strong>:<code>KEYCODE_VOLUME_UP</code>
+ </li>
+ <li>
+ <strong>360-680 欧姆</strong>:<code>KEYCODE_VOLUME_DOWN</code>
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-4] 必须在æ’å…¥æ’å¤´æ—¶è§¦å‘ <code>ACTION_HEADSET_PLUG</code>,但åªèƒ½åœ¨æ’头上的所有触点都已接触到耳机æ’孔上å„自的相关部分åŽæ‰èƒ½è§¦å‘。
+ </li>
+ <li>[C-1-5] 必须能够在 32 欧姆扬声器阻抗上驱动至少 150mV ± 10% 的输出电压。
+ </li>
+ <li>[C-1-6] 麦克风å置电压必须介于 1.8V 到 2.9V 之间。
+ </li>
+ <li>[C-1-7] 必须检测音频æ’头上的麦克风导体和接地导体之间以下范围的等效阻抗,并且必须将其映射到相应的键ç ï¼š
+ <ul>
+ <li>
+ <strong>110-180 欧姆</strong>:<code>KEYCODE_VOICE_ASSIST</code>
+ </li>
+ </ul>
+ </li>
+ <li>[C-SR] 强烈建议支æŒå…·æœ‰ OMTP 引脚顺åºçš„音频æ’头。
+ </li>
+ <li>[C-SR] 强烈建议支æŒä½¿ç”¨å¸¦éº¦å…‹é£Žçš„立体声耳机进行录音。
+ </li>
+ </ul>
+ <p>
+如果设备实现具有 4 导体 3.5 毫米音频耳机æ’孔,支æŒéº¦å…‹é£Žï¼Œå¹¶ä¸”广播 <code>android.intent.action.HEADSET_PLUG</code>(其中包å«ä¸€ä¸ªè®¾ä¸º 1 çš„é¢å¤–å‚数“microphoneâ€ï¼‰ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒæ£€æµ‹æ’入的音频é…件上是å¦æœ‰éº¦å…‹é£Žã€‚
+ </li>
+ </ul>
+ <h4 id="7_8_3_near-ultrasound">
+7.8.3. 近超声
+ </h4>
+ <p>
+近超声音频的频带为 18.5 kHz 到 20 kHz。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>必须通过 <a href="http://developer.android.com/reference/android/media/AudioManager.html#getProperty%28java.lang.String%29">AudioManager.getProperty</a> API 正确报告对近超声音频功能的支æŒæƒ…况,如下所述:
+ </li>
+ </ul>
+ <p>
+如果 <a href="http://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND"><code>PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND</code></a> 为“trueâ€ï¼Œåˆ™ <code>VOICE_RECOGNITION</code> å’Œ <code>UNPROCESSED</code> 音频æºå¿…须满足以下è¦æ±‚:
+ </p>
+ <ul>
+ <li>[C-1-1] 麦克风在 18.5 kHz 到 20 kHz 频带之间的平å‡åŠŸçŽ‡å“应ä¸å¾—比 2 kHz 下的å“应低 15 dB 以上。
+ </li>
+ <li>[C-1-2] 对于 -26 dBFS çš„ 19 kHz 音调,麦克风在 18.5 kHz 到 20 kHz 频带内的ä¸åŠ æƒä¿¡å™ªæ¯”ä¸å¾—低于 50 dB。
+ </li>
+ </ul>
+ <p>
+如果 <a href="http://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND"><code>PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND</code></a> 为“trueâ€ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 扬声器在 18.5 kHz 到 20 kHz 之间的平å‡å“应与在 2 kHz 下的å“应相比,低ä¸èƒ½è¶…过 40 dB。
+ </li>
+ </ul>
+ <h3 id="7_9_virtual_reality">
+7.9. 虚拟实境
+ </h3>
+ <p>Android 包å«ç”¨äºŽæž„建“虚拟实境â€(VR) 应用(æ供高å“质的移动 VR 体验)的 API 和工具。设备实现必须正确实现这些 API 和行为(本节中对此进行了详细说明)。
+ </p>
+ <h4 id="7_9_1_virtual_reality_mode">
+7.9.1. 虚拟实境模å¼
+ </h4>
+ <p>
+Android æ”¯æŒ <a href="https://developer.android.com/reference/android/app/Activity.html#setVrModeEnabled%28boolean,%20android.content.ComponentName%29">VR 模å¼</a>,该模å¼ç”¨äºŽå¤„ç†é€šçŸ¥çš„立体呈现,并会在 VR 应用获得用户èšç„¦æ—¶åœç”¨å•ç›®ç³»ç»Ÿç•Œé¢ç»„件。
+ </p>
+ <h4 id="7_9_2_virtual_reality_mode_-_high_performance">
+7.9.2. è™šæ‹Ÿå®žå¢ƒæ¨¡å¼ - 高性能
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ VR 模å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须有至少 2 个实体核心。
+ </li>
+ <li>[C-1-2] 必须声明 <code>android.hardware.vr.high_performance</code> 功能。
+ </li>
+ <li>[C-1-3] 必须支æŒæŒç»­æ€§èƒ½æ¨¡å¼ã€‚
+ </li>
+ <li>[C-1-4] å¿…é¡»æ”¯æŒ OpenGL ES 3.2。
+ </li>
+ <li>[C-1-5] å¿…é¡»æ”¯æŒ <code>android.hardware.vulkan.level</code> 0。
+ </li>
+ <li>åº”æ”¯æŒ <code>android.hardware.vulkan.level</code> 1 或更高版本。
+ </li>
+ <li>[C-1-6] 必须实现 <a href="https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_mutable_render_buffer.txt"><code>EGL_KHR_mutable_render_buffer</code></a>ã€<a href="https://www.khronos.org/registry/EGL/extensions/ANDROID/EGL_ANDROID_front_buffer_auto_refresh.txt"><code>EGL_ANDROID_front_buffer_auto_refresh</code></a>ã€<a href="https://www.khronos.org/registry/EGL/extensions/ANDROID/EGL_ANDROID_get_native_client_buffer.txt"><code>EGL_ANDROID_get_native_client_buffer</code></a>ã€<a href="https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_fence_sync.txt"><code>EGL_KHR_fence_sync</code></a>ã€<a href="https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_wait_sync.txt"><code>EGL_KHR_wait_sync</code></a>ã€<a href="https://www.khronos.org/registry/EGL/extensions/IMG/EGL_IMG_context_priority.txt"><code>EGL_IMG_context_priority</code></a>ã€<a href="https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_protected_content.txt"><code>EGL_EXT_protected_content</code></a> å’Œ <a href="https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_gl_colorspace.txt"><code>EGL_EXT_image_gl_colorspace</code></a>,并在å¯ç”¨ EGL 扩展列表中公开这些扩展。
+ </li>
+ <li>[C-1-8] 必须实现 <a href="https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture2.txt"><code>GL_EXT_multisampled_render_to_texture2</code></a>ã€<a href="https://www.khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview.txt"><code>GL_OVR_multiview</code></a>ã€<a href="https://www.khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview2.txt"><code>GL_OVR_multiview2</code></a>ã€<a href="https://www.khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview_multisampled_render_to_texture.txt"><code>GL_OVR_multiview_multisampled_render_to_texture</code></a>ã€<a href="https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_protected_textures.txt"><code>GL_EXT_protected_textures</code></a>ã€<a href="https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_array.txt"><code>GL_EXT_EGL_image_array</code></a> å’Œ <a href="https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_buffer.txt"><code>GL_EXT_external_buffer</code></a>,并在å¯ç”¨ GL 扩展列表中公开这些扩展。
+ </li>
+ <li>[C-1-24] 必须实现 <a href="https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_KHR_shared_presentable_image"><code>VK_KHR_shared_presentable_image</code></a> å’Œ <a href="https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_GOOGLE_display_timing"><code>VK_GOOGLE_display_timing</code></a>,并在å¯ç”¨ Vulkan 扩展列表中公开这些扩展。
+ </li>
+ <li>[C-1-25] 必须至少公开一个 Vulkan 队列系列,其中 <code>flags</code> åŒæ—¶åŒ…å« <code>VK_QUEUE_GRAPHICS_BIT</code> å’Œ <code>VK_QUEUE_COMPUTE_BIT</code>,且 <code>queueCount</code> 至少为 2。
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ Vulkan 1.1。
+ </li>
+ <li>[SR] 强烈建议实现 <a href="https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer"><code>VK_ANDROID_external_memory_android_hardware_buffer</code></a>,并在å¯ç”¨ Vulkan 扩展列表中公开该扩展。
+ </li>
+ <li>[C-1-7] GPU 和显示å±å¿…须能够åŒæ­¥è®¿é—®å…±äº«çš„å‰ç«¯ç¼“冲区,以便在两个呈现环境中以 60fps 的速率交替呈现 VR 内容,而没有å¯è§çš„撕裂现象。
+ </li>
+ <li>[C-1-9] å¿…é¡»æ”¯æŒ <a href="https://developer.android.com/ndk/reference/hardware__buffer_8h.html"><code>AHardwareBuffer</code></a> 标记 <code>AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER</code>ã€<code>AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA</code> å’Œ <code>AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT</code>(如 NDK 中所述)。
+ </li>
+ <li>[C-1-10] 必须支æŒå…·æœ‰å¤šä¸ªå±‚çš„ <code>AHardwareBuffers</code> 以åŠç”¨æ³•æ ‡è®° <code>AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT</code>ã€<code>AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE</code> å’Œ <code>AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT</code> 至少以下列格å¼ä¹‹ä¸€è¿›è¡Œä»»æ„组åˆï¼š<code>AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM</code>ã€<code>AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM</code>ã€<code>AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM</code> å’Œ <code>AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT</code>。
+ </li>
+ <li>[C-1-11] 必须支æŒä»¥è‡³å°‘ 3840 x 2160 @ 30fps çš„åˆ†è¾¨çŽ‡ä¸”åŽ‹ç¼©åˆ°å¹³å‡ 40Mbps 的速度(相当于 4 个 1920 x1080 @ 30 fps-10 Mbps 实例或 2 个 1920 x 1080 @ 60 fps-20 Mbps 实例)进行 H.264 解ç ã€‚
+ </li>
+ <li>[C-1-12] å¿…é¡»æ”¯æŒ HEVC å’Œ VP9,必须能够以至少 1920 x 1080 @ 30 fps çš„åˆ†è¾¨çŽ‡ä¸”åŽ‹ç¼©åˆ°å¹³å‡ 10 Mbps 的速度进行解ç ï¼Œå¹¶ä¸”应能够以 3840 x 2160 @ 30 fps-20 Mbps 的分辨率和速度进行解ç ï¼ˆç›¸å½“于 4 个 1920 x 1080 @ 30 fps-5 Mbps 实例)。
+ </li>
+ <li>[C-1-13] å¿…é¡»æ”¯æŒ <code>HardwarePropertiesManager.getDeviceTemperatures</code> API,并返回表层温度的准确值。
+ </li>
+ <li>[C-1-14] 必须包å«åµŒå…¥å¼å±å¹•ï¼Œä¸”其分辨率必须至少为 1920 x 1080。
+ </li>
+ <li>[C-SR] 强烈建议显示å±åˆ†è¾¨çŽ‡è‡³å°‘为 2560 x 1440。
+ </li>
+ <li>[C-1-15] 显示å±åœ¨ VR 模å¼ä¸‹çš„更新频率必须至少为 60 Hz。
+ </li>
+ <li>[C-1-17] 显示å±å¿…须支æŒä½ŽæŒä¹…性模å¼ï¼ˆæŒä¹…性å°äºŽç­‰äºŽ 5 毫秒),æŒä¹…性指åƒç´ å‘光的时长。
+ </li>
+ <li>[C-1-18] 必须支æŒè“牙 4.2 å’Œè“牙 LE æ•°æ®é•¿åº¦æ‰©å±•ï¼ˆ<a href="#7_4_3_bluetooth">第 7.4.3 节</a>)。
+ </li>
+ <li>[C-1-19] 对于以下所有默认传感器类型,必须支æŒå¹¶æ­£ç¡®æŠ¥å‘Š<a href="https://developer.android.com/reference/android/hardware/Sensor#isDirectChannelTypeSupported%28int%29">直接通é“类型</a>:
+ <ul>
+ <li>
+ <code>TYPE_ACCELEROMETER</code>
+ </li>
+ <li>
+ <code>TYPE_ACCELEROMETER_UNCALIBRATED</code>
+ </li>
+ <li>
+ <code>TYPE_GYROSCOPE</code>
+ </li>
+ <li>
+ <code>TYPE_GYROSCOPE_UNCALIBRATED</code>
+ </li>
+ <li>
+ <code>TYPE_MAGNETIC_FIELD</code>
+ </li>
+ <li>
+ <code>TYPE_MAGNETIC_FIELD_UNCALIBRATED</code>
+ </li>
+ </ul>
+ </li>
+ <li>[C-1-20] 对于上é¢åˆ—出的所有直接通é“ç±»åž‹ï¼Œå¿…é¡»æ”¯æŒ <a href="https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_HARDWARE_BUFFER"><code>TYPE_HARDWARE_BUFFER</code></a> 直接通é“类型。
+ </li>
+ <li>[C-1-21] 对于 <code>android.hardware.hifi_sensors</code>,必须满足与陀螺仪ã€åŠ é€Ÿåº¦è®¡å’Œç£åŠ›è®¡ç›¸å…³çš„è¦æ±‚(如<a href="#7_3_9_high_fidelity_sensors">第 7.3.9 节</a>中所规定)。
+ </li>
+ <li>[SR] å¼ºçƒˆå»ºè®®æ”¯æŒ <code>android.hardware.sensor.hifi_sensors</code> 功能。
+ </li>
+ <li>[C-1-22] 从è¿åŠ¨åˆ°æˆåƒçš„端到端延时ä¸å¾—超过 28 毫秒。
+ </li>
+ <li>[SR] 强烈建议从è¿åŠ¨åˆ°æˆåƒçš„端到端延时ä¸è¶…过 20 毫秒。
+ </li>
+ <li>[C-1-23] 第一帧率(å³ç¬¬ä¸€å¸§ä¸Šä»Žé»‘过渡到白之åŽçš„åƒç´ äº®åº¦ä¸Žç™½è‰²åƒç´ å¤„于稳定状æ€çš„亮度之间的比率)必须至少为 85%。
+ </li>
+ <li>[SR] 强烈建议第一帧率至少为 90%。
+ </li>
+ <li>å¯ä»¥ä¸ºå‰å°åº”用æ供专属核心,并且å¯ä»¥æ”¯æŒ <code>Process.getExclusiveCores</code> API,以便返回专供最é å‰çš„å‰å°åº”用使用的 CPU 核心数。
+ </li>
+ </ul>
+ <p>
+如果支æŒä¸“属核心,则该核心:
+ </p>
+ <ul>
+ <li>[C-2-1] ä¸å¾—å…许任何其他用户空间进程(应用使用的设备驱动程åºé™¤å¤–)在其上è¿è¡Œï¼Œä½†åœ¨å¿…è¦æ—¶å¯ä»¥å…许一些内核进程在其上è¿è¡Œã€‚
+ </li>
+ </ul>
+ <h2 id="8_performance_and_power">
+8. 性能和功耗
+ </h2>
+ <p>
+有些最低性能和功耗标准对用户体验至关é‡è¦ï¼Œå¹¶ä¸”会影å“å¼€å‘者在开å‘应用时所åšçš„基准å‡è®¾ã€‚
+ </p>
+ <h3 id="8_1_user_experience_consistency">
+8.1. 用户体验一致性
+ </h3>
+ <p>
+如果有特定的最低è¦æ±‚æ¥ç¡®ä¿åº”用和游æˆä¿æŒä¸€è‡´çš„帧速率和å“应时间,则å¯ä»¥ä¸ºæœ€ç»ˆç”¨æˆ·æä¾›æµç•…çš„ç•Œé¢ã€‚æ ¹æ®è®¾å¤‡ç±»åž‹ï¼Œè®¾å¤‡å®žçŽ°å¯ä»¥æœ‰é’ˆå¯¹ç•Œé¢å»¶è¿Ÿå’Œä»»åŠ¡åˆ‡æ¢çš„å¯è¡¡é‡è¦æ±‚(如<a href="#2_device-types">第 2 节</a>中所述)。
+ </p>
+ <h3 id="8_2_file_i/o_access_performance">
+8.2. 文件 I/O 访问性能
+ </h3>
+ <p>
+通过æ供在应用éšç§æ•°æ®å­˜å‚¨ç©ºé—´ï¼ˆ<code>/data</code> 分区)上实现一致的文件访问性能所需的常用基准,应用开å‘者å¯ä»¥è®¾å®šæœ‰åŠ©äºŽè¿›è¡Œè½¯ä»¶è®¾è®¡çš„适当预期。根æ®è®¾å¤‡ç±»åž‹ï¼Œè®¾å¤‡å®žçŽ°å¯ä»¥åŒ…å«é’ˆå¯¹ä»¥ä¸‹è¯»å–和写入æ“作的特定è¦æ±‚(如<a href="#2_device-type">第 2 节</a>中所述):
+ </p>
+ <ul>
+ <li>
+ <strong>顺åºå†™å…¥æ€§èƒ½</strong>:通过使用 10MB 写入缓冲区写入一个 256MB 的文件æ¥è¡¡é‡ã€‚
+ </li>
+ <li>
+ <strong>éšæœºå†™å…¥æ€§èƒ½</strong>:通过使用 4KB 写入缓冲区写入一个 256MB 的文件æ¥è¡¡é‡ã€‚
+ </li>
+ <li>
+ <strong>顺åºè¯»å–性能</strong>:通过使用 10MB 写入缓冲区读å–一个 256MB 的文件æ¥è¡¡é‡ã€‚
+ </li>
+ <li>
+ <strong>éšæœºè¯»å–性能</strong>:通过使用 4KB 写入缓冲区读å–一个 256MB 的文件æ¥è¡¡é‡ã€‚
+ </li>
+ </ul>
+ <h3 id="8_3_power-saving_modes">
+8.3. 节电模å¼
+ </h3>
+ <p>
+如果设备实现中的功能å¯æ”¹è¿› AOSP 中的设备电æºç®¡ç†æˆ–扩展 AOSP 中的功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 应用待机和低电耗节电模å¼çš„触å‘ã€ç»´æŠ¤ã€å”¤é†’算法以åŠå¯¹å…¨å±€ç³»ç»Ÿè®¾ç½®çš„使用都ä¸å¾—è¿èƒŒ AOSP 实现。
+ </li>
+ <li>[C-1-2] 使用全局设置管ç†åº”用待机模å¼ä¸‹æ¯ä¸ªå­˜å‚¨åˆ†åŒºä¸­åº”用的作业ã€æ醒和网络调节都ä¸å¾—å离 AOSP 实现。
+ </li>
+ <li>[C-1-3] 应用待机模å¼æ‰€ç”¨<a href="https://developer.android.com/topic/performance/appstandby">应用待机存储分区</a>çš„æ•°é‡ä¸å¾—å离 AOSP 实现。
+ </li>
+ <li>[C-1-4] 必须实现<a href="https://developer.android.com/topic/performance/appstandby">应用待机存储分区</a>和低电耗模å¼ï¼ˆå¦‚<a href="https://source.android.com/devices/tech/power/mgmt">电æºç®¡ç†</a>中所述)。
+ </li>
+ <li>[C-1-5] 必须在设备处于节电模å¼æ—¶é’ˆå¯¹ <a href="https://developer.android.com/reference/android/os/PowerManager#isPowerSaveMode%28%29"><code>PowerManager.isPowerSaveMode()</code></a> 返回 <code>true</code>。
+ </li>
+ <li>[C-SR] 强烈建议æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤Ÿå¯ç”¨å’Œåœç”¨çœç”µæ¨¡å¼ã€‚
+ </li>
+ <li>[C-SR] 强烈建议æ供一ç§æ–¹å¼ï¼Œè®©ç”¨æˆ·èƒ½å¤ŸæŸ¥çœ‹å…于进入应用待机模å¼å’Œä½Žç”µè€—模å¼çš„所有应用。
+ </li>
+ </ul>
+ <p>
+除了节电模å¼ä¹‹å¤–,Android 设备实现还å¯ä»¥å®žçŽ°ä»»æ„或全部 4 ç§ä¼‘眠电æºçŠ¶æ€ï¼ˆå¦‚高级é…置与电æºæŽ¥å£ (ACPI) 中所定义)。
+ </p>
+ <p>
+如果设备实现已实现 S3 å’Œ S4 电æºçŠ¶æ€ï¼ˆå¦‚ ACPI 中所定义),则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须仅在用户明确执行使设备处于ä¸æ´»åŠ¨çŠ¶æ€çš„æ“作(例如åˆä¸Šå±žäºŽè®¾å¤‡æœ¬èº«ä¸€éƒ¨åˆ†çš„ç›–å­æˆ–关闭车辆或电视)之åŽåŠç”¨æˆ·é‡æ–°æ¿€æ´»è®¾å¤‡ï¼ˆä¾‹å¦‚打开盖å­æˆ–å¼€å¯è½¦è¾†æˆ–电视)之å‰è¿›å…¥ä¸Šè¿°çŠ¶æ€ã€‚
+ </li>
+ </ul>
+ <h3 id="8_4_power_consumption_accounting">
+8.4. 功耗计算
+ </h3>
+ <p>
+更准确地计算和报告功耗有助于应用开å‘者找出能够优化应用功耗模å¼çš„措施和工具。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议æ供一个关于å„组件功耗的é…置文件,其中è¦å®šä¹‰æ¯ç§ç¡¬ä»¶ç»„件的<a href="http://source.android.com/devices/tech/power/values.html">耗电值</a>,以åŠç»„件在一段时间内大概消耗的电é‡ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上所述)。
+ </li>
+ <li>[SR] 强烈建议以毫安å°æ—¶ (mAh) 为å•ä½æŠ¥å‘Šæ‰€æœ‰åŠŸè€—值。
+ </li>
+ <li>[SR] 强烈建议按æ¯ä¸ªè¿›ç¨‹çš„ UID 报告 CPU 功耗。Android å¼€æºé¡¹ç›®é€šè¿‡ <code>uid_cputime</code> 内核模å—实现æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ <li>[SR] 强烈建议能让应用开å‘者通过 <a href="http://source.android.com/devices/tech/power/batterystats.html"><code>adb shell dumpsys batterystats</code></a> shell 命令查看此功耗。
+ </li>
+ <li>如果无法将硬件组件的功耗归于æŸä¸ªåº”用,则应将其归于硬件组件本身。
+ </li>
+ </ul>
+ <h3 id="8_5_consistent_performance">
+8.5. 性能一致
+ </h3>
+ <p>
+高性能应用在长时间è¿è¡Œæ—¶ï¼Œæ€§èƒ½å¯èƒ½ä¼šå› åŽå°è¿è¡Œçš„其他应用或由于温度é™åˆ¶å¯¼è‡´çš„ CPU 节æµè€Œå‡ºçŽ°å¤§å¹…波动。Android 包å«å¯ç¼–程接å£ï¼Œä»¥ä¾¿åœ¨è®¾å¤‡èƒœä»»çš„情况下,最é å‰çš„å‰å°åº”用能够请求系统优化资æºçš„分é…,æ¥åº”对这ç§æ³¢åŠ¨ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须通过 <a href="https://developer.android.com/reference/android/os/PowerManager.html#isSustainedPerformanceModeSupported%28%29"><code>PowerManager.isSustainedPerformanceModeSupported()</code></a> API 方法准确报告对æŒç»­æ€§èƒ½æ¨¡å¼çš„支æŒæƒ…况。
+ </p>
+ </li>
+ <li>
+ <p>
+应支æŒæŒç»­æ€§èƒ½æ¨¡å¼ã€‚
+ </p>
+ </li>
+ </ul>
+ <p>
+如果设备报告支æŒæŒç»­æ€§èƒ½æ¨¡å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须能够让最é å‰çš„å‰å°åº”用至少在 30 分钟内ä¿æŒç¨³å®šçš„性能水平(当该应用请求时)。
+ </li>
+ <li>[C-1-2] å¿…é¡»éµä»Ž <a href="https://developer.android.com/reference/android/view/Window.html#setSustainedPerformanceMode%28boolean%29"><code>Window.setSustainedPerformanceMode()</code></a> API 和其他相关 API。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«ä¸¤ä¸ªæˆ–更多个 CPU 核心,则:
+ </p>
+ <ul>
+ <li>应至少æ供一个å¯é¢„留给最é å‰çš„å‰å°åº”用使用的专用核心。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒä¸ºæœ€é å‰çš„å‰å°åº”用预留一个专用核心,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须通过 <a href="https://developer.android.com/reference/android/os/Process.html#getExclusiveCores%28%29"><code>Process.getExclusiveCores()</code></a> API 方法报告å¯é¢„留给最é å‰çš„å‰å°åº”用使用的专属核心的 ID å·ã€‚
+ </li>
+ <li>[C-2-2] ä¸å¾—å…许任何用户空间进程(应用使用的设备驱动程åºé™¤å¤–)在专用核心上è¿è¡Œï¼Œä½†åœ¨å¿…è¦æ—¶å¯ä»¥å…许一些内核进程在其上è¿è¡Œã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现ä¸æ”¯æŒä¸“用核心,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须通过 <a href="https://developer.android.com/reference/android/os/Process.html#getExclusiveCores%28%29"><code>Process.getExclusiveCores()</code></a> API 方法返回一个空列表。
+ </li>
+ </ul>
+ <h2 id="9_security_model_compatibility">
+9. 安全模型兼容性
+ </h2>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须实现与 Android å¹³å°å®‰å…¨æ¨¡åž‹ï¼ˆå¦‚ Android å¼€å‘者文档 &gt; API æŒ‡å— &gt; <a href="http://developer.android.com/guide/topics/security/permissions.html">安全和æƒé™å‚考文档</a>中定义)一致的安全模型。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] 必须支æŒå®‰è£…自签å应用(无需从任何第三方/æƒå¨æœºæž„获得任何é¢å¤–çš„æƒé™/è¯ä¹¦ï¼‰ã€‚具体æ¥è¯´å°±æ˜¯ï¼Œä¸Ž Android 兼容的设备必须支æŒä»¥ä¸‹å°èŠ‚中所述的安全机制。
+ </p>
+ </li>
+ </ul>
+ <h3 id="9_1_permissions">
+9.1. æƒé™
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] å¿…é¡»æ”¯æŒ <a href="http://developer.android.com/guide/topics/security/permissions.html">Android æƒé™æ¨¡åž‹</a>(如 Android å¼€å‘者文档中定义)。具体æ¥è¯´å°±æ˜¯ï¼Œå¿…须强制执行定义的æ¯é¡¹æƒé™ï¼ˆå¦‚ SDK 文档中所述);ä¸å¾—çœç•¥ã€æ›´æ”¹æˆ–忽略任何æƒé™ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+å¯ä»¥æ·»åŠ é¢å¤–çš„æƒé™ï¼Œä½†å‰æ是新æƒé™çš„ ID 字符串ä¸åœ¨ <code>android.\*</code> 命å空间内。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] <code>protectionLevel</code> 为 <a href="https://developer.android.com/reference/android/content/pm/PermissionInfo.html#PROTECTION&amp;lowbar;FLAG&amp;lowbar;PRIVILEGED"><code>PROTECTION_FLAG_PRIVILEGED</code></a> çš„æƒé™åªèƒ½æŽˆäºˆåœ¨ç³»ç»Ÿæ˜ åƒçš„特æƒè·¯å¾„中预加载的应用,并且此类æƒé™åªèƒ½ä½äºŽæ˜Žç¡®ä¸ºå„个应用列入白åå•çš„æƒé™çš„å­é›†ä¸­ã€‚AOSP 实现通过以下方å¼æ¥æ»¡è¶³è¯¥è¦æ±‚:从 <code>etc/permissions/</code> 路径下的文件中读å–为å„个应用列入白åå•çš„æƒé™ã€éµä»Žæ­¤ç±»æƒé™ï¼Œå¹¶å°† <code>system/priv-app</code> 路径用作特æƒè·¯å¾„。
+ </p>
+ </li>
+ </ul>
+ <p>
+ä¿æŠ¤çº§åˆ«ä¸ºâ€œå±é™©â€çš„æƒé™å±žäºŽè¿è¡Œæ—¶æƒé™ã€‚<code>targetSdkVersion</code> 高于 22 的应用会在è¿è¡Œæ—¶è¯·æ±‚这些æƒé™ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-3] 必须显示一个专用界é¢ï¼Œä»¥ä¾¿ç”¨æˆ·å†³å®šæ˜¯å¦æŽˆäºˆè¯·æ±‚çš„è¿è¡Œæ—¶æƒé™ï¼›æ­¤å¤–还必须æ供一个供用户管ç†è¿è¡Œæ—¶æƒé™çš„ç•Œé¢ã€‚
+ </li>
+ <li>[C-0-4] 对于这两个界é¢ï¼Œå¿…须有且åªèƒ½æœ‰ä¸€ä¸ªå®žçŽ°ã€‚
+ </li>
+ <li>[C-0-5] ä¸å¾—å‘预安装的应用授予任何è¿è¡Œæ—¶æƒé™ï¼Œé™¤éžï¼š
+ <ul>
+ <li>å¯ä»¥åœ¨åº”用使用è¿è¡Œæ—¶æƒé™ä¹‹å‰èŽ·å¾—用户åŒæ„。
+ </li>
+ <li>è¿è¡Œæ—¶æƒé™ä¸Žç¬¦åˆä»¥ä¸‹æ¡ä»¶çš„æŸä¸ª Intent 模å¼ç›¸å…³è”:已将预安装的应用设为其默认处ç†ç¨‹åºã€‚
+ </li>
+ </ul>
+ </li>
+ <li>[C-0-6] 必须仅将 <code>android.permission.RECOVER_KEYSTORE</code> æƒé™æŽˆäºˆå·²æ³¨å†Œé‡‡å–适当安全措施的æ¢å¤ä»£ç†çš„系统应用。采å–适当安全措施的æ¢å¤ä»£ç†æ˜¯æŒ‡ç¬¦åˆä»¥ä¸‹æ¡ä»¶çš„设备内置软件代ç†ï¼šå¯ä¸Žè®¾å¤‡å¤–远程存储空间åŒæ­¥ï¼Œä¸”é…有安全硬件,æ供的ä¿æŠ¤åŠŸèƒ½ç›¸å½“于或优于 <a href="https://developer.android.com/preview/features/security/ckv-whitepaper.html">Google Cloud Key Vault Service</a> 中所述的ä¿æŠ¤åŠŸèƒ½ï¼Œå¯é˜²æ­¢æš´åŠ›ç ´è§£æ”»å‡» Lock Screen Knowledge Factor (LSKF)。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«é¢„安装的应用,或者希望å…许第三方应用访问使用情况统计信æ¯ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[SR] 强烈建议能够因应 <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION&amp;lowbar;USAGE&amp;lowbar;ACCESS&amp;lowbar;SETTINGS"><code>android.settings.ACTION_USAGE_ACCESS_SETTINGS</code></a> Intent æ供一ç§å¯ä¾›ç”¨æˆ·ä½¿ç”¨çš„机制,以便他们为声明了 <code>android.permission.PACKAGE_USAGE_STATS</code> æƒé™çš„应用授予或撤消对使用情况统计信æ¯çš„访问æƒé™ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现打算ç¦æ­¢æ‰€æœ‰åº”用(包括预安装的应用)访问使用情况统计信æ¯ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»ä»æœ‰è´Ÿè´£å¤„ç† <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION&amp;lowbar;USAGE&amp;lowbar;ACCESS&amp;lowbar;SETTINGS"><code>android.settings.ACTION_USAGE_ACCESS_SETTINGS</code></a> Intent 模å¼çš„ Activity,但必须将其实现为空æ“作,也就是具有和用户访问被拒时åŒç­‰çš„行为。
+ </li>
+ </ul>
+ <h3 id="9_2_uid_and_process_isolation">
+9.2. UID 和进程隔离
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»æ”¯æŒ Android 应用沙盒模型。在该模型中,æ¯ä¸ªåº”用都是在å•ç‹¬çš„进程中作为独一无二的 Unixstyle UID è¿è¡Œã€‚
+ </li>
+ <li>[C-0-2] 必须支æŒä»¥åŒä¸€ Linux 用户 ID è¿è¡Œå¤šä¸ªåº”用,但å‰æ是这些应用已ç»è¿‡é€‚当签å,并采用了适当的构建方å¼ï¼ˆå¦‚<a href="http://developer.android.com/guide/topics/security/permissions.html">安全和æƒé™å‚考</a>中定义)。
+ </li>
+ </ul>
+ <h3 id="9_3_filesystem_permissions">
+9.3. 文件系统æƒé™
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»æ”¯æŒ Android 文件访问æƒé™æ¨¡åž‹ï¼ˆå¦‚<a href="http://developer.android.com/guide/topics/security/permissions.html">安全和æƒé™å‚考</a>中定义)。
+ </li>
+ </ul>
+ <h3 id="9_4_alternate_execution_environments">
+9.4. 替代执行环境
+ </h3>
+ <p>
+设备实现必须能够使 Android 安全性和æƒé™æ¨¡åž‹ä¿æŒä¸€è‡´æ€§ï¼Œå³ä½¿å®ƒä»¬åŒ…å«å­˜åœ¨ä»¥ä¸‹æƒ…况的è¿è¡Œæ—¶çŽ¯å¢ƒä¹Ÿæ˜¯å¦‚此:使用除了 Dalvik å¯æ‰§è¡Œæ–‡ä»¶æ ¼å¼æˆ–本机代ç ä»¥å¤–的一些其他软件或技术æ¥æ‰§è¡Œåº”用。也就是说:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 替代è¿è¡Œæ—¶æœ¬èº«å¿…须是 Android 应用,并且éµå¾ªæ ‡å‡†çš„ Android 安全模型(如<a href="#9_security_model_compatibility">第 9 节</a>中的其他部分所述)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] ä¸å¾—授æƒæ›¿ä»£è¿è¡Œæ—¶è®¿é—®å—以下æƒé™ä¿æŠ¤çš„资æºï¼šæœªåœ¨æ›¿ä»£è¿è¡Œæ—¶çš„ <code>AndroidManifest.xml</code> 文件中通过 &lt;<code>uses-permission</code>&gt; 机制请求的æƒé™ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-3] 替代è¿è¡Œæ—¶ä¸å¾—å…许应用使用å—ä»…é™ç³»ç»Ÿåº”用享有的 Android æƒé™ä¿æŠ¤çš„功能。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-4] 替代è¿è¡Œæ—¶å¿…é¡»éµå¾ª Android 沙盒模型,并且使用替代è¿è¡Œæ—¶çš„已安装应用ä¸å¾—é‡å¤ä½¿ç”¨è®¾å¤‡ä¸Šå·²å®‰è£…的任何其他应用的沙盒,除éžé€šè¿‡å…±äº«ç”¨æˆ· ID 和签åè¯ä¹¦è¿™ä¸¤ç§æ ‡å‡† Android 机制。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-5] ä¸å¾—使用对应于其他 Android 应用的沙盒å¯åŠ¨æ›¿ä»£è¿è¡Œæ—¶ï¼Œä¸å¾—å‘替代è¿è¡Œæ—¶æŽˆäºˆå¯¹è¿™äº›æ²™ç›’的访问æƒé™ï¼Œæ›¿ä»£è¿è¡Œæ—¶ä¹Ÿä¸å¾—å‘其他应用授予此类访问æƒé™ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-6] ä¸å¾—使替代è¿è¡Œæ—¶åœ¨å¯åŠ¨æ—¶èŽ·å¾—超级用户 (root) 或任何其他用户 ID 的任何æƒé™ï¼Œä¸å¾—å‘替代è¿è¡Œæ—¶æŽˆäºˆä»»ä½•æ­¤ç±»æƒé™ï¼Œæ›¿ä»£è¿è¡Œæ—¶ä¹Ÿä¸å¾—å‘其他应用授予任何此类æƒé™ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-7] 如果设备实现的系统映åƒä¸­åŒ…å«æ›¿ä»£è¿è¡Œæ—¶çš„ <code>.apk</code> 文件,则这些文件必须已签å,并且签å时所用的密钥必须ä¸åŒäºŽå¯¹è®¾å¤‡å®žçŽ°åŒ…å«çš„其他应用签å时使用的密钥。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-8] 在安装应用时,替代è¿è¡Œæ—¶å¿…须就应用使用的 Android æƒé™èŽ·å¾—用户åŒæ„。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-9] 如果æŸä¸ªåº”用需è¦ä½¿ç”¨å…·æœ‰ç›¸åº” Android æƒé™çš„设备资æºï¼ˆä¾‹å¦‚æ‘„åƒå¤´ã€GPS,等等),则替代è¿è¡Œæ—¶å¿…须通知用户,让他们知é“该应用将能够访问相应资æºã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-10] 如果è¿è¡Œæ—¶çŽ¯å¢ƒä¸ä¼šä»¥è¿™ç§æ–¹å¼è®°å½•åº”用功能,则在安装任何使用该è¿è¡Œæ—¶çš„应用时,è¿è¡Œæ—¶çŽ¯å¢ƒéƒ½å¿…须列出è¿è¡Œæ—¶è‡ªèº«æ‹¥æœ‰çš„所有æƒé™ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+替代è¿è¡Œæ—¶åº”通过 <code>PackageManager</code> 将应用安装到å•ç‹¬çš„ Android 沙盒(Linux 用户 ID 等)中。
+ </p>
+ </li>
+ <li>
+ <p>
+替代è¿è¡Œæ—¶å¯ä»¥æ供一个供所有使用替代è¿è¡Œæ—¶çš„应用共享的 Android 沙盒。
+ </p>
+ </li>
+ </ul>
+ <h3 id="9_5_multi-user_support">
+9.5. 多用户支æŒ
+ </h3>
+ <p>
+Android <a href="http://developer.android.com/reference/android/os/UserManager.html">支æŒå¤šç”¨æˆ·åŠŸèƒ½</a>,并支æŒå®Œå…¨ç”¨æˆ·éš”离。
+ </p>
+ <ul>
+ <li>如果设备实现使用<a href="http://developer.android.com/reference/android/os/Environment.html">å¯ç§»åŠ¨åª’体</a>作为主è¦çš„外部存储设备,则å¯ä»¥ä½†ä¸åº”å¯ç”¨å¤šç”¨æˆ·åŠŸèƒ½ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¤šä½ç”¨æˆ·ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须满足与<a href="http://source.android.com/devices/storage/traditional.html">多用户支æŒ</a>相关的以下è¦æ±‚。
+ </li>
+ <li>[C-1-2] 必须为æ¯ä½ç”¨æˆ·å®žçŽ°ä¸Ž Android å¹³å°å®‰å…¨æ¨¡åž‹ï¼ˆå¦‚ API 指å—内的<a href="http://developer.android.com/guide/topics/security/permissions.html">安全和æƒé™å‚考文档</a>中定义)一致的安全模型。
+ </li>
+ <li>[C-1-3] 对于æ¯ä¸ªç”¨æˆ·å®žä¾‹ï¼Œéƒ½å¿…须在共享应用存储空间(也称为 <code>/sdcard</code>)中有å•ç‹¬çš„隔离目录。
+ </li>
+ <li>[C-1-4] 必须确ä¿å½’指定用户所有且以其å义è¿è¡Œçš„应用无法列出ã€è¯»å–或写入到归任何其他用户所有的文件中,å³ä½¿åŒæ–¹çš„æ•°æ®éƒ½å­˜å‚¨åœ¨ç›¸åŒçš„å·æˆ–文件系统中也是如此。
+ </li>
+ <li>[C-1-5] 如果设备实现针对外部存储 API 使用å¯ç§»åŠ¨åª’介,则必须使用仅存储在åªæœ‰ç³»ç»Ÿå¯è®¿é—®çš„ä¸å¯ç§»åŠ¨åª’介上的密钥对 SD å¡ä¸­çš„内容加密(如果å¯ç”¨äº†å¤šç”¨æˆ·åŠŸèƒ½ï¼‰ã€‚这样会使主机 PC 无法读å–相应媒介,所以设备实现将需è¦åˆ‡æ¢åˆ° MTP 或类似系统,æ‰èƒ½ä¸ºä¸»æœº PC æ供访问当å‰ç”¨æˆ·çš„æ•°æ®çš„æƒé™ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¤šä½ç”¨æˆ·ï¼Œå¹¶ä¸”未声明 <code>android.hardware.telephony</code> 功能标记,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒå—é™é…置文件,该é…置文件å¯è®©è®¾å¤‡æ‰€æœ‰è€…管ç†è®¾å¤‡ä¸Šçš„其他用户以åŠä»–们å¯ä»¥ä½¿ç”¨çš„功能。借助å—é™é…置文件,设备所有者å¯ä»¥å¿«é€Ÿè®¾ç½®ä¾›å…¶ä»–用户使用的å•ç‹¬çŽ¯å¢ƒï¼ŒåŒæ—¶è¿˜èƒ½åœ¨å¯äºŽè¿™äº›çŽ¯å¢ƒä¸­è¿è¡Œçš„应用内管ç†æ›´ç²¾ç»†çš„é™åˆ¶ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å¤šä½ç”¨æˆ·ï¼Œå¹¶ä¸”声明了 <code>android.hardware.telephony</code> 功能标记,则:
+ </p>
+ <ul>
+ <li>[C-3-1] ä¸å¾—支æŒå—é™é…置文件,但必须与用于å…许/ç¦æ­¢å…¶ä»–用户访问语音通è¯å’ŒçŸ­ä¿¡çš„控件的 AOSP 实现ä¿æŒä¸€è‡´ã€‚
+ </li>
+ </ul>
+ <h3 id="9_6_premium_sms_warning">
+9.6. 付费短信警告
+ </h3>
+ <p>
+Android 支æŒé’ˆå¯¹ä»»ä½•å¤–å‘<a href="http://en.wikipedia.org/wiki/Short_code">付费短信</a>å‘用户å‘出警告。付费短信是指å‘已在è¿è¥å•†å¤„注册且å¯èƒ½éœ€è¦ç”¨æˆ·ä»˜è´¹çš„æœåŠ¡å‘é€çš„短信。
+ </p>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å£°æ˜Žæ”¯æŒ <code>android.hardware.telephony</code>,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 在å‘通过设备的 <code>/data/misc/sms/codes.xml</code> 文件中定义的正则表达å¼è¯†åˆ«å‡ºçš„å·ç å‘é€çŸ­ä¿¡ä¹‹å‰ï¼Œå¿…须警告用户。上游 Android å¼€æºé¡¹ç›®æ供满足该è¦æ±‚的实现。
+ </li>
+ </ul>
+ <h3 id="9_7_security_features">
+9.7. 安全功能
+ </h3>
+ <p>
+设备实现必须确ä¿ç¬¦åˆå†…æ ¸åŠå¹³å°ä¸­çš„安全功能è¦æ±‚(如下所述)。
+ </p>
+ <p>
+Android 沙盒包å«ä½¿ç”¨å®‰å…¨å¢žå¼ºåž‹ Linux (SELinux) 强制访问控制 (MAC) 系统ã€seccomp æ²™ç›’åŠŸèƒ½ä»¥åŠ Linux 内核中其他安全功能的功能。因此,设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须与现有应用ä¿æŒå…¼å®¹ï¼Œå³ä½¿ SELinux 或任何其他安全功能是在 Android 框架以下实现的。
+ </li>
+ <li>[C-0-2] 当在 Android 框架以下实现的安全功能检测到并æˆåŠŸé˜»æ­¢å®‰å…¨è¿è§„行为时,ä¸å¾—显示å¯è§ç•Œé¢ï¼›ä½†å½“å‘生未被阻止的安全è¿è§„行为且该行为导致æ¼æ´žè¢«æˆåŠŸåˆ©ç”¨æ—¶ï¼Œåˆ™å¯ä»¥æ˜¾ç¤ºå¯è§ç•Œé¢ã€‚
+ </li>
+ <li>[C-0-3] 必须确ä¿ç”¨æˆ·æˆ–应用开å‘者无法对 SELinux 或任何其他在 Android 框架以下实现的安全功能进行é…置。
+ </li>
+ <li>[C-0-4] ä¸å¾—å…许å¯é€šè¿‡ API(例如 Device Administration API)影å“其他应用的应用é…置会破å兼容性的政策。
+ </li>
+ <li>[C-0-5] 必须将媒体框架拆分为多个进程,以便能够更精细地为æ¯ä¸ªè¿›ç¨‹æŽˆäºˆè®¿é—®æƒé™ï¼ˆå¦‚ Android å¼€æºé¡¹ç›®ç½‘站上<a href="https://source.android.com/devices/media/framework-hardening.html#arch_changes">所述</a>)。
+ </li>
+ <li>[C-0-6] 必须实现一ç§å…许使用多线程程åºä¸­çš„å¯é…置政策对系统调用进行过滤的内核应用沙盒机制。上游 Android å¼€æºé¡¹ç›®é€šè¿‡å¯ç”¨é‡‡ç”¨ threadgroup åŒæ­¥ (TSYNC) çš„ seccomp-BPF(如 <a href="http://source.android.com/devices/tech/config/kernel.html#Seccomp-BPF-TSYNC">source.android.com 上的“内核é…ç½®â€éƒ¨åˆ†</a>所述)æ¥æ»¡è¶³è¯¥è¦æ±‚。
+ </li>
+ </ul>
+ <p>
+内核完整性和自ä¿æŠ¤åŠŸèƒ½å¯¹äºŽç¡®ä¿ Android 安全性至关é‡è¦ã€‚因此,设备实现:
+ </p>
+ <ul>
+ <li>[C-0-7] 必须实现内核堆栈缓冲区溢出ä¿æŠ¤æœºåˆ¶ï¼ˆä¾‹å¦‚ <code>CONFIG_CC_STACKPROTECTOR_STRONG</code>)。
+ </li>
+ <li>[C-0-8] 当å¯æ‰§è¡Œä»£ç ä¸ºåªè¯»ã€åªè¯»æ•°æ®ä¸å¯æ‰§è¡Œä¸”ä¸å¯å†™å…¥ï¼Œä»¥åŠå¯å†™å…¥æ•°æ®ä¸å¯æ‰§è¡Œæ—¶ï¼Œå¿…须实现严格的内核内存ä¿æŠ¤æœºåˆ¶ï¼ˆä¾‹å¦‚ <code>CONFIG_DEBUG_RODATA</code> 或 <code>CONFIG_STRICT_KERNEL_RWX</code>)。
+ </li>
+ <li>[C-0-9] 必须在æ­è½½ API 28 级或更高级别的设备上实现对用户空间和内核空间之间的副本进行é™æ€å’ŒåŠ¨æ€å¯¹è±¡å°ºå¯¸è¾¹ç•Œæ£€æŸ¥ï¼ˆä¾‹å¦‚ <code>CONFIG_HARDENED_USERCOPY</code>)。
+ </li>
+ <li>[C-0-10] ä¸å¾—在最åˆæ­è½½ API 28 级或更高级别的设备上执行在内核模å¼ä¸‹è¿è¡Œçš„用户空间内存(例如硬件 PXN,或通过 <code>CONFIG_CPU_SW_DOMAIN_PAN</code> 或 <code>CONFIG_ARM64_SW_TTBR0_PAN</code> 模拟)。
+ </li>
+ <li>[C-0-11] ä¸å¾—在最åˆæ­è½½ API 28 级或更高级别的设备上在正常用户副本访问 API 之外对内核中的用户空间内存执行读å–或写入æ“作(例如硬件 PAN,或通过 <code>CONFIG_CPU_SW_DOMAIN_PAN</code> 或 <code>CONFIG_ARM64_SW_TTBR0_PAN</code> 模拟)。
+ </li>
+ <li>[C-0-12] 必须在最åˆæ­è½½ API 28 级或更高级别的所有设备上实现内核页表隔离(例如 <code>CONFIG_PAGE_TABLE_ISOLATION</code> 或 `CONFIG_UNMAP_KERNEL_AT_EL0)。
+ </li>
+ <li>[SR] 强烈建议使仅在åˆå§‹åŒ–期间会被写入的内核数æ®åœ¨åˆå§‹åŒ–之åŽè¢«æ ‡è®°ä¸ºåªè¯»ï¼ˆä¾‹å¦‚ <code>__ro_after_init</code>)。
+ </li>
+ <li>[SR] 强烈建议对内核代ç å’Œå†…存的布局进行éšæœºåŒ–处ç†ï¼Œå¹¶é¿å…会影å“此项éšæœºåŒ–处ç†çš„æ›å…‰ï¼ˆä¾‹å¦‚通过 <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/chosen.txt"><code>/chosen/kaslr-seed Device Tree node</code></a> 或 <a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/efi-rng-protocol"><code>EFI_RNG_PROTOCOL</code></a> 并采用引导加载程åºç†µæ‰§è¡Œ <code>CONFIG_RANDOMIZE_BASE</code>)。
+ </li>
+ </ul>
+ <p>
+如果设备实现使用 Linux 内核,则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须实现 SELinux。
+ </li>
+ <li>[C-1-2] 必须将 SELinux 设置为全局强制模å¼ã€‚
+ </li>
+ <li>[C-1-3] 必须将所有域é…置为强制模å¼ã€‚ä¸å…许使用宽容模å¼åŸŸï¼ŒåŒ…括特定于设备/供应商的域。
+ </li>
+ <li>[C-1-4] 对于 AOSP SELinux 域以åŠç‰¹å®šäºŽè®¾å¤‡/供应商的域,ä¸å¾—修改ã€çœç•¥æˆ–替æ¢ä¸Šæ¸¸ Android å¼€æºé¡¹ç›® (AOSP) 中æ供的 system/sepolicy 文件夹中存在的 neverallow 规则,并且政策必须在所有 neverallow 规则都存在的情况下编译。
+ </li>
+ <li>[C-1-5] 必须在æ¯ä¸ªåº”用的 SELinux 沙盒中è¿è¡Œé¢å‘ API 28 级或更高级别的第三方应用,并对æ¯ä¸ªåº”用的ç§æœ‰æ•°æ®ç›®å½•è®¾å®šåº”用级 SELinux é™åˆ¶ã€‚
+ </li>
+ <li>应ä¿ç•™ä¸Šæ¸¸ Android å¼€æºé¡¹ç›®çš„ system/sepolicy 文件夹中æ供的默认 SELinux 政策,并且应仅针对自己的设备特定é…ç½®å‘该政策进一步添加内容。
+ </li>
+ </ul>
+ <p>
+如果设备实现使用 Linux 以外的内核,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须使用与 SELinux 相当的强制访问控制系统。
+ </li>
+ </ul>
+ <p>
+Android 包å«å¤šé¡¹å¯¹è®¾å¤‡å®‰å…¨æ€§è‡³å…³é‡è¦çš„深度防御功能。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-SR] 强烈建议ä¸è¦åœ¨å·²å¯ç”¨æŽ§åˆ¶æµå®Œæ•´æ€§ (CFI) 或整数溢出排错功能 (IntSan) 的组件上åœç”¨è¿™äº›åŠŸèƒ½ã€‚
+ </li>
+ <li>[C-SR] 强烈建议为任何其他对安全性è¦æ±‚较高的用户空间组件åŒæ—¶å¯ç”¨ CFI å’Œ IntSan(如 <a href="https://source.android.com/devices/tech/debug/cfi">CFI</a> å’Œ <a href="https://source.android.com/devices/tech/debug/intsan">IntSan</a> 中所述)。
+ </li>
+ </ul>
+ <h3 id="9_8_privacy">
+9.8. éšç§æƒ
+ </h3>
+ <h4 id="9_8_1_usage_history">
+9.8.1. 使用情况历å²è®°å½•
+ </h4>
+ <p>
+Android 会存储用户所åšé€‰æ‹©çš„历å²è®°å½•ï¼Œå¹¶ä¼šé€šè¿‡ <a href="https://developer.android.com/reference/android/app/usage/UsageStatsManager.html">UsageStatsManager</a> 管ç†æ­¤ç±»è®°å½•ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] å¿…é¡»ä¿è¯æ­¤ç±»ç”¨æˆ·åŽ†å²è®°å½•å…·æœ‰åˆç†çš„ä¿ç•™æœŸé™ã€‚
+ </li>
+ <li>[SR] 强烈建议在 AOSP 实现中ä¿ç•™é»˜è®¤é…置的 14 天ä¿ç•™æœŸé™ã€‚
+ </li>
+ </ul>
+ <p>
+Android 通过 <a href="https://developer.android.com/reference/android/util/StatsLog.html"><code>StatsLog</code></a> 标识符存储系统事件,并通过 <code>StatsManager</code> å’Œ <code>IncidentManager</code> 系统 API 管ç†æ­¤ç±»åŽ†å²è®°å½•ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-2] å¿…é¡»åªåŒ…å«ç³»ç»Ÿ API ç±» <code>IncidentManager</code> 创建的事件报告中标有 <code>DEST_AUTOMATIC</code> 的字段。
+ </li>
+ <li>[C-0-3] ä¸å¾—使用系统事件标识符记录 <a href="https://developer.android.com/reference/android/util/StatsLog.html"><code>StatsLog</code></a> SDK 文档中所述事件外的任何其他事件。如果记录了其他系统事件,则å¯ä»¥ä½¿ç”¨ 100000 到 200000 之间的其他原å­æ ‡è¯†ç¬¦ã€‚
+ </li>
+ </ul>
+ <h4 id="9_8_2_recording">
+9.8.2. 录制
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] ä¸å¾—预安装或分å‘开箱å³ç”¨çš„软件组件,以å…这些组件未ç»ç”¨æˆ·çš„åŒæ„或未å‘出æŒç»­æ˜¾ç¤ºçš„明确通知便从设备上å‘出用户的ç§å¯†ä¿¡æ¯ï¼ˆä¾‹å¦‚按键ã€å±å¹•ä¸Šæ˜¾ç¤ºçš„文本)。
+ </li>
+ </ul>
+ <p>
+如果设备实现在系统中包å«ç”¨äºŽæ•èŽ·å±å¹•ä¸Šæ˜¾ç¤ºçš„内容和/或录制设备上播放的音频æµçš„功能,则:
+ </p>
+ <ul>
+ <li>[C-1-1] æ¯å½“该功能处于å¯ç”¨çŠ¶æ€å¹¶ä¸»åŠ¨æ•èŽ·å†…容/录音时,必须æŒç»­å‘用户显示通知。
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«ä¸€ä¸ªèƒ½å¤Ÿå½•åˆ¶çŽ¯å¢ƒéŸ³é¢‘(以便推断关于用户所在环境的实用信æ¯ï¼‰ä¸”开箱å³å¯ç”¨çš„组件,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 除éžç”¨æˆ·æ˜Žç¡®åŒæ„,å¦åˆ™ä¸å¾—将录制的原始音频或以下任何格å¼çš„音频存储在设备上的永久性存储空间内,也ä¸å¾—将其å‘é€åˆ°è®¾å¤‡ä»¥å¤–çš„ä½ç½®ï¼šå¯ä»¥è½¬æ¢å›žåŽŸå§‹éŸ³é¢‘或转æ¢ä¸ºä¸ŽåŽŸå§‹éŸ³é¢‘近似的副本的格å¼ã€‚
+ </li>
+ </ul>
+ <h4 id="9_8_3_connectivity">
+9.8.3. 连接
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°å…·æœ‰æ”¯æŒ USB 外围设备模å¼çš„ USB 端å£ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 在å…许通过 USB 端å£è®¿é—®å…±äº«å­˜å‚¨ç©ºé—´çš„内容之å‰ï¼Œå¿…须先显示一个å¾æ±‚用户åŒæ„çš„ç•Œé¢ã€‚
+ </li>
+ </ul>
+ <h4 id="9_8_4_network_traffic">
+9.8.4. 网络æµé‡
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须为系统信任的è¯ä¹¦æŽˆæƒæœºæž„ (CA) 存储区预安装根è¯ä¹¦ï¼ˆä¸Žä¸Šæ¸¸ Android å¼€æºé¡¹ç›®ä¸­<a href="https://source.android.com/security/overview/app-security.html#certificate-authorities">æä¾›</a>çš„æ ¹è¯ä¹¦ç›¸åŒï¼‰ã€‚
+ </li>
+ <li>[C-0-2] å¿…é¡»æ­è½½ç©ºçš„用户根 CA 存储区。
+ </li>
+ <li>[C-0-3] 当添加了用户根 CA 时,必须å‘用户显示警告,以指明网络æµé‡å¯èƒ½ä¼šå—到监控。
+ </li>
+ </ul>
+ <p>
+如果设备æµé‡é€šè¿‡ VPN 路由,则设备实现:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»å‘用户显示警告,以指明以下两者之一:
+ <ul>
+ <li>该网络æµé‡å¯èƒ½ä¼šå—到监控。
+ </li>
+ <li>该网络æµé‡é€šè¿‡æä¾› VPN 的特定 VPN 应用路由。
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+如果设备实现具有一ç§é€šè¿‡ä»£ç†æœåŠ¡å™¨æˆ– VPN 网关路由网络数æ®æµé‡ä¸”开箱å³é»˜è®¤å¯ç”¨çš„机制(例如预加载已被授予 <code>android.permission.CONTROL_VPN</code> æƒé™çš„ VPN æœåŠ¡ï¼‰ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须在å¯ç”¨è¯¥æœºåˆ¶ä¹‹å‰å¾æ±‚用户åŒæ„,除éžç›¸åº” VPN 由设备政策控制器通过 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setAlwaysOnVpnPackage%28android.content.ComponentName,%20java.lang.String,%20boolean%29"><code>DevicePolicyManager.setAlwaysOnVpnPackage()</code></a> å¯ç”¨ï¼Œåœ¨è¿™ç§æƒ…况下,用户ä¸éœ€è¦å•ç‹¬è¡¨ç¤ºåŒæ„,åªéœ€æ”¶åˆ°é€šçŸ¥å³å¯ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现具有一ç§æ–¹å¼ï¼Œå¯è®©ç”¨æˆ·å¼€å¯ç¬¬ä¸‰æ–¹ VPN åº”ç”¨çš„â€œå§‹ç»ˆå¼€å¯ VPNâ€åŠŸèƒ½ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] 对于ä¸æ”¯æŒâ€œå§‹ç»ˆå¼€å¯ VPNâ€æœåŠ¡ï¼ˆåœ¨ <code>AndroidManifest.xml</code> 文件中将 <a href="https://developer.android.com/reference/android/net/VpnService.html#SERVICE_META_DATA_SUPPORTS_ALWAYS_ON"><code>SERVICE_META_DATA_SUPPORTS_ALWAYS_ON</code></a> 属性设置为 <code>false</code>)的应用,必须åœç”¨æ­¤æ–¹å¼ã€‚
+ </li>
+ </ul>
+ <h3 id="9_9_data_storage_encryption">
+9.9. æ•°æ®å­˜å‚¨åŠ å¯†
+ </h3>
+ <p>
+如果使用设备上å¯ç”¨çš„最高性能高级加密标准 (AES) 技术(例如 ARM 加密扩展)衡é‡çš„ AES 加密性能超过 50 MiB/s,则设备实现:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须支æŒå¯¹åº”用éšç§æ•°æ®ï¼ˆ<code>/data</code> 分区)以åŠåº”用共享存储分区(<code>/sdcard</code> 分区,如果它是设备上ä¸å¯ç§»åŠ¨çš„永久部分)进行数æ®å­˜å‚¨åŠ å¯†ï¼Œä½†é€šå¸¸éœ€è¦å…±äº«çš„设备实现(例如电视)除外。
+ </li>
+ <li>[C-1-2] 必须在用户完æˆå¼€ç®±è®¾ç½®æ—¶é»˜è®¤å¯ç”¨æ•°æ®å­˜å‚¨åŠ å¯†ï¼Œä½†é€šå¸¸éœ€è¦å…±äº«çš„设备实现(例如电视)除外。
+ </li>
+ </ul>
+ <p>
+如果设备实现已使用早期 Android 版本å¯åŠ¨ï¼Œä¸”无法通过系统软件更新æ¥æ»¡è¶³è¯¥è¦æ±‚,则å¯ä»¥ä¸éµå®ˆä¸Šè¿°è¦æ±‚。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>应通过实现<a href="https://source.android.com/security/encryption/file-based.html">文件级加密</a> (FBE) æ¥æ»¡è¶³ä¸Šè¿°æ•°æ®å­˜å‚¨åŠ å¯†è¦æ±‚。
+ </li>
+ </ul>
+ <h4 id="9_9_1_direct_boot">
+9.9.1. 直接å¯åŠ¨
+ </h4>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须实现<a href="http://developer.android.com/preview/features/direct-boot.html">直接å¯åŠ¨æ¨¡å¼</a> API,å³ä½¿å®ƒä»¬ä¸æ”¯æŒå­˜å‚¨åŠ å¯†ä¹Ÿæ˜¯å¦‚此。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] å¿…é¡»ä»å¹¿æ’­ <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_LOCKED_BOOT_COMPLETED"><code>ACTION_LOCKED_BOOT_COMPLETED</code></a> å’Œ <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_USER_UNLOCKED"><code>ACTION_USER_UNLOCKED</code></a> Intent,以便让直接å¯åŠ¨æ„ŸçŸ¥åž‹åº”用知é“设备加密 (DE) 和凭æ®åŠ å¯† (CE) 存储ä½ç½®å¯ä¾›ç”¨æˆ·ä½¿ç”¨ã€‚
+ </p>
+ </li>
+ </ul>
+ <h4 id="9_9_2_file_based_encryption">
+9.9.2. 文件级加密
+ </h4>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ FBE,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¯åŠ¨æ—¶ä¸å¾—è¦æ±‚用户æ供凭æ®ï¼Œå¹¶ä¸”在广播 <code>ACTION_LOCKED_BOOT_COMPLETED</code> 消æ¯åŽå…许直接å¯åŠ¨æ„ŸçŸ¥åž‹åº”用访问设备加密 (DE) 存储空间。
+ </li>
+ <li>[C-1-2] åªæœ‰åœ¨ç”¨æˆ·å·²é€šè¿‡æ供凭æ®ï¼ˆä¾‹å¦‚密ç ã€PIN ç ã€å›¾æ¡ˆæˆ–指纹)解é”设备并且系统已广播 <code>ACTION_USER_UNLOCKED</code> 消æ¯åŽï¼Œæ‰èƒ½å…许访问凭æ®åŠ å¯† (CE) 存储空间。
+ </li>
+ <li>[C-1-3] 如果用户未æ供凭æ®æˆ–已注册的托管密钥,则ä¸å¾—æ供解é”å— CE ä¿æŠ¤çš„存储空间的任何方法。
+ </li>
+ <li>[C-1-4] 必须支æŒéªŒè¯å¯åŠ¨ï¼Œå¹¶ç¡®ä¿ DE 密钥以加密形å¼ç»‘定到设备的硬件信任根。
+ </li>
+ <li>[C-1-5] 必须支æŒä½¿ç”¨ AES-256-XTS 对文件内容进行加密。AES-256-XTS 是一ç§é«˜çº§åŠ å¯†æ ‡å‡†ï¼Œå¯†é’¥é•¿åº¦ä¸º 256 ä½ï¼Œä¸”采用 XTS 模å¼ã€‚XTS 密钥的全长为 512 ä½ã€‚
+ </li>
+ <li>
+ <p>
+[C-1-6] 必须支æŒåœ¨ CBC-CTS 模å¼ä¸‹ä½¿ç”¨ AES-256 加密文件å。
+ </p>
+ </li>
+ <li>
+ <p>
+用于ä¿æŠ¤ CE å’Œ DE 存储区域的密钥:
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-7] 必须以加密形å¼ç»‘定到有硬件支æŒçš„密钥存储区。
+ </p>
+ </li>
+ <li>[C-1-8] CE 密钥必须绑定到用户的é”定å±å¹•å‡­æ®ã€‚
+ </li>
+ <li>[C-1-9] 如果用户未指定é”定å±å¹•å‡­æ®ï¼Œåˆ™ CE 密钥必须绑定到默认密ç ã€‚
+ </li>
+ <li>
+ <p>
+[C-1-10] 必须是独一无二的,也就是说,任何用户的 CE 或 DE 密钥都ä¸èƒ½ä¸Žå…¶ä»–用户的 CE 或 DE 密钥一致。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-11] 默认情况下必须使用强制支æŒçš„加密方å¼ã€å¯†é’¥é•¿åº¦å’Œæ¨¡å¼ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-SR] 强烈建议对文件系统元数æ®ï¼ˆä¾‹å¦‚文件大å°ã€æ‰€æœ‰æƒã€æ¨¡å¼å’Œæ‰©å±•å±žæ€§ (xattrs))进行加密,并且密钥以加密形å¼ç»‘定到设备的硬件信任根。
+ </p>
+ </li>
+ <li>
+ <p>
+应将预加载的必è¦åº”用(例如闹钟ã€ç”µè¯å’Œ Messenger)设为直接å¯åŠ¨æ„ŸçŸ¥åž‹åº”用。
+ </p>
+ </li>
+ <li>å¯ä»¥æ”¯æŒä½¿ç”¨æ›¿ä»£åŠ å¯†æ–¹å¼ã€å¯†é’¥é•¿åº¦å’Œæ¨¡å¼å¯¹æ–‡ä»¶å†…容和文件å进行加密。
+ </li>
+ </ul>
+ <p>
+上游 Android å¼€æºé¡¹ç›®æ供了该功能的首选实现(基于 Linux 内核 EXT4 加密功能)。
+ </p>
+ <h4 id="9_9_3_full_disk_encryption">
+9.9.3. 全盘加密
+ </h4>
+ <p>
+如果设备实现支æŒ<a href="http://source.android.com/devices/tech/security/encryption/index.html">全盘加密</a> (FDE),则:
+ </p>
+ <ul>
+ <li>[C-1-1] 必须在专用于存储的模å¼ä¸‹ï¼ˆä¾‹å¦‚ XTS 或 CBC-ESSIV)使用 AES,åŒæ—¶åŠ å¯†å¯†é’¥é•¿åº¦ä¸å°‘于 128 ä½ã€‚
+ </li>
+ <li>[C-1-2] 必须使用默认密ç å°è£…加密密钥;在任何情况下,都ä¸å¾—将未ç»åŠ å¯†çš„加密密钥写入到存储空间。
+ </li>
+ <li>[C-1-3] 除éžç”¨æˆ·æ˜Žç¡®é€‰æ‹©åœç”¨ï¼Œå¦åˆ™å¿…须通过已采用慢扩展算法(例如 PBKDF2 或 scrypt)进行扩展的é”定å±å¹•å‡­æ®å¯¹åŠ å¯†å¯†é’¥è¿›è¡Œ AES 加密(除éžåŠ å¯†å¯†é’¥æ­£åœ¨ä½¿ç”¨ä¸­ï¼‰ã€‚
+ </li>
+ <li>[C-1-4] 如果用户未指定é”定å±å¹•å‡­æ®ï¼Œæˆ–å·²åœç”¨ä½¿ç”¨å¯†ç è¿›è¡ŒåŠ å¯†ï¼Œå¹¶ä¸”设备æ供了有硬件支æŒçš„密钥存储区,则上述默认密ç æ‰©å±•ç®—法必须以加密形å¼ç»‘定到该密钥存储区。
+ </li>
+ <li>[C-1-5] ä¸å¾—将加密密钥å‘é€åˆ°è®¾å¤‡ä»¥å¤–çš„ä½ç½®ï¼Œå³ä½¿å·²ä½¿ç”¨ç”¨æˆ·å¯†ç å’Œ/或硬件绑定密钥进行å°è£…也是如此。
+ </li>
+ </ul>
+ <p>
+上游 Android å¼€æºé¡¹ç›®æ供了该功能的首选实现(基于 Linux 内核功能 dm-crypt)。
+ </p>
+ <h3 id="9_10_device_integrity">
+9.10. 设备完整性
+ </h3>
+ <p>
+以下è¦æ±‚旨在确ä¿è®¾å¤‡å®Œæ•´æ€§çŠ¶æ€çš„é€æ˜Žæ€§ã€‚设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须通过系统 API 方法 <code>PersistentDataBlockManager.getFlashLockState()</code> 正确报告其引导加载程åºæ‰€å¤„的状æ€æ˜¯å¦å…许刷写系统映åƒã€‚<code>FLASH_LOCK_UNKNOWN</code> 状æ€ä¸“用于从ä¸å­˜åœ¨è¿™ç§æ–°ç³»ç»Ÿ API 方法的较低 Android 版本进行å‡çº§çš„设备实现。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] 必须支æŒéªŒè¯å¯åŠ¨ä»¥ç¡®ä¿è®¾å¤‡å®Œæ•´æ€§ã€‚
+ </p>
+ </li>
+ </ul>
+ <p>
+如果设备实现已在ä¸æ”¯æŒéªŒè¯å¯åŠ¨çš„情况下使用早期 Android 版本å¯åŠ¨ï¼Œä¸”无法通过系统软件更新æ¥æ·»åŠ å¯¹è¯¥åŠŸèƒ½çš„支æŒï¼Œåˆ™å¯ä»¥ä¸éµå®ˆè¯¥è¦æ±‚。
+ </p>
+ <p>
+验è¯å¯åŠ¨æ˜¯ä¸€é¡¹æ—¨åœ¨ä¿è¯è®¾å¤‡è½¯ä»¶å®Œæ•´æ€§çš„功能。如果设备实现支æŒè¯¥åŠŸèƒ½ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须声明平å°åŠŸèƒ½æ ‡è®° <code>android.software.verified_boot</code>。
+ </li>
+ <li>[C-1-2] 必须对æ¯ä¸ªå¯åŠ¨åºåˆ—执行验è¯ã€‚
+ </li>
+ <li>[C-1-3] 必须从作为信任根的ä¸å¯å˜ç¡¬ä»¶å¯†é’¥å¼€å§‹éªŒè¯ï¼Œä¸€ç›´éªŒè¯åˆ°ç³»ç»Ÿåˆ†åŒºã€‚
+ </li>
+ <li>[C-1-4] 必须实现æ¯ä¸ªéªŒè¯é˜¶æ®µï¼Œä»¥ä¾¿åœ¨æ‰§è¡Œä¸‹ä¸€é˜¶æ®µä¸­çš„代ç ä¹‹å‰ï¼Œå…ˆæ£€æŸ¥ä¸‹ä¸€é˜¶æ®µä¸­æ‰€æœ‰å­—节的完整性和真实性。
+ </li>
+ <li>[C-1-5] 必须使用与 NIST 针对哈希算法 (SHA-256) å’Œå…¬é’¥å¤§å° (RSA-2048) 给出的最新建议一样强大的验è¯ç®—法。
+ </li>
+ <li>[C-1-6] 当系统验è¯å¤±è´¥æ—¶ï¼Œä¸å¾—å…许完æˆå¯åŠ¨ï¼Œé™¤éžç”¨æˆ·åŒæ„ä»ç„¶å°è¯•å¯åŠ¨ï¼Œåœ¨è¿™ç§æƒ…况下,ä¸å¾—使用任何未ç»éªŒè¯çš„存储å—中的数æ®ã€‚
+ </li>
+ <li>[C-1-7] ä¸å¾—å…许修改设备上ç»è¿‡éªŒè¯çš„分区,除éžç”¨æˆ·å·²æ˜Žç¡®è§£é”引导加载程åºã€‚
+ </li>
+ <li>[C-SR] 如果设备中有多个离散芯片(例如无线装置ã€ä¸“门的图片处ç†å™¨ï¼‰ï¼Œå¼ºçƒˆå»ºè®®å…¶ä¸­æ¯ä¸ªèŠ¯ç‰‡çš„å¯åŠ¨è¿›ç¨‹åœ¨å¯åŠ¨æ—¶éªŒè¯æ¯ä¸ªé˜¶æ®µã€‚
+ </li>
+ <li>[C-1-8] 必须使用防篡改的存储空间:用于在引导加载程åºå¤„于解é”状æ€æ—¶å­˜å‚¨ã€‚防篡改的存储空间æ„味ç€ï¼šå¦‚果存储空间在 Android 内被篡改,引导加载程åºå¯ä»¥æ£€æµ‹åˆ°ã€‚
+ </li>
+ <li>[C-1-9] 必须在å…许从引导加载程åºé”定模å¼è½¬æ¢ä¸ºå¼•å¯¼åŠ è½½ç¨‹åºè§£é”模å¼ä¹‹å‰æ示用户(如果他们在使用设备),并è¦æ±‚用户进行物ç†ç¡®è®¤ã€‚
+ </li>
+ <li>[C-1-10] 必须针对 Android 使用的分区(例如å¯åŠ¨ã€ç³»ç»Ÿåˆ†åŒºï¼‰å®žçŽ°å›žæ»šä¿æŠ¤ï¼Œå¹¶ä½¿ç”¨é˜²ç¯¡æ”¹å­˜å‚¨ç©ºé—´å­˜å‚¨ç”¨äºŽç¡®å®šå…许使用的最低æ“作系统版本的元数æ®ã€‚
+ </li>
+ <li>[C-SR] 强烈建议通过根目录在 <code>/system</code> 下的信任链(å—验è¯å¯åŠ¨ä¿æŠ¤ï¼‰éªŒè¯æ‰€æœ‰ç‰¹æƒåº”用 APK 文件。
+ </li>
+ <li>[C-SR] 强烈建议先对特æƒåº”用从其 APK 文件之外加载的所有å¯æ‰§è¡Œè½¯ä»¶å·¥ä»¶ï¼ˆä¾‹å¦‚动æ€åŠ è½½çš„代ç æˆ–编译的代ç ï¼‰è¿›è¡ŒéªŒè¯ï¼Œç„¶åŽå†æ‰§è¡Œè¿™äº›è½¯ä»¶å·¥ä»¶æˆ–根本ä¸æ‰§è¡Œï¼ˆå¼ºçƒˆå»ºè®®é‡‡å–åŽä¸€ç§åšæ³•ï¼‰ã€‚
+ </li>
+ <li>应针对具有æŒä¹…性固件(例如调制解调器ã€æ‘„åƒå¤´ï¼‰çš„任何组件实现回滚ä¿æŠ¤ï¼Œå¹¶ä¸”应使用防篡改存储空间存储用于确定å…许使用的最低版本的元数æ®ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现已在ä¸æ”¯æŒ C-1-8 至 C-1-10 的情况下使用早期 Android 版本å¯åŠ¨ï¼Œä¸”无法通过系统软件更新满足上述è¦æ±‚,则å¯ä»¥ä¸éµå®ˆè¿™äº›è¦æ±‚。
+ </p>
+ <p>
+上游 Android å¼€æºé¡¹ç›®åœ¨ä»£ç åº“ <a href="http://android.googlesource.com/platform/external/avb/"><code>external/avb/</code></a> 中æ供了该功能的首选实现,该实现å¯ä»¥é›†æˆåˆ°ç”¨äºŽåŠ è½½ Android 的引导加载程åºä¸­ã€‚
+ </p>
+ <p>
+如果设备实现报告功能标记 <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_RAM_NORMAL"><code>android.hardware.ram.normal</code></a>,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 必须支æŒéªŒè¯å¯åŠ¨ä»¥ç¡®ä¿è®¾å¤‡å®Œæ•´æ€§ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现已在ä¸æ”¯æŒéªŒè¯å¯åŠ¨çš„情况下使用早期 Android 版本å¯åŠ¨ï¼Œç”±äºŽæ­¤ç±»è®¾å¤‡æ— æ³•é€šè¿‡ç³»ç»Ÿè½¯ä»¶æ›´æ–°æ¥æ”¯æŒè¯¥åŠŸèƒ½ï¼Œå› æ­¤å¯ä»¥ä¸éµå®ˆè¯¥è¦æ±‚。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-R] å»ºè®®æ”¯æŒ <a href="https://developer.android.com/preview/features/security.html#user-confirmation">Android Protected Confirmation API</a>。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ Android Protected Confirmation API,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须针对 <a href="https://developer.android.com/reference/android/security/ConfirmationPrompt.html#isSupported%28android.content.Context%29"><code>ConfirmationPrompt.isSupported()</code></a> API 报告 <code>true</code>。
+ </li>
+ <li>[C-3-2] 必须确ä¿å®‰å…¨ç¡¬ä»¶å®Œå…¨æŽ§åˆ¶æ˜¾ç¤ºå±ï¼Œä½¿ Android æ“作系统无法在未ç»è¿‡å®‰å…¨ç¡¬ä»¶æ£€æµ‹çš„情况下å±è”½è¯¥ç¡¬ä»¶ã€‚
+ </li>
+ <li>[C-3-3] 必须确ä¿å®‰å…¨ç¡¬ä»¶å®Œå…¨æŽ§åˆ¶è§¦æ‘¸å±ã€‚
+ </li>
+ </ul>
+ <h3 id="9_11_keys_and_credentials">
+9.11. 密钥和凭æ®
+ </h3>
+ <p>
+通过 <a href="https://developer.android.com/training/articles/keystore.html">Android Keystore 系统</a>,应用开å‘者å¯ä»¥å°†åŠ å¯†å¯†é’¥å­˜å‚¨åœ¨å®¹å™¨ä¸­ï¼Œå¹¶å¯ä»¥é€šè¿‡ <a href="https://developer.android.com/reference/android/security/KeyChain.html">KeyChain API</a> 或 <a href="https://developer.android.com/reference/java/security/KeyStore.html">Keystore API</a> 在加密æ“作中使用它们。设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须至少å…è®¸å¯¼å…¥æˆ–ç”Ÿæˆ 8192 个密钥。
+ </li>
+ <li>[C-0-2] é”定å±å¹•èº«ä»½éªŒè¯æœºåˆ¶å¿…须对å°è¯•æ¬¡æ•°åŠ ä»¥é™åˆ¶ï¼Œå¹¶é‡‡ç”¨æŒ‡æ•°é€€é¿ç®—法。å°è¯•èº«ä»½éªŒè¯çš„失败次数超过 150 次åŽï¼Œæ¯æ¬¡å°è¯•çš„时间间隔必须至少为 24 å°æ—¶ã€‚
+ </li>
+ <li>ä¸åº”é™åˆ¶å¯ä»¥ç”Ÿæˆçš„密钥数。
+ </li>
+ </ul>
+ <p>
+如果设备实现支æŒå®‰å…¨é”定å±å¹•ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-1-1] 必须通过隔离的执行环境备份密钥存储区实现。
+ </li>
+ <li>[C-1-2] 必须具有 RSAã€AESã€ECDSA å’Œ HMAC åŠ å¯†ç®—æ³•ä»¥åŠ MD5ã€SHA1 å’Œ SHA-2 系列哈希函数的实现,以便在与内核上åŠæ›´ä¸Šé¢è¿è¡Œçš„代ç å®‰å…¨éš”ç¦»çš„åŒºåŸŸä¸­æ­£ç¡®æ”¯æŒ Android Keystore 系统支æŒçš„算法。安全隔离必须能够阻止内核或用户空间代ç å¯èƒ½ä¼šå€Ÿä»¥èŽ·å–隔离环境内部状æ€çš„所有潜在机制,包括 DMA。上游 Android å¼€æºé¡¹ç›® (AOSP) 通过使用 <a href="https://source.android.com/security/trusty/">Trusty</a> 实现æ¥æ»¡è¶³è¯¥è¦æ±‚,但也å¯ä»¥ä½¿ç”¨å…¶ä»–基于 ARM TrustZone 的解决方案,或使用基于管ç†ç¨‹åºçš„适当隔离方法的安全实现(如果已ç»è¿‡ç¬¬ä¸‰æ–¹å®¡æ ¸ï¼‰ã€‚
+ </li>
+ <li>[C-1-3] 必须在隔离的执行环境中执行é”定å±å¹•èº«ä»½éªŒè¯ï¼Œå¹¶ä¸”åªæœ‰åœ¨æˆåŠŸé€šè¿‡éªŒè¯æ—¶ï¼Œæ‰å…许使用与身份验è¯ç»‘定的密钥。é”定å±å¹•å‡­æ®çš„存储方å¼å¿…é¡»åªå…许隔离的执行环境执行é”å±èº«ä»½éªŒè¯ã€‚上游 Android å¼€æºé¡¹ç›®æ供了å¯ç”¨äºŽæ»¡è¶³è¯¥è¦æ±‚çš„ <a href="http://source.android.com/devices/tech/security/authentication/gatekeeper.html">Gatekeeper 硬件抽象层 (HAL)</a> å’Œ Trusty。
+ </li>
+ <li>[C-1-4] 如果认è¯ç­¾å密钥有安全硬件ä¿æŠ¤ï¼Œå¹¶ä¸”ç­¾å是在安全硬件中进行,则必须支æŒå¯†é’¥è®¤è¯ã€‚认è¯ç­¾å密钥必须在足够多的设备之间共享,以防止此类密钥被用作设备标识符。满足该è¦æ±‚的一ç§æ–¹æ³•æ˜¯å…±äº«ç›¸åŒçš„认è¯å¯†é’¥ï¼Œé™¤éžç”Ÿæˆäº†è‡³å°‘ 10 万个å•å…ƒçš„给定 SKU。如果生æˆäº†è¶…过 100 万个å•å…ƒçš„ SKU,则å¯ä»¥é’ˆå¯¹æ¯ 100 万个å•å…ƒä½¿ç”¨ä¸€ä¸ªä¸åŒçš„密钥。
+ </li>
+ <li>[C-1-5] å¿…é¡»å…许用户为从解é”状æ€åˆ°é”定状æ€çš„过渡时间选择休眠超时,å…许的最短超时时间为 15 秒。
+ </li>
+ </ul>
+ <p>
+请注æ„,如果设备实现已使用较低 Android 版本å¯åŠ¨ï¼Œåˆ™æ­¤ç±»è®¾å¤‡æ— éœ€æ»¡è¶³å…·æœ‰ç”±éš”离的执行环境支æŒçš„密钥存储区并支æŒå¯†é’¥è®¤è¯è¿™ä¸€è¦æ±‚,除éžå®ƒå£°æ˜Žäº† <code>android.hardware.fingerprint</code> 功能(该功能需è¦ç”±éš”离的执行环境支æŒçš„密钥存储区)。
+ </p>
+ <h4 id="9_11_1_secure_lock_screen">
+9.11.1. 安全é”定å±å¹•
+ </h4>
+ <p>AOSP 实现éµå¾ªåˆ†å±‚的身份验è¯æ¨¡å¼ï¼Œå…¶ä¸­åŸºäºŽçŸ¥è¯†çš„主è¦èº«ä»½éªŒè¯å¯ç”±å®‰å…¨ç³»æ•°è¾ƒé«˜çš„辅助生物识别技术或安全系数较低的第三模æ€æ供支æŒã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-SR] 强烈建议仅将以下身份验è¯æ–¹æ³•ä¹‹ä¸€è®¾ä¸ºä¸»è¦èº«ä»½éªŒè¯æ–¹æ³•ï¼š
+ <ul>
+ <li>æ•°å­— PIN ç 
+ </li>
+ <li>å­—æ¯æ•°å­—密ç 
+ </li>
+ <li>3x3 点网格上的滑动图案
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+请注æ„,上述身份验è¯æ–¹æ³•åœ¨æœ¬æ–‡æ¡£ä¸­ç§°ä¸ºå»ºè®®çš„主è¦èº«ä»½éªŒè¯æ–¹æ³•ã€‚
+ </p>
+ <p>
+如果设备实现会添加或修改建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ï¼Œå¹¶å°†æ–°çš„身份验è¯æ–¹æ³•ç”¨ä½œå®‰å…¨çš„å±å¹•é”定方å¼ï¼Œåˆ™æ–°çš„身份验è¯æ–¹æ³•ï¼š
+ </p>
+ <ul>
+ <li>[C-2-1] 必须是<a href="https://developer.android.com/training/articles/keystore.html#UserAuthentication">è¦æ±‚进行用户身份验è¯æ‰èƒ½ä½¿ç”¨å¯†é’¥</a>中所述的用户身份验è¯æ–¹æ³•ã€‚
+ </li>
+ <li>[C-2-2] 必须解é”所有密钥,以便在用户解é”安全é”定å±å¹•æ—¶ä¾›ç¬¬ä¸‰æ–¹å¼€å‘者应用使用。例如,必须通过相关 API(例如 <a href="https://developer.android.com/reference/android/app/KeyguardManager.html#createConfirmDeviceCredentialIntent%28java.lang.CharSequence,%20java.lang.CharSequence%29"><code>createConfirmDeviceCredentialIntent</code></a> å’Œ <a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setUserAuthenticationRequired%28boolean%29"><code>setUserAuthenticationRequired</code></a>)使所有密钥都å¯ä¾›ç¬¬ä¸‰æ–¹å¼€å‘者应用使用。
+ </li>
+ </ul>
+ <p>
+如果设备实现会添加或修改用于解é”é”定å±å¹•ä¸”基于已知密钥的身份验è¯æ–¹æ³•ï¼Œå¹¶å°†æ–°çš„身份验è¯æ–¹æ³•è§†ä¸ºå®‰å…¨çš„å±å¹•é”定方å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-3-1] å…许的最短输入内容长度的熵必须大于 10 ä½ã€‚
+ </li>
+ <li>[C-3-2] 所有å¯èƒ½çš„输入内容的最大熵必须大于 18 ä½ã€‚
+ </li>
+ <li>[C-3-3] 新的身份验è¯æ–¹æ³•ä¸å¾—æ›¿æ¢ AOSP 中实现和æ供的任何建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ï¼ˆå³ PIN ç ã€å›¾æ¡ˆæˆ–密ç ï¼‰ã€‚
+ </li>
+ <li>[C-3-4] 当设备政策控制器 (DPC) 应用已通过 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> 方法(具有比 <code>PASSWORD_QUALITY_SOMETHING</code> é™åˆ¶æ€§æ›´å¼ºçš„è´¨é‡å¸¸é‡ï¼‰è®¾ç½®å¯†ç è´¨é‡æ”¿ç­–时,新的身份验è¯æ–¹æ³•å¿…须处于åœç”¨çŠ¶æ€ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现会添加或修改建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä»¥è§£é”é”定å±å¹•ï¼Œå¹¶å°†åŸºäºŽç”Ÿç‰©è¯†åˆ«çš„新身份验è¯æ–¹æ³•è§†ä¸ºå®‰å…¨çš„å±å¹•é”定方å¼ï¼Œåˆ™æ–°çš„身份验è¯æ–¹æ³•ï¼š
+ </p>
+ <ul>
+ <li>[C-4-1] 必须满足<a href="#7_3_10_2_other_biometric_sensors">第 7.3.10.2 节</a>中所述的所有è¦æ±‚。
+ </li>
+ <li>[C-4-2] 必须具有回退机制,以使用建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€ï¼ˆåŸºäºŽå·²çŸ¥å¯†é’¥ï¼‰ã€‚
+ </li>
+ <li>[C-4-3] 当设备政策控制器 (DPC) åº”ç”¨å·²é€šè¿‡è°ƒç”¨å…·æœ‰ç›¸å…³çš„ä»»ä½•ç”Ÿç‰©è¯†åˆ«æ ‡è®°ï¼ˆå³ <code>KEYGUARD_DISABLE_BIOMETRICS</code>ã€<code>KEYGUARD_DISABLE_FINGERPRINT</code>ã€<code>KEYGUARD_DISABLE_FACE</code> 或 <code>KEYGUARD_DISABLE_IRIS</code>)的 <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setKeyguardDisabledFeatures%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setKeyguardDisabledFeatures()</code></a> 方法设置é”å±åŠŸèƒ½æ”¿ç­–时,它们必须处于åœç”¨çŠ¶æ€ï¼Œå¹¶ä¸”ä»…å…许使用建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•è§£é”å±å¹•ã€‚
+ </li>
+ <li>[C-4-4] 必须至少æ¯éš” 72 å°æ—¶å¯¹ç”¨æˆ·è¿›è¡Œä¸€æ¬¡å»ºè®®çš„主è¦èº«ä»½éªŒè¯ï¼ˆä¾‹å¦‚ PIN ç ã€å›¾æ¡ˆã€å¯†ç ï¼‰ã€‚
+ </li>
+ <li>[C-4-5] 必须具有与指纹传感器所需的错误接å—率相等或比åŽè€…更严格的错误接å—率(如<a href="#7_3_10_biometric_sensors">第 7.3.10 节</a>中所述);å¦åˆ™å½“设备政策控制器 (DPC) 应用已通过 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> 方法(具有比 <code>PASSWORD_QUALITY_BIOMETRIC_WEAK</code> é™åˆ¶æ€§æ›´å¼ºçš„è´¨é‡å¸¸é‡ï¼‰è®¾ç½®å¯†ç è´¨é‡æ”¿ç­–时,它们必须处于åœç”¨çŠ¶æ€ï¼Œå¹¶ä¸”ä»…å…许使用建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•è§£é”å±å¹•ã€‚
+ </li>
+ <li>[C-SR] 强烈建议将欺骗和冒å攻击的接å—率设为与指纹传感器所需的接å—率相等或比åŽè€…更严格(如<a href="#7_3_10_biometric_sensors">第 7.3.10 节</a>中所述)。
+ </li>
+ <li>[C-4-6] 必须具有安全的处ç†ç®¡é“,使æ“作系统或内核攻击ä¸èƒ½ç›´æŽ¥æ³¨å…¥æ•°æ®å¹¶å°†æ”»å‡»è€…错误验è¯ä¸ºç”¨æˆ·ã€‚
+ </li>
+ <li>[C-4-7] 必须与明确的确认æ“作(例如按按钮)é…åˆä½¿ç”¨ï¼Œä»¥åœ¨åº”用将 <a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setUserAuthenticationRequired%28boolean%29"><code>KeyGenParameterSpec.Built.setUserAuthenticationRequired()</code></a> 设置为 <code>true</code> 且生物识别处于被动状æ€æ—¶ï¼ˆä¾‹å¦‚é¢éƒ¨æˆ–虹膜没有明显的 Intent ä¿¡å·ï¼‰å…许其访问密钥存储区密钥。
+ </li>
+ <li>[C-SR] 强烈建议妥善ä¿æŠ¤å¤„于被动状æ€çš„生物识别的确认æ“作,使æ“作系统或内核攻击无法欺骗确认æ“作。例如,这æ„味ç€åŸºäºŽç‰©ç†æŒ‰é’®çš„确认æ“作会通过安全元件(无法由按物ç†æŒ‰é’®ä¹‹å¤–的任何其他方å¼è§¦å‘)的仅é™è¾“入通用输入/输出 (GPIO) 引脚进行路由。
+ </li>
+ </ul>
+ <p>
+如果生物识别身份验è¯æ–¹æ³•ä¸ç¬¦åˆ<a href="#7_3_10_biometric_sensors">第 7.3.10 节</a>中所述的欺骗和冒å攻击接å—率,则:
+ </p>
+ <ul>
+ <li>[C-5-1] 当设备政策控制器 (DPC) 应用已通过 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> 方法(具有比 <code>PASSWORD_QUALITY_BIOMETRIC_WEAK</code> é™åˆ¶æ€§æ›´å¼ºçš„è´¨é‡å¸¸é‡ï¼‰è®¾ç½®å¯†ç è´¨é‡æ”¿ç­–时,这些方法必须处于åœç”¨çŠ¶æ€ã€‚
+ </li>
+ <li>[C-5-2] 必须在 4 å°æ—¶çš„待机超时期é™ä¹‹åŽè¿›è¡Œä¸€æ¬¡å»ºè®®çš„主è¦èº«ä»½éªŒè¯ï¼ˆä¾‹å¦‚ PIN ç ã€å›¾æ¡ˆã€å¯†ç ï¼‰ã€‚待机超时期é™å°†åœ¨æ¯æ¬¡æˆåŠŸç¡®è®¤è®¾å¤‡å‡­æ®åŽé‡ç½®ã€‚
+ </li>
+ <li>[C-5-3] 这些方法ä¸å¾—被视为安全的é”å±æ–¹æ³•ï¼Œä¸”必须满足本节下文中以 C-8 开头的è¦æ±‚。
+ </li>
+ </ul>
+ <p>
+如果设备实现会添加或修改用于解é”é”定å±å¹•çš„身份验è¯æ–¹æ³•ï¼Œä¸”新的身份验è¯æ–¹æ³•åŸºäºŽç‰©ç†ä»¤ç‰Œæˆ–ä½ç½®ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-6-1] 必须具有回退机制,以使用建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€ï¼ˆåŸºäºŽå·²çŸ¥å¯†é’¥ï¼Œä¸”满足被视为安全é”定å±å¹•çš„è¦æ±‚)。
+ </li>
+ <li>[C-6-2] 当设备政策控制器 (DPC) 应用已通过 <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setKeyguardDisabledFeatures%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setKeyguardDisabledFeatures(KEYGUARD_DISABLE_TRUST_AGENTS)</code></a> 或 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> 方法(二者具有比 <code>PASSWORD_QUALITY_UNSPECIFIED</code> é™åˆ¶æ€§æ›´å¼ºçš„è´¨é‡å¸¸é‡ï¼‰è®¾ç½®å¯†ç è´¨é‡æ”¿ç­–时,必须åœç”¨æ–°çš„身份验è¯æ–¹æ³•ï¼Œä¸”ä»…å…许使用建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€è§£é”å±å¹•ã€‚
+ </li>
+ <li>[C-6-3] 必须至少æ¯éš” 72 å°æ—¶è¦æ±‚用户通过建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€ï¼ˆä¾‹å¦‚ PIN ç ã€å›¾æ¡ˆã€å¯†ç ï¼‰éªŒè¯èº«ä»½ã€‚
+ </li>
+ <li>[C-6-4] 新的身份验è¯æ–¹æ³•ä¸å¾—被视为安全的é”å±æ–¹æ³•ï¼Œä¸”å¿…é¡»éµå¾ªä¸‹æ–‡ C-8 中所列的é™åˆ¶æ¡ä»¶ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现包å«å®‰å…¨é”定å±å¹•ï¼Œå¹¶ä¸”包å«ä¸€ä¸ªæˆ–多个实现 <code>TrustAgentService</code> System API çš„å¯ä¿¡ä»£ç†ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>[C-7-1] 如果设备é”被推迟或å¯è¢«å¯ä¿¡ä»£ç†è§£é”,则必须在“设置â€èœå•ä¸­å’Œé”定å±å¹•ä¸Šæ˜Žç¡®æŒ‡æ˜Žã€‚例如,AOSP 通过以下方å¼æ»¡è¶³è¯¥è¦æ±‚:在“设置â€èœå•ä¸­æ˜¾ç¤ºæœ‰å…³â€œè‡ªåŠ¨é”定设置â€å’Œâ€œç”µæºæŒ‰é’®å³æ—¶é”定â€çš„文字说明,并在é”定å±å¹•ä¸Šæ˜¾ç¤ºæ˜¾çœ¼çš„图标。
+ </li>
+ <li>[C-7-2] å¿…é¡»éµä»Žå¹¶å®Œæ•´å®žçŽ° <code>DevicePolicyManager</code> 类中的所有å¯ä¿¡ä»£ç† API,例如 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#KEYGUARD&amp;lowbarDISABLE&amp;lowbarTRUST&amp;lowbarAGENTS"><code>KEYGUARD_DISABLE_TRUST_AGENTS</code></a> 常é‡ã€‚
+ </li>
+ <li>[C-7-3] ä¸å¾—在主è¦ä¾›ä¸ªäººä½¿ç”¨çš„设备(例如手æŒè®¾å¤‡ï¼‰ä¸Šå®Œæ•´å®žçŽ° <code>TrustAgentService.addEscrowToken()</code> 功能,但å¯ä»¥åœ¨é€šå¸¸ä¾›å¤šäººå…±äº«çš„设备实现(例如 Android TV 或 Automotive 设备)上完整实现该功能。
+ </li>
+ <li>[C-7-4] 必须对 <code>TrustAgentService.addEscrowToken()</code> 添加的所有存储令牌进行加密。
+ </li>
+ <li>[C-7-5] ä¸å¾—将加密密钥存储在使用该密钥的设备上。例如,å¯ä»¥ä½¿ç”¨å­˜å‚¨åœ¨æ‰‹æœºä¸Šçš„å¯†é’¥è§£é” TV 上的用户å¸å·ã€‚
+ </li>
+ <li>[C-7-6] 在å¯ç”¨ç¬¬ä¸‰æ–¹æ‰˜ç®¡ä»¤ç‰Œä»¥è§£å¯†æ•°æ®å­˜å‚¨ä¹‹å‰ï¼Œå¿…须先将会对安全性造æˆçš„å½±å“通知用户。
+ </li>
+ <li>[C-7-7] 必须具有回退机制,以使用建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€ã€‚
+ </li>
+ <li>[C-7-8] 必须至少æ¯éš” 72 å°æ—¶è¦æ±‚用户通过建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€ï¼ˆä¾‹å¦‚ PIN ç ã€å›¾æ¡ˆã€å¯†ç ï¼‰éªŒè¯èº«ä»½ã€‚
+ </li>
+ <li>[C-7-9] 必须在 4 å°æ—¶çš„待机超时期é™ä¹‹åŽè¦æ±‚用户通过建议的主è¦èº«ä»½éªŒè¯æ–¹æ³•ä¹‹ä¸€ï¼ˆä¾‹å¦‚ PIN ç ã€å›¾æ¡ˆã€å¯†ç ï¼‰éªŒè¯èº«ä»½ã€‚待机超时期é™å°†åœ¨æ¯æ¬¡æˆåŠŸç¡®è®¤è®¾å¤‡å‡­æ®åŽé‡ç½®ã€‚
+ </li>
+ <li>[C-7-10] ä¸å¾—被视为安全的é”å±æ–¹æ³•ï¼Œä¸”å¿…é¡»éµå¾ªä¸‹æ–‡ C-8 中所列的é™åˆ¶æ¡ä»¶ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现会添加或修改用于解é”é”定å±å¹•ï¼ˆå¹¶éžä¸Šè¿°å®‰å…¨é”å±æ–¹å¼ä¸­çš„一ç§ï¼‰çš„身份验è¯æ–¹æ³•ï¼Œå¹¶ä½¿ç”¨æ–°çš„身份验è¯æ–¹æ³•è§£é”键盘é”,则:
+ </p>
+ <ul>
+ <li>[C-8-1] 当设备政策控制器 (DPC) 应用已通过 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> 方法(具有比 <code>PASSWORD_QUALITY_UNSPECIFIED</code> é™åˆ¶æ€§æ›´å¼ºçš„è´¨é‡å¸¸é‡ï¼‰è®¾ç½®å¯†ç è´¨é‡æ”¿ç­–时,新的身份验è¯æ–¹æ³•å¿…须处于åœç”¨çŠ¶æ€ã€‚
+ </li>
+ <li>[C-8-2] ä¸å¾—é‡ç½® <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordExpirationTimeout%28android.content.ComponentName,%20long%29"><code>DevicePolicyManager.setPasswordExpirationTimeout()</code></a> 设置的密ç æœ‰æ•ˆæœŸè®¡æ—¶å™¨ã€‚
+ </li>
+ <li>[C-8-3] 如果应用将 <a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setUserAuthenticationRequired%28boolean%29"><code>KeyGenParameterSpec.Builder.setUserAuthenticationRequired()</code></a> 设置为 <code>true</code>,则ä¸å¾—对密钥存储区的访问进行身份验è¯ã€‚
+ </li>
+ </ul>
+ <h4 id="9_11_2_strongbox">
+9.11.2. StrongBox
+ </h4>
+ <p>
+<a href="https://developer.android.com/training/articles/keystore.html">Android Keystore 系统</a>å…许应用开å‘者将加密密钥存储在专用的安全处ç†å™¨ä»¥åŠä¸Šè¿°éš”离的执行环境中。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-SR] å¼ºçƒˆå»ºè®®æ”¯æŒ StrongBox。
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ StrongBox,则:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须声明 <a href="https://developer.android.com/reference/kotlin/android/content/pm/PackageManager#FEATURE_STRONGBOX_KEYSTORE%3Akotlin.String">FEATURE_STRONGBOX_KEYSTORE</a>。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] å¿…é¡»æ供专用的安全硬件,以支æŒå¯†é’¥å­˜å‚¨åŒºå’Œå®‰å…¨çš„用户身份验è¯ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-3] 必须具有ä¸ä¸Žåº”用处ç†å™¨ (AP) 共享任何缓存ã€DRAMã€å处ç†å™¨æˆ–其他核心资æºçš„独立 CPU。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-4] 必须确ä¿ä¸Ž AP 共享的任何外围设备都ä¸å¾—以任何方å¼æ”¹å˜ StrongBox 处ç†æˆ–从 StrongBox 中获å–任何信æ¯ã€‚AP å¯ä»¥åœç”¨æˆ–å±è”½å¯¹ StrongBox 的访问。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-5] 必须具有准确度在åˆç†èŒƒå›´ (+-10%) 内的内置时钟,且该时钟ä¸å— AP æ“纵。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-6] 必须具有真正的éšæœºå·ç ç”Ÿæˆå™¨ï¼Œè¯¥ç”Ÿæˆå™¨ä¼šç”Ÿæˆå‡åŒ€åˆ†å¸ƒä¸”ä¸å¯é¢„测的输出。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-7] 必须具有防篡改功能,包括防物ç†æ¸—é€å’Œå¹²æ‰°ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-8] 必须能够抗边信é“攻击,包括防止通过电æºã€å®šæ—¶å™¨ã€ç”µç£è¾å°„和热è¾å°„边信é“泄露信æ¯ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-9] 必须具有安全存储空间,以确ä¿å†…容的机密性ã€å®Œæ•´æ€§ã€çœŸå®žæ€§ã€ä¸€è‡´æ€§å’Œæ–°é²œåº¦ã€‚除éžç»è¿‡ StrongBox API å…许,å¦åˆ™ä¸å¾—读å–或更改存储内容。
+ </p>
+ </li>
+ <li>
+ <p>
+è¦éªŒè¯å¯¹ [C-1-3] 到 [C-1-9] çš„éµä»Žæ€§ï¼Œè®¾å¤‡å®žçŽ°ï¼š
+ </p>
+ <ul>
+ <li>[C-1-10] 包å«çš„硬件必须ç»è¿‡ Secure IC Protection Profile <a href="https://www.commoncriteriaportal.org/files/ppfiles/pp0084b_pdf.pdf">BSI-CC-PP-0084-2014</a> 认è¯æˆ–通过国家认å¯çš„测试实验室的评估,以åŠæ ¹æ® <a href="https://www.commoncriteriaportal.org/files/supdocs/CCDB-2013-05-002.pdf">Common Criteria Application of Attack Potential to Smartcards</a> 进行的高攻击性潜在æ¼æ´žè¯„估。
+ </li>
+ <li>[C-1-11] 包å«çš„固件必须通过国家认å¯çš„测试实验室的评估,以åŠæ ¹æ® <a href="https://www.commoncriteriaportal.org/files/supdocs/CCDB-2013-05-002.pdf">Common Criteria Application of Attack Potential to Smartcards</a> 进行的高攻击性潜在æ¼æ´žè¯„估。
+ </li>
+ <li>[C-SR] 强烈建议使包å«çš„硬件通过安全目标ã€å®‰å…¨è¯„估等级 (EAL) 5(由 AVA_VAN.5 增强)的评估。EAL 5 认è¯åœ¨æœªæ¥ç‰ˆæœ¬ä¸­å¾ˆå¯èƒ½ä¼šæˆä¸ºä¸€é¡¹è¦æ±‚。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-SR] 强烈建议æ供防内部人员攻击 (IAR) 功能,这æ„味ç€æœ‰æƒè®¿é—®å›ºä»¶ç­¾å密钥的内部人员无法生æˆå¯¼è‡´ StrongBox 泄露密钥的固件,æ¥ç»•è¿‡åŠŸèƒ½å®‰å…¨è¦æ±‚或以其他方å¼è®¿é—®æ•æ„Ÿçš„用户数æ®ã€‚IAR 的建议实现方法是仅在通过 IAuthSecret HAL æ供主è¦ç”¨æˆ·å¯†ç æ—¶æ‰å…许固件更新。IAR 在未æ¥ç‰ˆæœ¬ä¸­å¾ˆå¯èƒ½ä¼šæˆä¸ºä¸€é¡¹è¦æ±‚。
+ </p>
+ </li>
+ </ul>
+ <h3 id="9_12_data_deletion">
+9.12. æ•°æ®åˆ é™¤
+ </h3>
+ <p>
+所有设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须为用户æ供一ç§ç”¨äºŽæ‰§è¡Œâ€œæ¢å¤å‡ºåŽ‚设置â€çš„机制。
+ </li>
+ <li>[C-0-2] 必须删除所有由用户生æˆçš„æ•°æ®ï¼Œå³é™¤ä»¥ä¸‹å„项以外的所有数æ®ï¼š
+ <ul>
+ <li>系统映åƒ
+ </li>
+ <li>系统映åƒæ‰€éœ€çš„所有æ“作系统文件
+ </li>
+ </ul>
+ </li>
+ <li>[C-0-3] 必须采用符åˆç›¸å…³è¡Œä¸šæ ‡å‡†ï¼ˆä¾‹å¦‚ NIST SP800-88)的方å¼åˆ é™¤æ•°æ®ã€‚
+ </li>
+ <li>[C-0-4] 当主è¦ç”¨æˆ·çš„设备政策控制器应用调用 <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#wipeData%28int%29"><code>DevicePolicyManager.wipeData()</code></a> API 时,必须触å‘上述“æ¢å¤å‡ºåŽ‚设置â€æµç¨‹ã€‚
+ </li>
+ <li>å¯ä»¥æ供仅会执行逻辑数æ®æ¸…空æ“作的快速数æ®æ“¦é™¤åŠŸèƒ½ã€‚
+ </li>
+ </ul>
+ <h3 id="9_13_safe_boot_mode">
+9.13. 安全å¯åŠ¨æ¨¡å¼
+ </h3>
+ <p>
+Android æ供了安全å¯åŠ¨æ¨¡å¼ï¼Œå¯è®©ç”¨æˆ·å¯åŠ¨åˆ°ä»…å…许è¿è¡Œé¢„安装的系统应用而åœç”¨æ‰€æœ‰ç¬¬ä¸‰æ–¹åº”用的模å¼ã€‚è¿™ç§æ¨¡å¼ç§°ä¸ºâ€œå®‰å…¨å¯åŠ¨æ¨¡å¼â€ï¼Œå®ƒå¯ä»¥è®©ç”¨æˆ·å¸è½½æ½œåœ¨æœ‰å®³çš„第三方应用。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[SR] 强烈建议实现安全å¯åŠ¨æ¨¡å¼ã€‚
+ </li>
+ </ul>
+ <p>
+如果设备实现已实现安全å¯åŠ¨æ¨¡å¼ï¼Œåˆ™ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-1-1] 必须为用户æ供一个进入安全å¯åŠ¨æ¨¡å¼çš„选项,并确ä¿åœ¨è¿›å…¥è¯¥æ¨¡å¼æ—¶ä¸ä¼šè¢«è®¾å¤‡ä¸Šå®‰è£…的第三方应用中断,除éžç¬¬ä¸‰æ–¹åº”用是设备政策控制器,并且已将 <a href="https://developer.android.com/reference/android/os/UserManager.html#DISALLOW_SAFE_BOOT"><code>UserManager.DISALLOW_SAFE_BOOT</code></a> 标记设为 true。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-1-2] 必须让用户能够在安全模å¼ä¸‹å¸è½½ä»»ä½•ç¬¬ä¸‰æ–¹åº”用。
+ </p>
+ </li>
+ <li>
+ <p>
+应为用户æ供一个用于从å¯åŠ¨èœå•è¿›å…¥å®‰å…¨å¯åŠ¨æ¨¡å¼çš„选项(采用的工作æµç¨‹ä¸åŒäºŽæ­£å¸¸å¯åŠ¨æ—¶çš„工作æµç¨‹ï¼‰ã€‚
+ </p>
+ </li>
+ </ul>
+ <h3 id="9_14_automotive_vehicle_system_isolation">
+9.14. Automotive 车载系统隔离
+ </h3>
+ <p>
+Android Automotive 设备应使用<a href="http://source.android.com/devices/automotive.html">车载 HAL</a> 与关键车载å­ç³»ç»Ÿäº¤æ¢æ•°æ®ï¼Œä»¥ä¾¿é€šè¿‡è½¦è½½ç½‘络(如 CAN 总线)收å‘消æ¯ã€‚
+ </p>
+ <p>
+å¯ä»¥é€šè¿‡ä»¥ä¸‹æ–¹å¼ä¿æŠ¤æ•°æ®äº¤æ¢çš„安全性:在 Android 框架层以下实现安全功能,以防止与这些å­ç³»ç»Ÿè¿›è¡Œæ¶æ„交互或æ„外交互。
+ </p>
+ <h3 id="9_15_subscription_plans">
+9.15. 订阅套é¤
+ </h3>
+ <p>
+“订阅套é¤â€æ˜¯æŒ‡ç§»åŠ¨è¿è¥å•†é€šè¿‡ <a href="https://developer.android.com/reference/android/telephony/SubscriptionManager.html#setSubscriptionPlans%28int,%20java.util.List%3Candroid.telephony.SubscriptionPlan%3E%29"><code>SubscriptionManager.setSubscriptionPlans()</code></a> æ供的结算关系套é¤è¯¦æƒ…。
+ </p>
+ <p>
+所有设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须仅将订阅套é¤è¿”回给最åˆæ供它们的移动è¿è¥å•†åº”用。
+ </li>
+ <li>[C-0-2] ä¸å¾—远程备份或上传订阅套é¤ã€‚
+ </li>
+ <li>[C-0-3] å¿…é¡»åªå…许当å‰æ供有效订阅套é¤çš„移动è¿è¥å•†åº”用进行替æ¢ï¼Œä¾‹å¦‚ <a href="https://developer.android.com/reference/android/telephony/SubscriptionManager.html#setSubscriptionOverrideCongested%28int,%20boolean,%20long%29"><code>SubscriptionManager.setSubscriptionOverrideCongested()</code></a>。
+ </li>
+ </ul>
+ <h2 id="10_software_compatibility_testing">
+10. 软件兼容性测试
+ </h2>
+ <p>
+设备实现必须通过本节中所述的所有测试。ä¸è¿‡è¯·æ³¨æ„,任何软件测试包都ä¸æ˜¯è¯¦å°½æ— é—的。因此,<strong>强烈建议</strong>设备实现者尽å¯èƒ½é¿å…对å¯ä»Ž Android å¼€æºé¡¹ç›®èŽ·å¾—çš„ Android å‚考实现和首选实现进行更改。这样有助于最大é™åº¦åœ°é™ä½Žå¼•å…¥é”™è¯¯çš„风险,从而é¿å…由此造æˆéœ€è¦è¿›è¡Œè¿”工和潜在设备更新的ä¸å…¼å®¹é—®é¢˜ã€‚
+ </p>
+ <h3 id="10_1_compatibility_test_suite">
+10.1. 兼容性测试套件
+ </h3>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 必须通过 Android å¼€æºé¡¹ç›®æ供的 <a href="http://source.android.com/compatibility/index.html">Android 兼容性测试套件 (CTS)</a> 的测试(使用设备上最终交付的软件)。
+ </p>
+ </li>
+ <li>
+ <p>
+[C-0-2] 对于 CTS 中ä¸æ˜Žç¡®çš„情况,以åŠå‚考æºä»£ç ä¸­éƒ¨åˆ†å†…容的任何é‡æ–°å®žçŽ°ï¼Œéƒ½å¿…须确ä¿å…¼å®¹æ€§ã€‚
+ </p>
+ </li>
+ </ul>
+ <p>
+CTS 能够在实际设备上è¿è¡Œã€‚与所有软件一样,CTS 自身也å¯èƒ½åŒ…å«é”™è¯¯ã€‚CTS 的版本å‘布独立于本兼容性定义,我们å¯èƒ½ä¼šé’ˆå¯¹ Android 9 å‘布多个 CTS 修订版本。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>
+ <p>
+[C-0-3] 必须通过设备软件å‘布时å¯ç”¨çš„最新 CTS 版本的测试。
+ </p>
+ </li>
+ <li>
+ <p>
+应尽å¯èƒ½å¤šåœ°ä½¿ç”¨ Android 开放æºä»£ç æ ‘中的å‚考实现。
+ </p>
+ </li>
+ </ul>
+ <h3 id="10_2_cts_verifier">
+10.2. CTS 验è¯ç¨‹åº
+ </h3>
+ <p>
+CTS 验è¯ç¨‹åºåŒ…å«åœ¨å…¼å®¹æ€§æµ‹è¯•å¥—件中,以便人工æ“作员è¿è¡Œè¯¥éªŒè¯ç¨‹åºæ¥æµ‹è¯•æ— æ³•ç”±è‡ªåŠ¨åŒ–系统测试的功能(例如,测试摄åƒå¤´å’Œä¼ æ„Ÿå™¨èƒ½å¦æ­£å¸¸å·¥ä½œï¼‰ã€‚
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-1] 必须正确执行 CTS 验è¯ç¨‹åºä¸­çš„所有适用用例。
+ </li>
+ </ul>
+ <p>
+CTS 验è¯ç¨‹åºä¸­åŒ…å«é’ˆå¯¹å¤šç§ç¡¬ä»¶ï¼ˆå…¶ä¸­åŒ…括一些选é…硬件)的测试。
+ </p>
+ <p>
+设备实现:
+ </p>
+ <ul>
+ <li>[C-0-2] 必须通过针对其具备的硬件的所有测试;例如,如果æŸå°è®¾å¤‡å…·å¤‡åŠ é€Ÿåº¦è®¡ï¼Œåˆ™å¿…须正确执行 CTS 验è¯ç¨‹åºä¸­çš„加速度计测试用例。
+ </li>
+ </ul>
+ <p>
+对于本兼容性定义文档中注明为选é…的功能,å¯è·³è¿‡æˆ–çœç•¥ç›¸åº”的测试用例。
+ </p>
+ <ul>
+ <li>[C-0-2] 如上所述,æ¯ç§è®¾å¤‡å’Œæ¯ä¸ªç»†åˆ†ç‰ˆæœ¬éƒ½å¿…须正确è¿è¡Œ CTS 验è¯ç¨‹åºã€‚ä¸è¿‡ï¼Œç”±äºŽå¾ˆå¤šç»†åˆ†ç‰ˆæœ¬éžå¸¸ç›¸ä¼¼ï¼Œå› æ­¤è®¾å¤‡å®žçŽ°äººå‘˜ä¸ä¼šå¯¹åªæœ‰ç»†å¾®å·®åˆ«çš„细分版本明确地è¿è¡Œ CTS 验è¯ç¨‹åºã€‚具体而言,如果设备实现与æŸä¸ªå·²é€šè¿‡ CTS 验è¯ç¨‹åºæµ‹è¯•çš„实现åªæ˜¯åœ¨æ‰€åŒ…å«çš„语言区域ã€å“牌信æ¯ç­‰æ–¹é¢å­˜åœ¨å·®åˆ«ï¼Œåˆ™å¯ä»¥çœç•¥ CTS 验è¯ç¨‹åºæµ‹è¯•ã€‚
+ </li>
+ </ul>
+ <h2 id="11_updatable_software">
+11. å¯æ›´æ–°è½¯ä»¶
+ </h2>
+ <ul>
+ <li>
+ <p>
+[C-0-1] 设备实现必须包å«å¯ç”¨äºŽæ›¿æ¢æ•´ä¸ªç³»ç»Ÿè½¯ä»¶çš„机制。该机制ä¸éœ€è¦æ‰§è¡Œâ€œå®žæ—¶â€å‡çº§ - 也就是说,å¯èƒ½éœ€è¦é‡æ–°å¯åŠ¨è®¾å¤‡ã€‚å¯ä»¥ä½¿ç”¨ä»»ä½•æ–¹æ³•ï¼Œä½†å‰æ是该方法å¯ä»¥æ›¿æ¢è®¾å¤‡ä¸Šé¢„安装的整个软件。例如,以下任何方法都å¯ä»¥æ»¡è¶³è¯¥è¦æ±‚:
+ </p>
+ <ul>
+ <li>“无线下载 (OTA)â€ï¼ˆé€šè¿‡é‡æ–°å¯åŠ¨è¿›è¡Œç¦»çº¿æ›´æ–°ï¼‰ã€‚
+ </li>
+ <li>从主机 PC 上通过 USB 进行“网络共享â€æ›´æ–°ã€‚
+ </li>
+ <li>通过é‡æ–°å¯åŠ¨è¿›è¡Œâ€œç¦»çº¿â€æ›´æ–°ï¼Œä»¥åŠé€šè¿‡å¯ç§»åŠ¨å­˜å‚¨è®¾å¤‡ä¸Šçš„文件进行更新。
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+[C-0-2] 使用的更新机制必须支æŒåœ¨ä¸æ“¦é™¤ç”¨æˆ·æ•°æ®çš„情况下进行更新。也就是说,更新机制必须ä¿ç•™åº”用éšç§æ•°æ®å’Œåº”用共享数æ®ã€‚请注æ„,上游 Android 软件包å«æ»¡è¶³è¯¥è¦æ±‚的更新机制。
+ </p>
+ </li>
+ </ul>
+ <p>
+å¦‚æžœè®¾å¤‡å®žçŽ°æ”¯æŒ 802.11 或è“牙 PAN(个人局域网)é…置等ä¸æŒ‰æµé‡è®¡è´¹çš„æ•°æ®ç½‘络连接,则:
+ </p>
+ <ul>
+ <li>[C-1-1] å¿…é¡»æ”¯æŒ (OTA) 下载(通过é‡æ–°å¯åŠ¨è¿›è¡Œç¦»çº¿æ›´æ–°ï¼‰ã€‚
+ </li>
+ </ul>
+ <p>
+对于æ­è½½ Android 6.0 åŠæ›´é«˜ç‰ˆæœ¬çš„设备实现,更新机制应支æŒåœ¨ OTA 之åŽéªŒè¯ç³»ç»Ÿæ˜ åƒæ˜¯å¦ä¸ºä¸Žé¢„期结果完全相åŒçš„二进制文件。上游 Android å¼€æºé¡¹ç›®ä¸­åŸºäºŽå—çš„ OTA 实现(从 Android 5.1 开始添加了此实现)å¯æ»¡è¶³è¯¥è¦æ±‚。
+ </p>
+ <p>
+æ­¤å¤–ï¼Œè®¾å¤‡å®žçŽ°è¿˜åº”æ”¯æŒ <a href="https://source.android.com/devices/tech/ota/ab_updates.html">A/B 系统更新</a>。AOSP 使用å¯åŠ¨æŽ§ä»¶ HAL 实现了该功能。
+ </p>
+ <p>
+在设备实现å‘布åŽï¼Œå¦‚果在其åˆç†çš„产å“生命周期内å‘现其中存在错误,并且ç»ä¸Ž Android 兼容性团队磋商åŽç¡®å®šè¯¥é”™è¯¯ä¼šå½±å“第三方应用的兼容性,则:
+ </p>
+ <ul>
+ <li>[C-2-1] 设备实现者必须通过å¯æŒ‰ä¸Šè¿°æœºåˆ¶åº”用的å¯ç”¨è½¯ä»¶æ›´æ–°æ¥æ›´æ­£è¯¥é”™è¯¯ã€‚
+ </li>
+ </ul>
+ <p>
+Android 包å«ä¸€äº›å¯è®©è®¾å¤‡æ‰€æœ‰è€…应用(如果存在)控制系统更新安装的功能。如果设备的系统更新å­ç³»ç»ŸæŠ¥å‘Š android.software.device_admin,则:
+ </p>
+ <ul>
+ <li>[C-3-1] 必须实现 <a href="http://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.html">SystemUpdatePolicy</a> 类中所述的行为。
+ </li>
+ </ul>
+ <h2 id="12_document_changelog">
+12. 文档更改日志
+ </h2>
+ <p>
+有关对此版本中的兼容性定义所åšæ›´æ”¹çš„摘è¦ï¼Œè¯·å‚阅:
+ </p>
+ <ul>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/?pretty=full&amp;no-merges">文档更改日志</a>
+ </li>
+ </ul>
+ <p>
+有关对å„节所åšæ›´æ”¹çš„摘è¦ï¼Œè¯·å‚阅:
+ </p>
+ <ol>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/1_introduction?pretty=full&amp;no-merges">简介</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/2_device_types?pretty=full&amp;no-merges">设备类型</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/3_software?pretty=full&amp;no-merges">软件</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/4_application-packaging?pretty=full&amp;no-merges">应用打包</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/5_multimedia?pretty=full&amp;no-merges">多媒体</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/6_dev-tools-and-options?pretty=full&amp;no-merges">å¼€å‘者工具和选项</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/7_hardware-compatibility?pretty=full&amp;no-merges">硬件兼容性</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/8_performance-and-power?pretty=full&amp;no-merges">性能和功耗</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/9_security-model?pretty=full&amp;no-merges">安全模型</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/10_software-compatibility-testing?pretty=full&amp;no-merges">软件兼容性测试</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/11_updatable-software?pretty=full&amp;no-merges">å¯æ›´æ–°è½¯ä»¶</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/12_document-changelog?pretty=full&amp;no-merges">文档更改日志</a>
+ </li>
+ <li>
+ <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/pie-dev/13_contact-us?pretty=full&amp;no-merges">与我们è”ç³»</a>
+ </li>
+ </ol>
+ <h3 id="12_1_changelog_viewing_tips">
+12.1. 更改日志查看æ示
+ </h3>
+ <p>
+更改采用以下标记方å¼ï¼š
+ </p>
+ <ul>
+ <li>
+ <p>
+ <strong>CDD</strong><br />
+对兼容性è¦æ±‚所åšçš„é‡å¤§æ›´æ”¹ã€‚
+ </p>
+ </li>
+ <li>
+ <p>
+ <strong>文档</strong><br />
+与美观性或细分版本相关的更改。
+ </p>
+ </li>
+ </ul>
+ <p>
+为了最便æ·åœ°æŸ¥çœ‹ç›¸å…³æ›´æ”¹ï¼Œè¯·å°† <code>pretty=full</code> å’Œ <code>no-merges</code> 网å€å‚数附加到更改日志网å€ã€‚
+ </p>
+ <h2 id="13_contact_us">
+13. 与我们è”ç³»
+ </h2>
+ <p>
+您å¯ä»¥åŠ å…¥ <a href="https://groups.google.com/forum/#!forum/android-compatibility">android-compatibility 论å›</a>,å‘帖咨询或æ出您认为本文档未涵盖的任何问题。
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/zh-cn/compatibility/cts/camera-its-box-assembly.html b/zh-cn/compatibility/cts/camera-its-box-assembly.html
index b5c1a758..dc4e11ed 100644
--- a/zh-cn/compatibility/cts/camera-its-box-assembly.html
+++ b/zh-cn/compatibility/cts/camera-its-box-assembly.html
@@ -41,7 +41,7 @@
<p class="caption"><strong>图 1</strong>. 盒装 ITS 的 CAD 图纸。</p>
<h3>所需工具</h3>
-<p>在开始之å‰ï¼Œè¯·ç¡®ä¿æ‚¨å·²<a href="camera_its_iab_tech_drawings.zip">下载盒装 ITS 的技术图纸</a>,并准备好以下工具:</p>
+<p>在开始之å‰ï¼Œè¯·ç¡®ä¿æ‚¨å·²<a href="rfov_its_box_assembly_1_3.zip">下载盒装 ITS 的技术图纸</a>,并准备好以下工具:</p>
<ul>
<li>å字头螺ä¸åˆ€</li>
<li>é’³å­</li>
diff --git a/zh-cn/compatibility/cts/camera-wfov-box-assembly.html b/zh-cn/compatibility/cts/camera-wfov-box-assembly.html
index 0c56bb67..a3396263 100644
--- a/zh-cn/compatibility/cts/camera-wfov-box-assembly.html
+++ b/zh-cn/compatibility/cts/camera-wfov-box-assembly.html
@@ -52,7 +52,7 @@ sales@myway.tw</li>
<h3 id="required_tools">所需工具</h3>
-<p>在开始之å‰ï¼Œè¯·ç¡®ä¿æ‚¨å·²ä¸‹è½½ <a href="/compatibility/cts/wfov_its_box_assembly_2.6.zip">WFoV 盒装 ITS 的技术图纸</a>ã€å·²åˆ‡å¥½å¡‘料和乙烯基元件ã€å·²æŒ‰ç…§ BOM 购买硬件,并准备好以下工具:</p>
+<p>首先,请下载最新的 <a href="/compatibility/cts/wfov_its_box_assembly_2_7.zip">WFoV 盒装 ITS 的技术图纸</a>ã€åˆ‡å¥½å¡‘料和乙烯基元件ã€æŒ‰ç…§ç‰©æ–™æ¸…å• (BOM) 购买硬件,并准备好以下工具:</p>
<ul>
<li>å字头螺ä¸åˆ€</li>
@@ -62,7 +62,7 @@ sales@myway.tw</li>
<li>喷壶</li>
<li>美工刀</li>
</ul>
-
+<aside class="note"><strong>注æ„</strong>:<span>如需详细了解以往版本,请å‚阅<a href="#revision_history">修订历å²è®°å½•</a>。</span></aside>
<h3 id="step_1_apply_colored_vinyl">第 1 步:贴彩色乙烯基膜</h3>
<p>è¦è´´å½©è‰²ä¹™çƒ¯åŸºè†œï¼Œè¯·æ‰§è¡Œä»¥ä¸‹æ“作:</p>
@@ -199,4 +199,40 @@ sales@myway.tw</li>
<p><strong>图 22. </strong> 组装好的 WFoV 盒:åŽè§†å›¾ï¼ˆå·¦ï¼‰å’Œå‰è§†å›¾ï¼ˆå³ï¼‰</p></li>
</ol>
+<h3 id="revision_history">修订历å²è®°å½•</h3>
+
+<p>下é¢ä»‹ç»äº†å¯¹ WFoV 盒装 ITS 所åšçš„更改。</p>
+
+<h4 id="revision_27">修订版 2.7</h4>
+
+<ul>
+<li>å°† BOM ä¸­çš„ç¯ (#16) æ¢æˆäº†é€šè¿‡ç¾Žå›½ UL 认è¯çš„ LED ç¯å¸¦ï¼Œä»¥ä¾¿åœ¨åˆ¶é€ æ–¹é¢å®žçŽ°æ›´å¥½çš„一致性。</li>
+<li>å°† BOM ä¸­çš„ç”µæº (#17) æ¢æˆäº†ä¸Ž #16 相åŒçš„电æºã€‚</li>
+<li>将平æ¿ç”µè„‘底座加宽了 35 毫米,以匹é…å¹³æ¿ç”µè„‘çš„å¼€å£ï¼ˆæœºæ¢°åˆ¶å›¾ä¸Šç¬¬ 4 页)</li>
+<li>修改了å‰å¤¹é’³å­”çš„é—´è·ï¼ˆè·ç¦»ï¼‰ï¼Œä»¥ä¸Žå¤¹é’³æ§½çš„长度ä¿æŒä¸€è‡´ï¼ˆæœºæ¢°åˆ¶å›¾ä¸Šç¬¬ 5 页)</li>
+<li>å°†å‰ç«¯åœ†å­”的直径å‡å°‘了 20 æ¯«ç±³ï¼Œä»¥åŒ¹é… <a href="/compatibility/cts/camera-its-box-assembly">RFoV 盒装 ITS(修订版 1)</a>(机械制图上第 5 页)</li>
+</ul>
+
+<h4 id="revision_26_released_internally">修订版 2.6(内部å‘布)</h4>
+
+<ul>
+<li>对机械制图进行了校正</li>
+</ul>
+
+<h4 id="revision_25">修订版 2.5</h4>
+
+<ul>
+<li>简化了平æ¿ç”µè„‘固定支架,使其类似于手机底座</li>
+<li>采用喷砂磨光(原为阳æžåŒ–抛光),以é™ä½Žæˆæœ¬</li>
+<li>修正了 BOM 上 LED ç¯çš„规格</li>
+</ul>
+
+<h4 id="revision_24">修订版 2.4</h4>
+
+<ul>
+<li>使用 ABS æ料(原为丙烯酸æ料),以å‡å°‘è¿è¾“æŸä¼¤</li>
+<li>移除了 3D 打å°å…ƒä»¶ï¼Œå¹¶ç”¨æ¿€å…‰åˆ‡å‰² ABS å–代它们,以é™ä½Žæˆæœ¬</li>
+<li>将盒å­æ‰‹æŸ„改为使用 ABS,手柄ä¸å†æ˜¯ BOM 上需è¦å•ç‹¬è´­ä¹°çš„器件</li>
+</ul>
+
</body></html> \ No newline at end of file
diff --git a/zh-cn/compatibility/cts/downloads.html b/zh-cn/compatibility/cts/downloads.html
index ffcff01f..9b70e4ee 100644
--- a/zh-cn/compatibility/cts/downloads.html
+++ b/zh-cn/compatibility/cts/downloads.html
@@ -23,50 +23,50 @@
<p>感谢您对 Android 兼容性计划的关注ï¼æ‚¨å¯ä»¥é€šè¿‡ä»¥ä¸‹é“¾æŽ¥è®¿é—®å…³äºŽè¯¥è®¡åˆ’çš„é‡è¦æ–‡æ¡£å’Œä¿¡æ¯ã€‚éšç€ CTS 的更新,此网页上会陆续添加新的版本。CTS 版本在链接å称中由 R&lt;æ•°å­—&gt; 表示。</p>
<h2 id="android-90">Android 9</h2>
-<p>Android 9 是代å·ä¸º P çš„å¼€å‘里程碑版本。以下测试(包括针对å…安装应用的测试)的æºä»£ç å¯ä»¥ä¸Žå¼€æºä»£ç æ ‘中的“android-cts-9.0_r2â€æ ‡è®°åŒæ­¥ã€‚</p>
+<p>Android 9 是代å·ä¸º P çš„å¼€å‘里程碑版本。以下测试(包括针对å…安装应用的测试)的æºä»£ç å¯ä»¥ä¸Žå¼€æ”¾æºä»£ç æ ‘中的“android-cts-9.0_r3â€æ ‡è®°åŒæ­¥ã€‚</p>
<ul>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-9.0_r2-linux_x86-arm.zip">Android 9.0 R2 兼容性测试套件 (CTS) - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-9.0_r2-linux_x86-x86.zip">Android 9.0 R2 兼容性测试套件 (CTS) - x86</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r2-linux_x86-arm.zip">Android 9.0 R2 CTS 验è¯ç¨‹åº - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r2-linux_x86-x86.zip">Android 9.0 R2 CTS 验è¯ç¨‹åº - x86</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r2-linux_x86-arm.zip">Android 9.0 R2 CTS(适用于å…安装应用)- ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r2-linux_x86-x86.zip">Android 9.0 R2 CTS(适用于å…安装应用)- x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-9.0_r3-linux_x86-arm.zip">Android 9.0 R3 兼容性测试套件 (CTS) - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-9.0_r3-linux_x86-x86.zip">Android 9.0 R3 兼容性测试套件 (CTS) - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r3-linux_x86-arm.zip">Android 9.0 R3 CTS 验è¯ç¨‹åº - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-9.0_r3-linux_x86-x86.zip">Android 9.0 R3 CTS 验è¯ç¨‹åº - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r3-linux_x86-arm.zip">Android 9.0 R3 CTS(适用于å…安装应用)- ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts_instant-9.0_r3-linux_x86-x86.zip">Android 9.0 R3 CTS(适用于å…安装应用)- x86</a></li>
</ul>
<h2 id="android-81">Android 8.1</h2>
-<p>Android 8.1 是代å·ä¸º Oreo-MR1 çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æºä»£ç æ ‘中的“android-cts-8.1_r9â€æ ‡è®°åŒæ­¥ã€‚</p>
+<p>Android 8.1 是代å·ä¸º Oreo-MR1 çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æ”¾æºä»£ç æ ‘中的“android-cts-8.1_r10â€æ ‡è®°åŒæ­¥ã€‚</p>
<ul>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.1_r9-linux_x86-arm.zip">Android 8.1 R9 兼容性测试套件 (CTS) - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.1_r9-linux_x86-x86.zip">Android 8.1 R9 兼容性测试套件 (CTS) - x86</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r9-linux_x86-arm.zip">Android 8.1 R9 CTS 验è¯ç¨‹åº - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r9-linux_x86-x86.zip">Android 8.1 R9 CTS 验è¯ç¨‹åº - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.1_r10-linux_x86-arm.zip">Android 8.1 R10 兼容性测试套件 (CTS) - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.1_r10-linux_x86-x86.zip">Android 8.1 R10 兼容性测试套件 (CTS) - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r10-linux_x86-arm.zip">Android 8.1 R10 CTS 验è¯ç¨‹åº - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.1_r10-linux_x86-x86.zip">Android 8.1 R10 CTS 验è¯ç¨‹åº - x86</a></li>
</ul>
<h2 id="android-80">Android 8.0</h2>
-<p>Android 8.0 是代å·ä¸º Oreo çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æºä»£ç æ ‘中的“android-cts-8.0_r13â€æ ‡è®°åŒæ­¥ã€‚</p>
+<p>Android 8.0 是代å·ä¸º Oreo çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æ”¾æºä»£ç æ ‘中的“android-cts-8.0_r14â€æ ‡è®°åŒæ­¥ã€‚</p>
<ul>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.0_r13-linux_x86-arm.zip">Android 8.0 R13 兼容性测试套件 (CTS) - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.0_r13-linux_x86-x86.zip">Android 8.0 R13 兼容性测试套件 (CTS) - x86</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r13-linux_x86-arm.zip">Android 8.0 R13 CTS 验è¯ç¨‹åº - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r13-linux_x86-x86.zip">Android 8.0 R13 CTS 验è¯ç¨‹åº - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.0_r14-linux_x86-arm.zip">Android 8.0 R14 兼容性测试套件 (CTS) - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-8.0_r14-linux_x86-x86.zip">Android 8.0 R14 兼容性测试套件 (CTS) - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r14-linux_x86-arm.zip">Android 8.0 R14 CTS 验è¯ç¨‹åº - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r14-linux_x86-x86.zip">Android 8.0 R14 CTS 验è¯ç¨‹åº - x86</a></li>
</ul>
<h2 id="android-71">Android 7.1</h2>
-<p>Android 7.1 是代å·ä¸º Nougat-MR1 çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æºä»£ç æ ‘中的“android-cts-7.1_r21â€æ ‡è®°åŒæ­¥ã€‚</p>
+<p>Android 7.1 是代å·ä¸º Nougat-MR1 çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æ”¾æºä»£ç æ ‘中的“android-cts-7.1_r22â€æ ‡è®°åŒæ­¥ã€‚</p>
<ul>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.1_r21-linux_x86-arm.zip">Android 7.1 R21 兼容性测试套件 (CTS) - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.1_r21-linux_x86-x86.zip">Android 7.1 R21 兼容性测试套件 (CTS) - x86</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r21-linux_x86-arm.zip">Android 7.1 R21 CTS 验è¯ç¨‹åº - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r21-linux_x86-x86.zip">Android 7.1 R21 CTS 验è¯ç¨‹åº - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.1_r22-linux_x86-arm.zip">Android 7.1 R22 兼容性测试套件 (CTS) - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.1_r22-linux_x86-x86.zip">Android 7.1 R22 兼容性测试套件 (CTS) - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r22-linux_x86-arm.zip">Android 7.1 R22 CTS 验è¯ç¨‹åº - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r22-linux_x86-x86.zip">Android 7.1 R22 CTS 验è¯ç¨‹åº - x86</a></li>
</ul>
<h2 id="android-70">Android 7.0</h2>
-<p>Android 7.0 是代å·ä¸º Nougat çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æºä»£ç æ ‘中的“android-cts-7.0_r25â€æ ‡è®°åŒæ­¥ã€‚</p>
+<p>Android 7.0 是代å·ä¸º Nougat çš„å¼€å‘里程碑版本。以下测试的æºä»£ç å¯ä»¥ä¸Žå¼€æ”¾æºä»£ç æ ‘中的“android-cts-7.0_r26â€æ ‡è®°åŒæ­¥ã€‚</p>
<ul>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.0_r25-linux_x86-arm.zip">Android 7.0 R25 兼容性测试套件 (CTS) - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.0_r25-linux_x86-x86.zip">Android 7.0 R25 兼容性测试套件 (CTS) - x86</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r25-linux_x86-arm.zip">Android 7.0 R25 CTS 验è¯ç¨‹åº - ARM</a></li>
-<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r25-linux_x86-x86.zip">Android 7.0 R25 CTS 验è¯ç¨‹åº - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.0_r26-linux_x86-arm.zip">Android 7.0 R26 兼容性测试套件 (CTS) - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-7.0_r26-linux_x86-x86.zip">Android 7.0 R26 兼容性测试套件 (CTS) - x86</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r26-linux_x86-arm.zip">Android 7.0 R26 CTS 验è¯ç¨‹åº - ARM</a></li>
+<li><a href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r26-linux_x86-x86.zip">Android 7.0 R26 CTS 验è¯ç¨‹åº - x86</a></li>
</ul>
<h2 id="android-60">Android 6.0</h2>
diff --git a/zh-cn/compatibility/cts/sensor-fusion-box-assembly.html b/zh-cn/compatibility/cts/sensor-fusion-box-assembly.html
index 0a5876c9..592728fa 100644
--- a/zh-cn/compatibility/cts/sensor-fusion-box-assembly.html
+++ b/zh-cn/compatibility/cts/sensor-fusion-box-assembly.html
@@ -18,9 +18,9 @@
limitations under the License.
-->
-<h1 id="sensor_fusion_box_assembly" class="page-title">组装传感器èžåˆç›’</h1>
+<h1 id="sensor_fusion_box_details" class="page-title">传感器èžåˆç›’详细信æ¯</h1>
-<p>本页é€æ­¥ä»‹ç»äº†å¦‚何组装传感器èžåˆç›’。在 CameraITS sensor_fusion 测试和多摄åƒå¤´åŒæ­¥æµ‹è¯•ä¸­ï¼Œéœ€è¦ä½¿ç”¨ä¼ æ„Ÿå™¨èžåˆç›’。它能够æä¾›ä¸€è‡´çš„æµ‹è¯•çŽ¯å¢ƒï¼Œä»¥ä¾¿è¡¡é‡ Android 手机上的摄åƒå¤´å’Œå…¶ä»–传感器的时间戳准确度。传感器èžåˆç›’包å«å¤šä¸ªæ ¹æ®è®¡ç®—机辅助设计 (CAD) 图纸激光切割而æˆçš„塑料盒组件,以åŠä¸€ä¸ªä¼ºæœå™¨æŽ§åˆ¶ç®±ã€‚</p>
+<p>本页æ供了有关如何购买或组装传感器èžåˆç›’çš„ä¿¡æ¯ã€‚在 CameraITS sensor_fusion 测试和多摄åƒå¤´åŒæ­¥æµ‹è¯•ä¸­ï¼Œéœ€è¦ä½¿ç”¨ä¼ æ„Ÿå™¨èžåˆç›’。它能够æä¾›ä¸€è‡´çš„æµ‹è¯•çŽ¯å¢ƒï¼Œä»¥ä¾¿è¡¡é‡ Android 手机上的摄åƒå¤´å’Œå…¶ä»–传感器的时间戳准确度。传感器èžåˆç›’包å«å¤šä¸ªæ ¹æ®è®¡ç®—机辅助设计 (CAD) 图纸激光切割而æˆçš„塑料盒组件,以åŠä¸€ä¸ªä¼ºæœå™¨æŽ§åˆ¶ç®±ã€‚</p>
<p>您å¯ä»¥è´­ä¹°æˆ–自己制作传感器èžåˆç›’。</p>
@@ -32,24 +32,26 @@
<li><em>Acu Spec, Inc.</em><br />
990 Richard Ave, Ste 103, Santa Clara, CA 95050<br />
fred@acuspecinc.com </li>
-<li><em>MYWAY, Inc</em><br />
+<li><em>MYWAY DESIGN</em><br />
å°æ¹¾æ–°åŒ—市ç¦è¥è·¯ 163 å· 4 楼<br />
-sales@myway.tw</li>
+sales@myway.tw<br />
+http://www.myway.tw/</li>
</ul>
<h2 id="building_a_sensor_fusion_box">制作传感器èžåˆç›’</h2>
-<p>这一部分é€æ­¥ä»‹ç»äº†å¦‚何使用激光切割的塑料组件æ¥ç»„装传感器èžåˆç›’(如图 1 所示):</p>
+<p>这一部分é€æ­¥ä»‹ç»äº†å¦‚何使用激光切割的丙烯腈·ä¸äºŒçƒ¯Â·è‹¯ä¹™çƒ¯ (ABS) 组件组装传感器èžåˆç›’(如图 1 所示):</p>
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_box_cad_drawing.png" width="700" alt="传感器èžåˆç›’组件的 CAD 图纸"/><br />
-<strong>图 1.</strong> 传感器èžåˆç›’组件的 CAD 图纸</p>
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_box_cad_drawing.png" width="700" alt="传感器èžåˆç›’组件的 CAD 图纸" class="screenshot"/><br />
+<strong>图 1.</strong> 传感器èžåˆç›’组件的机械图纸</p>
<h3 id="required_tools">所需工具</h3>
-<p>开始之å‰ï¼Œè¯·å…ˆç¡®ä¿æ‚¨å·²ä¸‹è½½ä¼ æ„Ÿå™¨èžåˆç›’的技术图纸(包å«åœ¨ <a href="/compatibility/cts/sensor_fusion_1.4.zip">Sensor Fusion Box zip 文件</a>中),并准备好以下工具:</p>
+<p>开始之å‰ï¼Œè¯·å…ˆç¡®ä¿æ‚¨å·²ä¸‹è½½ä¼ æ„Ÿå™¨èžåˆç›’的技术图纸(包å«åœ¨ <a href="/compatibility/cts/sensor_fusion_1.5.zip">Sensor Fusion Box zip 文件</a>中),并准备好以下工具:</p>
<ul>
<li>å字头螺ä¸åˆ€</li>
+<li>六角扳手</li>
<li>电钻套装</li>
<li>美工刀</li>
<li>胶带</li>
@@ -57,145 +59,141 @@ sales@myway.tw</li>
<h3 id="step_1_apply_vinyl_stickers">第 1 步:贴乙烯基贴纸</h3>
-<p>使用激光切割机制作好塑料组件åŽï¼Œæ‚¨å¯ä»¥ä¸ºå¡‘料盒组件贴上乙烯基贴纸:</p>
+<p>使用激光切割机制作好 ABS 组件åŽï¼Œåœ¨å¡‘料盒上贴上乙烯基贴纸,以便在测试盒内部实现适当的颜色控制:</p>
<ol>
-<li>将乙烯基贴纸贴在 ABS(丙烯脯二乙烯ä¸äºŒçƒ¯æ ‘脂)组件的光滑é¢ä¸Šï¼ˆå¦‚<strong>图 2</strong> 所示)。如需关于如何贴乙烯基贴纸的实用æ示,请å‚阅 <a href="https://www.wikihow.com/Install-a-Vinyl-Graphic" class="external">wikiHow</a>。</li>
-<li><p>在乙烯基贴纸上è£å‡ºå¿…è¦çš„孔。</p>
+<li>将乙烯基贴纸贴在 ABS 组件的光滑é¢ä¸Šï¼ˆå¦‚图 2 所示)。如需关于如何贴乙烯基贴纸的实用æ示,请å‚阅 <a href="https://www.wikihow.com/Install-a-Vinyl-Graphic" class="external">wikiHow</a>。</li>
+<li><p>使用美工刀在乙烯基贴纸上è£å‡ºå¿…è¦çš„孔。</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_abs_pieces.png" width="350" alt="BS 件"/><br />
<strong>图 2.</strong> 光滑é¢ä¸Šè´´å¥½ä¹™çƒ¯åŸºè´´çº¸çš„ ABS 组件(盒内部)</p></li>
</ol>
-<h3 id="step_2_attach_servo">第 2 步:固定伺æœå™¨</h3>
+<h3 id="step_2_prepare_phone_mount_and_attach_servo_mount">第 2 步:准备手机底座并固定伺æœå™¨åº•åº§</h3>
-<p>è¦å›ºå®šä¼ºæœå™¨ï¼Œè¯·æ‰§è¡Œä»¥ä¸‹æ“作:</p>
+<p>è¦å‡†å¤‡æ‰‹æœºåº•åº§ä»¥å›ºå®šåˆ°ä¼ºæœå™¨ä¸Šï¼Œè¯·æ‰§è¡Œä»¥ä¸‹æ“作:</p>
<ol>
-<li><p>在手机夹上攻出 3 个 ¼" - 20 螺纹孔,并在手机夹背é¢åˆ¶ä½œåŸ‹å¤´å­”:
-<table class="columns">
- <tbody><tr>
- <td><img src="/compatibility/cts/images/sensor_fusion_assembly_phone_fixture_holes1.png" width="250" alt="手机夹螺纹孔"/></td>
- <td><img src="/compatibility/cts/images/sensor_fusion_assembly_phone_fixture_holes2.png" width="250" alt="手机夹埋头孔"/></td>
- </tr>
-</tbody></table>
-<strong>图 3.</strong> 显示螺纹孔和埋头孔的手机夹</p></li>
-<li><p>在伺æœå™¨é™„带的较大轴上,用 43 å·é’»å¤´ï¼ˆ2.26 毫米)从两侧最é è¾¹çš„孔中分别钻出一个定ä½å­”,以便用 4-40 螺钉进行固定:</p>
+<li><p>在手机夹上攻出 16 个 ¼" - 20 螺纹孔,并在手机夹背é¢æ‰“出锥å£å­”。</p>
+
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_phone_fixture_holes.png" width="350" alt="手机夹上的孔"/><br />
+<strong>图 3.</strong> 带螺纹孔和锥å£å­”的手机夹</p></li>
+<li><p>在伺æœå™¨é™„带的较大轴上,用 43 å·é’»å¤´ï¼ˆ2.26 毫米)从两侧最é è¾¹çš„孔中分别钻出一个定ä½å­”,使 4-40 螺钉能够从孔中穿过:</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_servo_shaft.png" width="350" alt="伺æœå™¨è½´"/><br />
<strong>图 4.</strong> 两端带有定ä½å­”的伺æœå™¨è½´</p></li>
-<li><p>用 4-40 平头螺钉将轴紧固到手机夹正é¢ï¼š</p>
+<li><p>从手机夹正é¢æ’入并拧紧 4-40 平头螺钉(如图 5 所示),然åŽæ‹§ç´§è½´ï¼ˆå¦‚图 6 所示)。</p>
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_shaft_screws.png" width="350" alt="轴和螺钉"/><br />
-<strong>图 5.</strong> 显示轴和螺钉的手机夹正é¢</p>
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_screws.png" width="350" alt="轴和螺钉"/><br />
+<strong>图 5.</strong> 4-40 平头螺钉</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_shaft.png" width="350" alt="è½´"/><br />
<strong>图 6.</strong> 手机夹背é¢çš„轴(已用从正é¢æ‹§å…¥çš„螺钉紧固)</p></li>
</ol>
-<h3 id="step_3_attach_clamp_rails">第 3 步:固定夹钳和导轨</h3>
+<h3 id="step_3_attach_phone_clamps">第 3 步:固定手机夹</h3>
-<p>è¦å›ºå®šå¤¹é’³å’Œå¯¼è½¨ï¼Œè¯·æ‰§è¡Œä»¥ä¸‹æ“作:</p>
+<p>è¦å›ºå®šæ‰‹æœºå¤¹ï¼Œè¯·æ‰§è¡Œä»¥ä¸‹æ“作:</p>
<ol>
-<li><p>将尼龙手拧螺钉和导线固定在é“制夹钳上,并涂上橡胶粘åˆå‰‚:</p>
+<li><p>将尼龙手拧螺钉和钢ä¸å¼¹ç°§å›ºå®šåœ¨é“制夹钳上,并涂上橡胶粘åˆå‰‚。</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_clamp.png" width="350" alt="涂有橡胶粘åˆå‰‚的夹钳"/><br />
-<strong>图 7.</strong> 涂上橡胶粘åˆå‰‚并固定好手拧螺钉和导线的夹钳</p></li>
-<li><p>将手机夹钳上的手拧螺钉拧入到手机夹的螺纹孔中。</p>
+<strong>图 7.</strong> 涂上橡胶粘åˆå‰‚并固定好手拧螺钉和钢ä¸å¼¹ç°§çš„夹钳</p></li>
+<li><p>将手机夹钳上的手拧螺钉拧入到手机夹的螺纹孔中(如图 8 所示)。您å¯ä»¥æ ¹æ®æ‰‹æœºå¤§å°è°ƒæ•´æ‰‹æœºåº•åº§çš„ä½ç½®ï¼ˆå¦‚图 9 所示)。</p>
<ul>
-<li><p>CAD 图纸:</p>
+<li><p>机械图纸:</p>
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_clamp_attachment_cad_drawing.png" width="450" alt="关于固定夹钳的 CAD 图纸"/><br />
-<strong>图 8.</strong> 夹钳固定在手机夹上的 CAD 图纸</p></li>
-<li><p>夹钳固定在手机夹上的实际效果:</p>
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_clamp_attachment_drawing.png" width="600" alt="关于固定夹钳的 CAD 图纸" class="screenshot"/><br />
+<strong>图 8.</strong> 夹钳固定在手机夹上的机械图纸</p></li>
+<li><p>手机底座固定在手机夹上的效果:</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_assembled_fixture.png" width="350" alt="组装好的手机夹"/><br />
<strong>图 9.</strong> 组装好的手机夹</p></li>
</ul></li>
-<li><p>在盒å­é¡¶éƒ¨å’Œåº•éƒ¨å®‰è£…导轨(æœå‘å‰æ–¹ï¼‰ã€‚下图显示的是将 6-32 螺钉固定在预攻螺纹孔中的效果,但如果需è¦ï¼Œæ‚¨ä¹Ÿå¯ä»¥ä½¿ç”¨è‡ªæ”»èžºé’‰ã€‚</p>
+</ol>
+
+<h3 id="step_4_assemble_sliding_door_rail">第 4 步:组装滑动门导轨</h3>
+
+<ol>
+<li><p>在盒å­é¡¶éƒ¨å’Œåº•éƒ¨å®‰è£…滑动æ¿å¯¼è½¨ï¼ˆæœå‘å‰æ–¹ï¼‰ã€‚图 10 显示的是将 6-32 螺钉固定在预攻螺纹孔中的效果。或者,您也å¯ä»¥ä½¿ç”¨è‡ªæ”»èžºé’‰ã€‚</p>
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_fixed_rail.png" width="350" alt="安装好的导轨"/><br />
-<strong>图 10.</strong> 安装在盒å­é¡¶éƒ¨å’Œåº•éƒ¨çš„导轨</p></li>
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_fixed_rail.png" width="450" alt="安装好的导轨"/><br />
+<strong>图 10.</strong> 安装在盒å­é¡¶éƒ¨å’Œåº•éƒ¨çš„滑动æ¿å¯¼è½¨</p></li>
</ol>
-<h3 id="step_4_attach_lighting">第 4 步:固定ç¯å…·</h3>
+<h3 id="step_5_attach_lighting">第 5 步:固定ç¯å…·</h3>
<p>è¦å›ºå®šç¯æž¶å’Œæ¼«å°„膜,请执行以下æ“作:</p>
<ol>
-<li><p>将两个手柄件å æ”¾åœ¨ä¸€èµ·ï¼Œç„¶åŽä½¿ç”¨ 6-32 螺钉(或自攻螺钉)连接起æ¥ï¼š</p>
+<li><p>将两个手柄件å æ”¾åœ¨ä¸€èµ·ï¼Œç„¶åŽä½¿ç”¨ 6-32 螺钉(或自攻螺钉)将其组装起æ¥ã€‚</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_handle_pieces.png" width="450" alt="手柄件和组装"/><br />
<strong>图 11.</strong> 传感器èžåˆç›’手柄件åŠç»„装</p></li>
-<li><p>准备 4 组 4-40 螺钉和螺æ¯ï¼Œå°†ç¯å…·å¥—件上的安装架固定在盒å£ä¸Šï¼š</p>
+<li><p>准备 4 组 4-40 螺钉ã€èžºæ¯å’Œç›–形螺æ¯ï¼Œå°†ç¯å…·å¥—件上的安装架固定在盒å£ä¸Šã€‚</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_interior_wall_screws.png" width="350" alt="内å£ä¸Šçš„螺钉和支架"/><br />
-<strong>图 12.</strong> 盒内å£ä¸Šçš„螺钉和ç¯æž¶<br />
+<strong>图 12. </strong>盒内å£ä¸Šçš„ 4-40 螺钉和ç¯æž¶<br />
<img src="/compatibility/cts/images/sensor_fusion_assembly_exterior_bolts.png" width="350" alt="装有螺栓的外部"/><br />
-<strong>图 13.</strong> 从盒外部拧入螺孔的螺栓</p></li>
-<li><p>å°†ç¯å…·å¡å…¥æ”¯æž¶ï¼ˆå¯èƒ½ä¼šæœ‰ç‚¹ç´§ï¼‰ï¼š</p>
-
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_interior_wall_lights.png" width="450" alt="内å£ä¸Šçš„ç¯å…·"/><br />
-<strong>图 14.</strong> 使用支架固定到内å£çš„ç¯å…·</p></li>
-<li><p>å°†ç¯å…‰æ¼«å°„膜è£æˆåˆé€‚的尺寸,以便将ç¯æ£åŒ…裹起æ¥ï¼š</p>
+<strong>图 13.</strong> 从盒外部拧入螺孔的螺栓和盖形螺栓</p></li>
+<li><p>å°†ç¯å…‰æ¼«å°„膜è£æˆåˆé€‚的尺寸,以便将ç¯æ£åŒ…裹起æ¥ã€‚</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_light_strips_diffusers.png" width="350" alt="ç¯æ£å’Œç¯å…‰æ¼«å°„膜"/><br />
-<strong>图 15.</strong> ç¯æ£å’Œç¯å…‰æ¼«å°„膜</p></li>
-<li><p>å°†ç¯å…‰æ¼«å°„膜裹在ç¯æ£ä¸Šï¼Œç„¶åŽåœ¨èƒŒé¢ç”¨èƒ¶å¸¦ç²˜å¥½ï¼š</p>
+<strong>图 14.</strong> ç¯æ£å’Œç¯å…‰æ¼«å°„膜</p></li>
+<li><p>å°†ç¯å…‰æ¼«å°„膜裹在ç¯æ£ä¸Šï¼Œç„¶åŽåœ¨èƒŒé¢ç”¨èƒ¶å¸¦ç²˜å¥½ã€‚</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_strips_taped_back.png" width="350" alt="从背é¢ç”¨èƒ¶å¸¦ç²˜å¥½çš„ç¯æ£å’Œæ¼«å°„膜"/><br />
-<strong>图 16.</strong> 从背é¢ç”¨èƒ¶å¸¦ç²˜å¥½çš„ç¯æ£å’Œç¯å…‰æ¼«å°„膜</p></li>
+<strong>图 15.</strong> 从背é¢ç”¨èƒ¶å¸¦ç²˜å¥½çš„ç¯æ£å’Œç¯å…‰æ¼«å°„膜</p></li>
+<li><p>å°†ç¯å…·å¡å…¥æ”¯æž¶ï¼ˆå¯èƒ½ä¼šæœ‰ç‚¹ç´§ï¼‰ã€‚</p>
+
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_interior_wall_lights.png" width="450" alt="内å£ä¸Šçš„ç¯å…·"/><br />
+<strong>图 16.</strong> 未安装在支架中的ç¯å…·ï¼ˆå·¦ï¼‰ã€‚安装在支架中的ç¯å…·ï¼ˆå³ï¼‰ã€‚</p></li>
</ol>
-<h3 id="step_5_attach_phone_fixture_to_servo_plate">第 5 步:将手机夹固定在伺æœå™¨æ¿ä¸Š</h3>
+<h3 id="step_6_attach_phone_fixture_to_servo_plate">第 6 步:将手机夹固定在伺æœå™¨æ¿ä¸Š</h3>
<p>è¦å°†æ‰‹æœºå¤¹å›ºå®šåœ¨ä¼ºæœå™¨æ¿ä¸Šï¼Œè¯·æ‰§è¡Œä»¥ä¸‹æ“作:</p>
<ol>
-<li><p>准备 4 个 6-32 螺钉和一个伺æœå™¨æ¿ï¼Œä»¥ä¾¿å°†ä¼ºæœå™¨å®‰è£…到盒å£ä¸Šã€‚从内部将螺钉拧入到盒å£å¤–部的伺æœå™¨æ¿ä¸Šã€‚</p>
+<li><p>准备 4 个 6-32 螺钉和一个伺æœå™¨æ¿ï¼Œä»¥ä¾¿å°†ä¼ºæœå™¨å®‰è£…到盒å£ä¸Šã€‚将伺æœå™¨å›ºå®šåœ¨å†…å£ä¸Šï¼Œç„¶åŽä»Žå†…测将螺钉æ’å…¥ä½äºŽå¤–å£ä¸Šçš„伺æœå™¨æ¿ä¸­ã€‚</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_servo_servo_plate.png" width="450" alt="伺æœå™¨å’Œä¼ºæœå™¨æ¿"/><br />
<strong>图 17.</strong> 使用 6-32 螺钉固定的伺æœå™¨å’Œä¼ºæœå™¨æ¿</p></li>
-<li><p>使用尼龙é”紧螺æ¯å°†æ‰‹æœºå¤¹å›ºå®šåˆ°ä¼ºæœå™¨ä¸Šï¼ˆå°†è½´çš„中心推入到伺æœå™¨çš„旋转中心):</p>
+<li><p>使用尼龙é”紧螺æ¯å°†æ‰‹æœºå¤¹å›ºå®šåˆ°ä¼ºæœå™¨ä¸Šï¼ˆå°†è½´çš„中心推入到伺æœå™¨çš„旋转中心)。</p>
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_phone_fixture.png" width="450" alt="伺æœå™¨ä¸Šçš„手机夹"/><br />
-<strong>图 18.</strong> 伺æœå™¨ä¸Šçš„手机夹</p></li>
-<li><p>用伺æœå™¨èžºé’‰å°†æ‰‹æœºå¤¹å›ºå®šåˆ°ä¼ºæœå™¨ä¸Šï¼š</p>
+<p><img src="/compatibility/cts/images/sensor_fusion_assembly_phone_mount_servo.png" width="450" alt="伺æœå™¨ä¸Šçš„手机夹"/><br />
+<strong>图 18.</strong> 使用尼龙é”紧螺æ¯å›ºå®šåœ¨ä¼ºæœå™¨è½´ä¸Šçš„手机底座</p></li>
+<li><p>用伺æœå™¨èžºé’‰å°†æ‰‹æœºå¤¹å›ºå®šåˆ°ä¼ºæœå™¨ä¸Šã€‚</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_servo_screw.png" width="350" alt="伺æœå™¨ä¸Šçš„手机夹(带有螺钉)"/><br />
<strong>图 19.</strong> 用伺æœå™¨èžºé’‰å°†æ‰‹æœºå¤¹å›ºå®šåˆ°ä¼ºæœå™¨ä¸Š</p></li>
</ol>
-<h3 id="step_6_final_assembly">第 6 步:最终组装</h3>
+<h3 id="step_7_final_assembly">第 7 步:最终组装</h3>
-<p>è¦å®Œæˆä¼ æ„Ÿå™¨èžåˆç›’的最终组装,请执行以下æ“作:</p>
+<p>è¦å®Œæˆä¼ æ„Ÿå™¨èžåˆç›’的组装,请执行以下æ“作:</p>
<ol>
-<li><p>从外侧用 4-40 螺钉将伺æœå™¨æŽ§åˆ¶ç®±å›ºå®šåœ¨ä¼ºæœå™¨å·¦ä¾§ï¼Œå¹¶ç”¨èžºæ¯ä»Žå†…部紧固:</p>
+<li><p>从外侧用 4-40 螺钉将伺æœå™¨æŽ§åˆ¶ç®±å›ºå®šåœ¨ä¼ºæœå™¨å·¦ä¾§ï¼Œå¹¶ç”¨èžºæ¯ä»Žå†…部紧固。</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_servo_on_wall.png" width="450" alt="ç›’å£ä¸Šçš„伺æœå™¨æŽ§åˆ¶ç®±"/><br />
<strong>图 20.</strong> 将伺æœå™¨æŽ§åˆ¶ç®±å›ºå®šåˆ°ç›’å£ä¸Š</p></li>
-<li><p>用胶带将盒å­ç²˜åœ¨ä¸€èµ·ï¼Œç„¶åŽç”¨èžºé’‰å°†å„部件固定到一起(您å¯èƒ½éœ€è¦åœ¨æŸäº›éƒ¨ä»¶ä¸Šé¢„先钻一些孔)。</p>
+<li><p>用胶带将盒å­ç²˜åœ¨ä¸€èµ·ï¼Œç„¶åŽç”¨èžºé’‰å°†å„部件固定到一起(您å¯èƒ½éœ€è¦åœ¨æŸäº›éƒ¨ä»¶ä¸Šé¢„先钻孔)。</p>
<ul>
-<li><p>CAD 图纸:</p>
-
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_complete_box_drawing.png" width="450" alt="完整盒å­çš„ CAD 图纸"/><br />
-<strong>图 21.</strong> 完整传感器盒的 CAD 图纸</p></li>
-<li><p>实际的传感器èžåˆç›’:</p>
+<li><p>组装传感器èžåˆç›’:</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_taped_box.png" width="450" alt="用胶带粘好的盒å­"/><br />
-<strong>图 22.</strong> 用胶带粘好的盒å­ï¼ˆå¸¦æœ‰ç”µæœºç»„件和伺æœå™¨æŽ§åˆ¶ç®±ï¼‰å’Œèžºé’‰ç»†éƒ¨è§†å›¾</p></li>
+<strong>图 21.</strong> 用胶带粘好的盒å­ï¼ˆå¸¦æœ‰ç”µæœºç»„件和伺æœå™¨æŽ§åˆ¶ç®±ï¼‰å’Œèžºé’‰ç»†éƒ¨è§†å›¾</p></li>
</ul></li>
-<li><p>在 A3 纸(或 11 x 17 英寸的纸)上打å°ä¸€ä»½å½©è‰²çš„棋盘格(包å«åœ¨ <a href="/compatibility/cts/sensor_fusion_1.4.zip">Sensor Fusion
-Box zip 文件</a>中),并用胶带粘到手机夹对é¢çš„ç›’å£ä¸Šã€‚</p>
+<li><p>在 A3 纸(或 11 x 17 英寸的纸)上打å°ä¸€ä»½å½©è‰²çš„棋盘格(包å«åœ¨ <a href="/compatibility/cts/sensor_fusion_1.5.zip">Sensor Fusion Box zip 文件</a>中),并用胶带粘到手机夹对é¢çš„ç›’å£ä¸Šã€‚</p>
-<p>放置在手机夹上时,请确ä¿æ£‹ç›˜æ ¼ä¸­å¿ƒçš„红点正对ç€æ‘„åƒå¤´ï¼ˆå¦‚下所示):</p>
+<p>放置在手机夹上时,请确ä¿æ£‹ç›˜æ ¼ä¸­å¿ƒçš„红点正对ç€æ‘„åƒå¤´ï¼ˆå¦‚下所示)。</p>
<p><img src="/compatibility/cts/images/sensor_fusion_assembly_checkerboard.png" width="350" alt="棋盘格"/><br />
-<strong>图 23.</strong> 打å°å‡ºæ£‹ç›˜æ ¼å¹¶ç”¨èƒ¶å¸¦ç²˜åˆ°æ‰‹æœºå¤¹å¯¹é¢çš„ç›’å£ä¸Š</p></li>
+<strong>图 22.</strong> 打å°å‡ºæ£‹ç›˜æ ¼å¹¶ç”¨èƒ¶å¸¦ç²˜åˆ°æ‰‹æœºå¤¹å¯¹é¢çš„ç›’å£ä¸Š</p></li>
</ol>
</body></html> \ No newline at end of file
diff --git a/zh-cn/compatibility/cts/sensor-fusion-quick-start.html b/zh-cn/compatibility/cts/sensor-fusion-quick-start.html
index 791f6bcf..98efb1d7 100644
--- a/zh-cn/compatibility/cts/sensor-fusion-quick-start.html
+++ b/zh-cn/compatibility/cts/sensor-fusion-quick-start.html
@@ -92,7 +92,7 @@
</tr>
</tbody></table>
<b>图 7.</b> 将手机放在手机夹上并夹紧
- <p>倒置的手拧螺钉å¯æ供背部支撑,而å¦ä¸€ä¸ªèžºé’‰å¯é€šè¿‡å‘å³æ—‹è½¬æ¥æ‹§ç´§æ‰‹æŸ„。如需更多帮助,请å‚阅有关装载手机的视频(包å«åœ¨<a href="/compatibility/cts/sensor_fusion_1.4.zip">传感器èžåˆç›’ zip 文件</a>中)。</p>
+ <p>倒置的手拧螺钉å¯æ供背部支撑,而å¦ä¸€ä¸ªèžºé’‰å¯é€šè¿‡å‘å³æ—‹è½¬æ¥æ‹§ç´§æ‰‹æŸ„。如需更多帮助,请å‚阅有关装载手机的视频(包å«åœ¨<a href="/compatibility/cts/sensor_fusion_1.5.zip">传感器èžåˆç›’ zip 文件</a>中)。</p>
</li>
<li>使用æŸçº¿å¸¦å°†æ‰‹æœº USB 线固定在手机夹æ¿ä¸Šï¼Œå¹¶ç©¿è¿‡å‡ºå£å­”引出盒外。将这æ¡çº¿çš„å¦ä¸€ç«¯æ’入到è¿è¡Œæµ‹è¯•çš„主机。
<figure id="sensor-fusion-zip-ties">
@@ -152,7 +152,7 @@
</li>
</ol>
<p>
-如需更多帮助,请å‚阅有关传感器èžåˆç›’è¿è¡Œçš„视频(包å«åœ¨<a href="/compatibility/cts/sensor_fusion_1.4.zip">传感器èžåˆç›’ zip 文件</a>中)。
+如需更多帮助,请å‚阅有关传感器èžåˆç›’è¿è¡Œçš„视频(包å«åœ¨<a href="/compatibility/cts/sensor_fusion_1.5.zip">传感器èžåˆç›’ zip 文件</a>中)。
</p>
</body></html> \ No newline at end of file
diff --git a/zh-cn/compatibility/cts/setup.html b/zh-cn/compatibility/cts/setup.html
index 2339eff3..5afd5256 100644
--- a/zh-cn/compatibility/cts/setup.html
+++ b/zh-cn/compatibility/cts/setup.html
@@ -43,7 +43,7 @@
<p>如果您无法访问原生 IPv6 网络ã€IPv6 è¿è¥å•†ç½‘络或 IPv6 VPN,以致无法通过基于 IPv6 的一些测试,则å¯ä»¥æ”¹ä¸ºä½¿ç”¨ WLAN 接入点和 IPv6 隧é“。请å‚阅维基百科 <a href="http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers">IPv6 隧é“代ç†åˆ—表</a>。</p>
<h3 id="rtt">Wi-Fi RTT(往返时间)</h3>
-<p>Android 9 针对 <a ref="/devices/tech/connect/wifi-rtt">Wi-Fi RTT</a> 功能增加了一个 API,此 API å…许设备测é‡è‡ªèº«ä¸ŽæŽ¥å…¥ç‚¹ä¹‹é—´çš„è·ç¦»ï¼ˆè¯¯å·®å¹…度在 1 到 2 米内),从而显著æ高室内ä½ç½®ä¿¡æ¯ç²¾ç¡®åº¦ã€‚ä»¥ä¸‹æ˜¯æ”¯æŒ Wi-Fi RTT 的两款推è设备:<a href="https://store.google.com/product/google_wifi">Google Wifi</a> å’Œ <a href="https://fit-iot.com/web/products/fitlet2/">Compulab çš„ Filet2 接入点</a>(使用 5GHz 频段,带宽设为 40MHz)。</p>
+<p>Android 9 针对 <a ref="/devices/tech/connect/wifi-rtt">WLAN RTT</a> 功能增加了一个 API,此 API å…许设备测é‡è‡ªèº«ä¸ŽæŽ¥å…¥ç‚¹ä¹‹é—´çš„è·ç¦»ï¼ˆè¯¯å·®å¹…度在 1 到 2 米内),从而显著æ高室内ä½ç½®ä¿¡æ¯ç²¾ç¡®åº¦ã€‚ä»¥ä¸‹æ˜¯æ”¯æŒ WLAN RTT 的两款推è设备:<a href="https://store.google.com/product/google_wifi">Google Wifi</a> å’Œ <a href="https://fit-iot.com/web/products/fitlet2/">Compulab çš„ Filet2 接入点</a>(使用 5GHz 频段,带宽设为 40MHz)。</p>
<p>接入点应接入电æºï¼Œä½†æ— éœ€è¿žæŽ¥åˆ°ä»»ä½•ç½‘络。接入点无需紧挨ç€æµ‹è¯•è®¾å¤‡ï¼Œä½†å»ºè®®å°†å…¶æ”¾ç½®åœ¨è·ç¦» DUT 40 英尺的ä½ç½®ã€‚通常情况下,一个接入点就足够了。</p>
@@ -165,7 +165,7 @@ ro.product.first_api_level=21
<p class="warning"><strong>警告:</strong>这将清空设备中的所有用户数æ®ã€‚</p>
</li><li>将设备的语言设置为英语(<strong>美国</strong>):<strong>设置 &gt; 语言和输入法 &gt; 语言</strong>
</li><li>如果设备具有 GPS 或 WLAN/移动网络功能,则打开ä½ç½®ä¿¡æ¯è®¾ç½®ï¼š<strong>设置 &gt; ä½ç½®ä¿¡æ¯ &gt; å¼€å¯</strong>
- </li><li>连接到满足以下è¦æ±‚çš„ WLAN ç½‘ç»œï¼šæ”¯æŒ IPv6,å¯ä»¥å°†è¢«æµ‹è®¾å¤‡ (DUT) 视为隔离客户端<em></em>(请å‚阅上文的<a href="#physical_environment">物ç†çŽ¯å¢ƒ</a>部分),并å¯è¿žæŽ¥åˆ°äº’è”网。具体æ“作方法为:<strong>设置 &gt; WLAN</strong>
+ </li><li>连接到满足以下è¦æ±‚çš„ WLAN ç½‘ç»œï¼šæ”¯æŒ IPv6,å¯ä»¥å°†è¢«æµ‹è®¾å¤‡ (DUT) 视为隔离客户端(请å‚阅上文的<a href="#physical_environment">物ç†çŽ¯å¢ƒ</a>部分),并å¯è¿žæŽ¥åˆ°äº’è”网。具体æ“作方法为:<strong>设置 &gt; WLAN</strong><em></em>
</li><li>ç¡®ä¿è®¾å¤‡ä¸Šæœªè®¾ç½®é”定图案或密ç ï¼š<strong>设置 &gt; 安全 &gt; å±å¹•é”定 &gt; æ— </strong>
</li><li>在设备上å¯ç”¨ <strong>USB 调试</strong>:<strong>设置 &gt; å¼€å‘者选项 &gt; USB 调试</strong>。
<p class="note"><strong>注æ„:</strong>在 Android 4.2 åŠæ›´é«˜ç‰ˆæœ¬ä¸­ï¼Œé»˜è®¤æƒ…况下会éšè—<strong>å¼€å‘者选项</strong>。è¦æ˜¾ç¤ºè¿™äº›é€‰é¡¹ï¼Œè¯·ä¾æ¬¡è½¬åˆ°<strong>设置 &gt; 关于手机</strong>,然åŽç‚¹æŒ‰<strong>版本å·</strong>七次。返回上一å±å¹•ä»¥æŸ¥æ‰¾<strong>å¼€å‘者选项</strong>。è¦æŸ¥çœ‹å…¶ä»–详细信æ¯ï¼Œè¯·å‚阅<a href="http://developer.android.com/studio/run/device.html#developer-device-options">å¯ç”¨è®¾å¤‡ä¸Šçš„å¼€å‘者选项</a>。</p>
diff --git a/zh-cn/compatibility/cts/usb-audio.html b/zh-cn/compatibility/cts/usb-audio.html
index 08e46950..9cbb72d8 100644
--- a/zh-cn/compatibility/cts/usb-audio.html
+++ b/zh-cn/compatibility/cts/usb-audio.html
@@ -54,21 +54,21 @@
<p>请注æ„,制造商已åœæ­¢é”€å”®è¿™ä¸¤ä¸ªå¤–设,在未æ¥ç‰ˆæœ¬çš„ CTS 验è¯ç¨‹åºä¸­å°†å¼ƒç”¨å®ƒä»¬ã€‚</p>
<ul>
- <li><a href="https://www.amazon.com/PreSonus-AudioBox-USB-96-%20Interface/dp/B06ZZCR6P4/ref=sr_1_3?ie=UTF8&amp;qid=1537371840&amp;sr=8-3&amp;keywords%20=Presonus+AudioBox+USB+96&amp;dpID=41xVV2y1j%252BL&amp;preST=_SX300_QL70_&amp;dpSrc=srch" class="external">
- Presonus AudioBox USB 96</a>
- </li>
-
- <li><a href="https://www.amazon.com/Focusrite-Scarlett-Audio-%20Interface-Tools/dp/B01E6T50LY/ref=sr_1_3?ie=UTF8&amp;qid=1537371877&amp;sr=%208-3&amp;keywords=Focusrite+Scarlett+2i4&amp;dpID=41riKC0pb9L&amp;preST=%20_SX300_QL70_&amp;dpSrc=srch" class="external">
+ <li><a href="https://focusrite.com/usb-audio-interface/scarlett/scarlett-2i4" class="external">
Focusrite Scarlett 2i4</a>
</li>
- <li><a href="https://www.amazon.com/Behringer-UMC204HD-BEHRINGER-U-%20PHORIA/dp/B00QHURLCW/ref=sr_1_3?ie=UTF8&amp;qid=1537371923&amp;sr=8-3&amp;keywords%20=Behringer+UMC204HD&amp;dpID=41vDeQgewhL&amp;preST=_SY300_QL70_&amp;dpSrc=srch" class="external">
+ <li><a href="http://www.musictribe.com/Categories/Behringer/Computer-Audio/Interfaces/UMC204HD/p/P0BK0" class="external">
Behringer UMC204HD</a>
</li>
- <li><a href="https://www.amazon.com/Roland-USB-Audio-Interface-%20RUBIX22/dp/B01N14VOZM/ref=sr_1_1?ie=UTF8&amp;qid=1537371963&amp;sr=8-1&amp;%20keywords=roland+rubix+24&amp;dpID=41bDXqlk1rL&amp;preST=_%20SX300_QL70_&amp;dpSrc=srch" class="external">
+ <li><a href="https://www.roland.com/us/products/rubix24/" class="external">
Roland Rubix 24</a>
</li>
+
+ <li><a href="https://www.presonus.com/products/AudioBox-USB-96" class="external">
+ PreSonus AudioBox 96</a>
+ </li>
</ul>
<table>
@@ -88,7 +88,8 @@
<li><span style="color:#202124;">æ”¯æŒ <a href="/devices/accessories/headset/usb-headset-spec">Android USB 耳机é…件规范</a>çš„ USB 耳机外设<span style="color:#202124;">。这类耳机外设通常带有制造商标记的“专为 Android 设备打造â€(Made for Android) 字样。</span></span>
</li>
- <li>æ”¯æŒ <a href="/devices/accessories/headset/usb-headset-spec">Android USB 耳机é…件规范</a> 的模拟耳机。这类耳机应连接到 USB 转模拟音频转æ¢å™¨ï¼ˆå¦‚,<a href="https://store.google.com/us/product/usb_c_headphone_adapter" class="external">Google æ•°å­— USB-C 型转 3.5 毫米头戴å¼è€³æœºé€‚é…器</a>或 <a href="https://www.htc.com/us/accessories-b/#!pid=htc-u11&amp;acc=usb-c-digital-to-3-5mm-htc-u11" class="external">HTC æ•°å­— USB-C 型转 3.5 毫米音频耳机æ’孔适é…器</a>)。<br />例如,已知的兼容模拟耳机外设包括 <a href="https://www.bose.com/en_us/products/headphones/earphones/soundsport-in-ear-headphones-samsung-devices.html" class="external">Bose SoundSport® 入耳å¼è€³æœº – Samsung å’Œ Androidâ„¢ 设备</a>,以åŠ<a href="https://www.urbanears.com/ue_us_en/reimers#reimers-black-belt" class="external">专为 Android 耳机打造的 UrbanEars Reimers Black Belt</a>。这些模拟耳机必须通过 USB 转音频转æ¢å™¨è¿žæŽ¥åˆ°è®¾å¤‡ä¸Šçš„ USB 端å£ã€‚
+ <li>æ”¯æŒ <a href="/devices/accessories/headset/usb-headset-spec">Android USB 耳机é…件规范</a>的模拟耳机。这类耳机应连接到 USB 转模拟音频转æ¢å™¨ï¼ˆå¦‚,<a href="https://store.google.com/us/product/usb_c_headphone_adapter" class="external">Google æ•°å­— USB-C 型转 3.5 毫米头戴å¼è€³æœºé€‚é…器</a>或 <a href="https://www.htc.com/us/accessories-b/#!pid=htc-u11&amp;acc=usb-c-digital-to-3-5mm-htc-u11" class="external">HTC æ•°å­— USB-C 型转 3.5 毫米音频耳机æ’孔适é…器</a>)。
+ <p>例如,已知的兼容模拟耳机外设包括 <a href="https://www.bose.com/en_us/products/headphones/earphones/soundsport-in-ear-headphones-samsung-devices.html" class="external">Bose SoundSport® 入耳å¼è€³æœº – Samsung å’Œ Androidâ„¢ 设备</a>,以åŠ<a href="https://www.urbanears.com/ue_us_en/reimers#reimers-black-belt" class="external">专为 Android 耳机打造的 UrbanEars Reimers Black Belt</a>。这些模拟耳机必须通过 USB 转音频转æ¢å™¨è¿žæŽ¥åˆ°è®¾å¤‡ä¸Šçš„ USB 端å£ã€‚</p>
</li>
</ul>
diff --git a/zh-cn/compatibility/cts/verifier.html b/zh-cn/compatibility/cts/verifier.html
index 08f07990..0b287100 100644
--- a/zh-cn/compatibility/cts/verifier.html
+++ b/zh-cn/compatibility/cts/verifier.html
@@ -57,14 +57,14 @@ adb install -r -g CtsVerifier.apk
<img src="/compatibility/cts/images/cts-verifier-menu.png" alt="CTS 验è¯ç¨‹åºæµ‹è¯•èœå•" id="figure2"/>
<figcaption><strong>图 2.</strong> CTS 验è¯ç¨‹åºæµ‹è¯•èœå•ã€‚</figcaption>
-<p>æ¯é¡¹æµ‹è¯•å‡åŒ…å«ä¸€ç»„共通元素(信æ¯ã€é€šè¿‡ã€å¤±è´¥ï¼‰ï¼š</p>
+<p>æ¯é¡¹æµ‹è¯•å‡åŒ…å«ä¸€ç»„å…±åŒå…ƒç´ ï¼ˆä¿¡æ¯ã€é€šè¿‡ã€å¤±è´¥ï¼‰ï¼š</p>
<img src="/compatibility/cts/images/video-verifier.png" alt="æµå¼è§†é¢‘å“质验è¯ç¨‹åº" id="figure3"/>
<figcaption><strong>图 3.</strong> 测试元素。</figcaption>
<ul>
<li><strong>ä¿¡æ¯</strong> (?)。点按å³å¯æ˜¾ç¤ºæµ‹è¯•è¯´æ˜Žã€‚首次打开测试时,系统也会自动显示此按钮。</li>
-<li><strong>通过</strong> (✓)。如果 DUT 符åˆâ€œä¿¡æ¯â€ä¸­çš„说明规定的测试è¦æ±‚,请点按此按钮。</li>
-<li><strong>失败</strong> (!)。如果 DUT ä¸ç¬¦åˆâ€œä¿¡æ¯â€ä¸­çš„说明规定的测试è¦æ±‚,请点按此按钮。</li>
+<li><strong>通过</strong> (✓)。如果 DUT 符åˆâ€œä¿¡æ¯â€ä¸­è§„定的测试è¦æ±‚,请点按此按钮。</li>
+<li><strong>失败</strong> (!)。如果 DUT ä¸ç¬¦åˆâ€œä¿¡æ¯â€ä¸­è§„定的测试è¦æ±‚,请点按此按钮。</li>
</ul>
<aside class="note"><strong>注æ„</strong>:在æŸäº›æµ‹è¯•ä¸­ï¼Œç³»ç»Ÿä¼šè‡ªåŠ¨ç¡®è®¤æµ‹è¯•ç»“果为通过/失败。</aside>
@@ -124,8 +124,8 @@ Found Android device in accessory mode (18d1:2d01)...
<li>在尺寸为 11†x 17â€æˆ– A3 çš„çº¸å¼ ä¸Šæ‰“å° <a href="/compatibility/calibration-pattern.pdf">calibration-pattern.pdf</a> 目标文件。</li>
<li>将打å°å‡ºæ¥çš„图案贴在一个硬æ质底æ¿ä¸Šã€‚</li>
<li>将相机设备和打å°å‡ºæ¥çš„图纸按如下ä½ç½®å’Œæ–¹å‘摆放:<br />
-<img src="/compatibility/cts/images/camera-printed-target.png" alt="相机打å°ç›®æ ‡" id="figure5"/>
-<figcaption><strong>图 5.</strong> 相机打å°ç›®æ ‡</figcaption>
+<img src="/compatibility/cts/images/camera-printed-target.png" alt="相机与打å°ç›®æ ‡" id="figure5"/>
+<figcaption><strong>图 5.</strong> 相机与打å°ç›®æ ‡</figcaption>
</li>
</ol>
</li>
@@ -146,10 +146,10 @@ Found Android device in accessory mode (18d1:2d01)...
<ul>
<li>如果这两æ¡çº¿ä¸Žç›®æ ‡å›¾æ¡ˆä¸Šçš„垂直线是对é½çš„(误差控制在几个åƒç´ å†…),则针对选定分辨率报告的视野是准确的。
</li>
-<li>如果没有对é½ï¼Œåˆ™æŠ¥å‘Šçš„视野将ä¸å‡†ç¡®ã€‚è¦è¿›è¡Œæ›´æ­£ï¼Œè¯·è°ƒæ•´å±å¹•åº•éƒ¨çš„滑å—,直到å åŠ å±‚å°½å¯èƒ½ç´§å¯†åœ°ä¸Žç›®æ ‡å›¾æ¡ˆå¯¹é½ã€‚当å åŠ å±‚和目标图案图片对é½æ—¶ï¼Œæ‰€æ˜¾ç¤ºçš„视野将近似于正确的值。报告的视野应在校准值的 +/- 1 度范围内。</li>
+<li>如果没有对é½ï¼Œåˆ™æ„味ç€æ‰€æŠ¥å‘Šçš„视野ä¸å‡†ç¡®ã€‚è¦è¿›è¡Œæ›´æ­£ï¼Œè¯·è°ƒæ•´å±å¹•åº•éƒ¨çš„滑å—,直到å åŠ æ˜¾ç¤ºçš„垂直线尽å¯èƒ½ä¸Žç›®æ ‡å›¾æ¡ˆå¯¹é½ã€‚当å åŠ æ˜¾ç¤ºçš„垂直线和目标图案图片对é½æ—¶ï¼Œæ‰€æ˜¾ç¤ºçš„视野将近似于正确的值。报告的视野与校准值的误差应在 +/- 1 度范围内。</li>
</ul>
</li>
-<li>按åŽé€€æŒ‰é’®ï¼Œå¹¶ä¸º DUT 支æŒçš„所有图片分辨率é‡å¤è¿è¡Œæ ¡å‡†æµ‹è¯•ã€‚</li>
+<li>按åŽé€€æŒ‰é’®ï¼Œä»¥åŒæ ·çš„方法校准测试 DUT 所支æŒçš„所有图片分辨率。</li>
</ol>
</li>
</ol>
@@ -163,12 +163,12 @@ Found Android device in accessory mode (18d1:2d01)...
<figcaption><strong>图 6.</strong> CTS 验è¯ç¨‹åºä¿å­˜å›¾æ ‡ã€‚</figcaption>
<aside class="note"><strong>注æ„</strong>:Android 7.0 åŠæ›´é«˜ç‰ˆæœ¬ä¸åŒ…å«é¢„览功能。</aside>
</li>
-<li>等待弹出消æ¯æ˜¾ç¤ºå·²ä¿å­˜æŠ¥å‘Šçš„路径(例如 <code>/sdcard/verifierReports/ctsVerifierReport-date-time.zip</code>),然åŽè®°å½•è¯¥è·¯å¾„。<br />
-<img src="images/path-saved-report.png" alt="CTS 验è¯ç¨‹åºä¿å­˜æŠ¥å‘Šçš„路径" id="figure7"/>
-<figcaption><strong>图 7.</strong> CTS 验è¯ç¨‹åºä¿å­˜æŠ¥å‘Šçš„路径。</figcaption>
+<li>等待弹出消æ¯æ˜¾ç¤ºæŠ¥å‘Šä¿å­˜çš„路径(例如 <code>/sdcard/verifierReports/ctsVerifierReport-date-time.zip</code>),然åŽè®°å½•è¯¥è·¯å¾„。<br />
+<img src="images/path-saved-report.png" alt="CTS 验è¯ç¨‹åºæŠ¥å‘Šä¿å­˜çš„路径" id="figure7"/>
+<figcaption><strong>图 7.</strong> CTS 验è¯ç¨‹åºæŠ¥å‘Šä¿å­˜çš„路径。</figcaption>
</li>
<li>将 DUT 连接到 Linux 计算机。</li>
-<li>通过在 Linux 计算机上安装的 Android SDK,在已连接的设备中使用 <code>adb pull CTSVerifierReportPath</code> 下载报告。
+<li>通过在 Linux 计算机上安装的 Android SDK,使用 <code>adb pull CTSVerifierReportPath</code> 在已连接的设备中下载报告。
<ul>
<li>对于 Android 7.x åŠæ›´é«˜ç‰ˆæœ¬ï¼Œè¯·ä½¿ç”¨ä»¥ä¸‹å‘½ä»¤ä¸‹è½½æ‰€æœ‰æŠ¥å‘Šï¼š<pre class="devsite-terminal devsite-click-to-copy">
adb pull /sdcard/verifierReports
diff --git a/zh-cn/compatibility/index.html b/zh-cn/compatibility/index.html
index 468d6161..2a18f1d0 100644
--- a/zh-cn/compatibility/index.html
+++ b/zh-cn/compatibility/index.html
@@ -30,8 +30,8 @@
<ol>
<li><p>查看<a href="/devices/architecture/">架构</a>中的 Android å¹³å°å¼€å‘基本原则,尤其是 Android 8.0 中引入的 <a href="/devices/architecture/hidl/">HIDL</a> æ ¼å¼ã€‚</p></li>
-<li><p>ç¡®ä¿æ ¹æ® <a href="/compatibility/overview">Android 兼容性定义文档</a>(Android 的核心规范)的相关è¦æ±‚,设备属于<a href="/compatibility/cdd">兼容性</a>设备。</p></li>
-<li><p>å‚阅<a href="/devices/tech/display/">显示</a>功能和<a href="/devices/tech/settings/settings-guidelines">设置</a>指å—,获å–用户界é¢æ–¹é¢çš„帮助。</p></li>
+<li><p>ç¡®ä¿è®¾å¤‡ç¬¦åˆ <a href="/compatibility/cdd">Android 兼容性定义文档</a>(Android 的核心规范)的è¦æ±‚,å³è®¾å¤‡å±žäºŽ<a href="/compatibility/overview">兼容性</a>设备。</p></li>
+<li><p>å‚阅<a href="/devices/tech/display/">显示</a>功能和<a href="/devices/tech/settings/settings-guidelines">设置</a>指å—,获å–ç•Œé¢æ–¹é¢çš„帮助。</p></li>
<li><p>利用所有å¯ç”¨çš„<a href="/compatibility/tests">测试</a>调试和改进您的 Android 设备。</p></li>
<li><p>在开å‘é¢å‘用户的应用时,请先熟悉一下<a href="https://developer.android.com/design/" class="external">应用设计</a>原则和 <a href="https://material.io/design/" class="external">Material Design</a> 技术。</p></li>
</ol>
diff --git a/zh-cn/compatibility/overview.html b/zh-cn/compatibility/overview.html
index 5403ff4a..830466e9 100644
--- a/zh-cn/compatibility/overview.html
+++ b/zh-cn/compatibility/overview.html
@@ -75,10 +75,10 @@
</ul>
<h2 id="android-compatibility-is-free-and-its-easy">Android 兼容性计划是å…费的,而且申请步骤很简å•</h2>
-<p>è¦æ‰“造与 Android 兼容的移动设备,请按以下三个步骤进行æ“作:</p>
+<p>è¦æ‰“造与 Android 兼容的移动设备,请按以下三个步骤æ“作:</p>
<ol>
<li><em></em>èŽ·å– <a href="/setup/index.html">Android 软件æºä»£ç </a>。这是è¦ç§»æ¤åˆ°æ‚¨çš„硬件的 Android å¹³å°æºä»£ç ã€‚</li>
-<li><em></em>éµå¾ª Android 兼容性定义文档 (CDD)(<a href="/compatibility/android-cdd.pdf">PDF</a>ã€<a href="/compatibility/android-cdd.html">HTML</a>)。CDD 列出了对兼容的 Android 设备的软件和硬件è¦æ±‚。</li>
+<li><em></em>éµå¾ª Android 兼容性定义文档 (CDD)(<a href="/compatibility/android-cdd.pdf">PDF</a>ã€<a href="/compatibility/android-cdd.html">HTML</a>)。CDD 列出了兼容的 Android 设备应éµå¾ªçš„软件和硬件è¦æ±‚。</li>
<li><em></em>通过<a href="/compatibility/cts/">兼容性测试套件 (CTS)</a> 测试。在开å‘过程中éšæ—¶å€ŸåŠ© CTS 评估兼容性。</li> </ol>
<p>åœ¨ç¬¦åˆ CDD è¦æ±‚且通过 CTS 测试åŽï¼Œæ‚¨çš„设备å³æ˜¯ä¸Ž Android 兼容的设备,这æ„味ç€ç”Ÿæ€ç³»ç»Ÿä¸­çš„ Android 应用在您的设备上è¿è¡Œæ—¶å¯æ供一致的体验。有关 Android 兼容性计划的详细信æ¯ï¼Œè¯·å‚阅<a href="overview.html">计划概述</a>。</p>
diff --git a/zh-cn/compatibility/tests/development/jar.html b/zh-cn/compatibility/tests/development/jar.html
new file mode 100644
index 00000000..0f63584a
--- /dev/null
+++ b/zh-cn/compatibility/tests/development/jar.html
@@ -0,0 +1,69 @@
+<html devsite><head>
+
+ <meta name="book_path" value="/_book.yaml"/>
+
+ <meta name="project_path" value="/_project.yaml"/>
+</head>
+<body>
+
+<!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<h1 id="jar_java_host_tests" class="page-title">JAR (Java) 主机测试</h1>
+
+<p>为了实现软件代ç çš„完全覆盖率,应执行 JAR 主机测试。请按照相关说明<a href="https://developer.android.com/training/testing/unit-testing/local-unit-tests" class="external">构建本地å•å…ƒæµ‹è¯•</a>。è¦éªŒè¯æŸé¡¹ç‰¹å®šåŠŸèƒ½ï¼Œåªéœ€ç¼–写å°åž‹å•å…ƒæµ‹è¯•å³å¯ã€‚</p>
+
+<h2 id="example">示例</h2>
+
+<p>以下è“图文件å¯æ供符åˆæ‚¨éœ€æ±‚且å¯ä¾›æ¨¡ä»¿çš„ç®€å• Hello World JAR 主机测试示例:
+<a href="https://android.googlesource.com/platform/platform_testing/+/master/tests/example/jarhosttest/Android.bp">platform_testing/tests/example/jarhosttest/Android.bp</a></p>
+
+<p>该示例对应以下ä½ç½®çš„实际测试代ç ï¼š
+<a href="https://android.googlesource.com/platform/platform_testing/+/master/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java">platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java</a></p>
+
+<p>为了方便起è§ï¼Œæˆ‘们在此处附上了该è“图文件的快照:</p>
+<pre class="prettyprint"><code> java_test_host {
+ name: "HelloWorldHostTest",
+
+ test_suites: ["general-tests"],
+
+ srcs: ["test/**/*.java"],
+
+ static_libs: [
+ "junit",
+ "mockito",
+ ],
+}
+</code></pre>
+<p>请注æ„,开头的 <code>java_host_test</code> 声明表示这是一项 JAR 主机测试。</p>
+
+<h2 id="settings">设置</h2>
+
+<p>下é¢å¯¹å„项设置进行了说明:</p>
+<pre class="prettyprint"><code> name: "HelloWorldHostTest",
+</code></pre>
+<p>如果指定了 <code>java_test_host</code> 模å—类型(在å—的开头),则需è¦è¿›è¡Œ <code>name</code> 设置。这项设置å¯ä»¥ä¸ºæ‚¨çš„模å—命å,而且生æˆçš„ JAR 将与模å—命å相åŒï¼Œä¸è¿‡å…¶å称会带有 <code>.jar</code> åŽç¼€ã€‚例如,在本例中,生æˆçš„测试 JAR 将命å为 <code>HelloWorldHostTest.jar</code>。此外,此设置还å¯ä»¥ä¸ºæ‚¨çš„模å—定义 make 目标å称,以便您å¯ä»¥ä½¿ç”¨ <code>make [options]
+&lt;HelloWorldHostTest&gt;</code> æ¥ç¼–译测试模å—åŠå…¶æ‰€æœ‰ä¾èµ–项。</p>
+<pre class="prettyprint"><code> test_suites: ["general-tests"],
+</code></pre>
+<p><code>test_suites</code> 设置å¯è®© Trade Federation 自动化测试框架轻æ¾å‘现测试。å¯åœ¨æ­¤å¤„添加其他套件(如 CTS),以便共享此测试。</p>
+<pre class="prettyprint"><code> static_libs: [
+ "junit",
+ ],
+</code></pre>
+<p><code>static_libs</code> 设置会指示编译系统将已命å模å—的内容åˆå¹¶åˆ°å½“å‰æ¨¡å—的已生æˆçš„ APK 中。这æ„味ç€ï¼Œæ¯ä¸ªå·²å‘½å模å—éƒ½ä¼šç”Ÿæˆ <code>.jar</code> 文件,其内容将用于在编译期间解æžç±»è·¯å¾„引用,以åŠåˆå¹¶åˆ°ç”Ÿæˆçš„ apk 中。</p>
+
+</body></html> \ No newline at end of file
diff --git a/zh-cn/compatibility/vts/index.html b/zh-cn/compatibility/vts/index.html
index d1b558b5..06e46c1d 100644
--- a/zh-cn/compatibility/vts/index.html
+++ b/zh-cn/compatibility/vts/index.html
@@ -42,7 +42,7 @@ Android 供应商测试套件 (VTS) æ供了大é‡ç”¨äºŽè¿›è¡Œ Android 测试çš
<li><a href="/compatibility/vts/ui.html">ç•Œé¢</a>:一个统一的界é¢ï¼Œåˆ©ç”¨ Material Design 有效显示与测试结果ã€åˆ†æžå’Œè¦†ç›–率相关的信æ¯ã€‚</li>
</ul>
</li>
- <li><strong>实验室基础架构</strong>:介ç»äº†åœ¨æ­è½½ AOSP <a href="/compatibility/vts/automated-test-infra">å¸¸è§„ç³»ç»Ÿæ˜ åƒ (GSI)</a> çš„åˆä½œä¼™ä¼´è®¾å¤‡ä¸Šè¿è¡Œ VTSã€CTS 或其他测试的<a href="/setup/build/gsi">自动化测试基础架构</a>所采用的架构。需è¦<a href="/compatibility/vts/host-controller">主机控制器</a>。
+ <li><strong>实验室基础架构</strong>:介ç»äº†åœ¨æ­è½½ AOSP <a href="/setup/build/gsi">å¸¸è§„ç³»ç»Ÿæ˜ åƒ (GSI)</a> çš„åˆä½œä¼™ä¼´è®¾å¤‡ä¸Šè¿è¡Œ VTSã€CTS 或其他测试的<a href="/compatibility/vts/automated-test-infra">自动化测试基础架构</a>所采用的架构。需è¦<a href="/compatibility/vts/host-controller">主机控制器</a>。
</li>
<li><a href="/compatibility/vts/performance.html">binder å’Œ hwbinder 性能测试</a>:用于衡é‡åžåé‡å’Œå»¶è¿Ÿçš„工具。</li>
</ul>
diff --git a/zh-cn/compatibility/vts/performance.html b/zh-cn/compatibility/vts/performance.html
index 0d036040..6ffab22a 100644
--- a/zh-cn/compatibility/vts/performance.html
+++ b/zh-cn/compatibility/vts/performance.html
@@ -289,8 +289,7 @@ BM_sendVec_binderize/8 69974 ns 32700 ns 21296
</dl>
-<p class="note"><strong>注æ„</strong>:åŽå°è´Ÿè·å¯èƒ½ä¼šå½±å“延迟测试中的åžåé‡ç»“果和
-<code>other_ms</code> 元组。åªè¦åŽå°è´Ÿè·çš„优先级低于 <code>fifo_ms</code>,就å¯èƒ½åªæœ‰ <code>RT-fifo</code> 会显示类似的结果。</p>
+<p class="note"><strong>注æ„</strong>:åŽå°è´Ÿè·å¯èƒ½ä¼šå½±å“延迟测试中的åžåé‡ç»“果和 <code>other_ms</code> 元组。åªè¦åŽå°è´Ÿè·çš„优先级低于 <code>RT-fifo</code>,就å¯èƒ½åªæœ‰ <code>fifo_ms</code> 会显示类似的结果。</p>
<h4 id="pair-values">指定对值</h4>
<p>æ¯ä¸ªå®¢æˆ·ç«¯è¿›ç¨‹éƒ½ä¼šä¸Žå…¶ä¸“用的æœåŠ¡å™¨è¿›ç¨‹é…对,且æ¯ä¸€å¯¹éƒ½å¯èƒ½ä¼šç‹¬ç«‹è°ƒåº¦åˆ°ä»»ä½• CPU。ä¸è¿‡ï¼Œåªè¦åŒæ­¥æ ‡è®°æ˜¯ <code>honor</code>,事务期间应该就ä¸ä¼šå‡ºçŽ° CPU è¿ç§»çš„情况。</p>
@@ -334,7 +333,7 @@ SCHED_OTHER 0</div>
</pre>
<ul>
-<li><font style="color:orange">æœåŠ¡çº¿ç¨‹</font>按 <code>SCHED_OTHER</code> 优先级而创建,且与 <code>pid
+<li><font style="color:orange">æœåŠ¡çº¿ç¨‹</font>按 <code>SCHED_OTHER</code> 优先级创建,且与 <code>pid
8674</code> 一起在 <code>CPU:1</code> 中è¿è¡Œã€‚</li>
<li>éšåŽï¼Œç”± <code>fifo-caller</code> å¯åŠ¨<font style="color:blue">第一个事务</font>。为处ç†è¯¥äº‹åŠ¡ï¼Œhwbinder 会将æœåŠ¡å™¨ (<code>pid: 8674 tid: 8676</code>) 的优先级å‡çº§åˆ° 99,并使用瞬æ€è°ƒåº¦ç±»åˆ«ï¼ˆè¾“出为 <code>???</code>)对其进行标记。接下æ¥ï¼Œè°ƒåº¦ç¨‹åºä¼šå°†æœåŠ¡å™¨è¿›ç¨‹ç½®äºŽ <code>CPU:0</code> 中,以è¿è¡Œè¯¥è¿›ç¨‹å¹¶å°†å®ƒä¸Žå…¶å®¢æˆ·ç«¯ä½¿ç”¨çš„åŒä¸€ CPU 进行åŒæ­¥ã€‚</li>
<li><font style="color:green">第二个事务</font>调用程åºçš„优先级为 <code>SCHED_OTHER</code>。æœåŠ¡å™¨è‡ªè¡Œé™çº§å¹¶ä¸ºä¼˜å…ˆçº§ä¸º <code>SCHED_OTHER</code> 的调用程åºæä¾›æœåŠ¡ã€‚</li>
diff --git a/zh-cn/compatibility/vts/shell-commands.html b/zh-cn/compatibility/vts/shell-commands.html
index fd36b924..7ada0aee 100644
--- a/zh-cn/compatibility/vts/shell-commands.html
+++ b/zh-cn/compatibility/vts/shell-commands.html
@@ -44,7 +44,7 @@ shell</code> 命令的延迟更短。</p>
<p><img src="images/vts_shell_driver.png"/></p>
<figcaption><strong>图 1.</strong> VTS shell 驱动程åºã€‚</figcaption>
-<p>VTS 框架支æŒå¤šè®¾å¤‡æµ‹è¯•ï¼Œå…¶ä¸­æ¯éƒ¨ Android 设备都在基础è¿è¡Œå™¨ä¸­è¡¨ç¤ºä¸º AndroidDevice 对象。默认情况下,VTS 框架会将 VTS 代ç†å’Œ VTS shell 驱动程åºäºŒè¿›åˆ¶æ–‡ä»¶æŽ¨é€åˆ°æ¯éƒ¨ Android 设备,并与这些设备上的 VTS 代ç†å»ºç«‹ TCP 连接。</p>
+<p>VTS 框架支æŒå¤šè®¾å¤‡æµ‹è¯•ï¼Œå…¶ä¸­æ¯éƒ¨ Android 设备都在基础è¿è¡Œå™¨ä¸­æ˜¾ç¤ºä¸ºä¸€ä¸ª AndroidDevice 对象。默认情况下,VTS 框架会将 VTS 代ç†å’Œ VTS shell 驱动程åºäºŒè¿›åˆ¶æ–‡ä»¶æŽ¨é€åˆ°æ¯éƒ¨ Android 设备,并与这些设备上的 VTS 代ç†å»ºç«‹ TCP 连接。</p>
<p>è¦æ‰§è¡Œ shell 命令,主机端 Python 脚本会对 AndroidDevice 对象内的 ShellMirror 对象å‘出函数调用。ShellMirror 对象将 shell å‘½ä»¤æ–‡æœ¬æ‰“åŒ…æˆ <a href="https://developers.google.com/protocol-buffers/" class="external">protobuf</a> 消æ¯ï¼Œå¹¶é€šè¿‡ TCP 通é“将其å‘é€è‡³ Android 设备上的 VTS 代ç†ã€‚然åŽï¼Œè®¾å¤‡ä¸Šè¿è¡Œçš„代ç†é€šè¿‡ Unix 套接字将 shell 命令转å‘ç»™ VTS shell 驱动程åºã€‚</p>
diff --git a/zh-cn/devices/architecture/hidl-java/index.html b/zh-cn/devices/architecture/hidl-java/index.html
index f397bdc5..47693bd8 100644
--- a/zh-cn/devices/architecture/hidl-java/index.html
+++ b/zh-cn/devices/architecture/hidl-java/index.html
@@ -59,6 +59,7 @@ IFoo server = IFoo.getService(true /* retry */); // throws NoSuchElementExceptio
IFoo anotherServer = IFoo.getService("second_impl", true /* retry */);
server.doSomething(…);
</pre>
+<p class="caution"><strong>警告</strong>:ä¸å«å‚æ•°çš„ Java <code>getService</code> å°†ä¸ä¼šç­‰å¾…æœåŠ¡å¯åŠ¨ã€‚</p>
</li>
</ol>
diff --git a/zh-cn/devices/architecture/hidl/versioning.html b/zh-cn/devices/architecture/hidl/versioning.html
index a48fc3c0..518daf0b 100644
--- a/zh-cn/devices/architecture/hidl/versioning.html
+++ b/zh-cn/devices/architecture/hidl/versioning.html
@@ -84,7 +84,7 @@
<li>如有必è¦ï¼Œå¯ä»¥æ˜¯ä¸é€æ˜Žæ•°æ®ï¼ˆå¦‚公钥ã€ID 等)。</li>
</ul>
-<p>如果使用ä¸é€æ˜Žæ•°æ®ï¼Œåˆ™åªèƒ½åœ¨ HIDL 接å£çš„一侧读å–相关数æ®ã€‚例如,如果 <code>vendor.img</code> 代ç ä¸º <code>system.img</code> 上的æŸä¸ªç»„件æ供了一项字符串消æ¯æˆ– <code>vec&lt;uint8_t&gt;</code> æ•°æ®ï¼Œåˆ™è¿™é¡¹æ•°æ®ä¸èƒ½ç”± <code>system.img</code> 自行解æžï¼Œåªèƒ½ä¼ å›žåˆ° <code>vendor.img</code> 进行解读。<strong>将值从 <code>vendor.img</code> 传递到 <code>system.img</code> 上的供应商代ç æˆ–其他设备时,相关数æ®çš„æ ¼å¼åŠå…¶è§£è¯»æ–¹å¼å¿…须准确æ述,并且ä»æ˜¯ç›¸åº”接å£çš„一部分</strong>。</p>
+<p>如果使用ä¸é€æ˜Žæ•°æ®ï¼Œåˆ™åªèƒ½åœ¨ HIDL 接å£çš„一侧读å–相关数æ®ã€‚例如,如果 <code>vendor.img</code> 代ç ä¸º <code>system.img</code> 上的æŸä¸ªç»„件æ供了一项字符串消æ¯æˆ– <code>vec&lt;uint8_t&gt;</code> æ•°æ®ï¼Œåˆ™è¿™é¡¹æ•°æ®ä¸èƒ½ç”± <code>system.img</code> 自行解æžï¼Œåªèƒ½ä¼ å›žåˆ° <code>vendor.img</code> 进行解读。<strong>å°† <code>vendor.img</code> 中的值传递给 <code>system.img</code> 上的供应商代ç æˆ–其他设备时,相关数æ®çš„æ ¼å¼åŠå…¶è§£è¯»æ–¹å¼å¿…须准确æ述,并且ä»æ˜¯ç›¸åº”接å£çš„一部分</strong>。</p>
<h3 id="structuring-guidelines">准则</h3>
diff --git a/zh-cn/devices/bootloader/partitions-images.html b/zh-cn/devices/bootloader/partitions-images.html
index c7f248e2..8b33252c 100644
--- a/zh-cn/devices/bootloader/partitions-images.html
+++ b/zh-cn/devices/bootloader/partitions-images.html
@@ -26,8 +26,8 @@ Android 设备包å«è‹¥å¹²ä¸ªåˆ†åŒºï¼Œè¿™äº›åˆ†åŒºåœ¨å¯åŠ¨è¿‡ç¨‹ä¸­å‘挥ä¸åŒ
</p>
<ul>
<li><strong>boot</strong>:<code>boot</code> 分区包å«é€šè¿‡ <code>mkbootimg</code> 组åˆåœ¨ä¸€èµ·çš„内核映åƒå’Œ RAM ç£ç›˜ã€‚为了直接刷写内核而ä¸åˆ·å†™æ–°çš„ boot 分区,å¯ä»¥ä½¿ç”¨è™šæ‹Ÿåˆ†åŒºï¼š<ul>
- <li><strong>kernel</strong>:<code>kernel</code> 虚拟分区会通过将新映åƒå†™å…¥æ—§ç£ç›˜æ¥ä»…覆盖内核(zImageã€zImage-dtb å’Œ Image.gz-dtb)。为此,它会确定 eMMC 中现有内核映åƒçš„起始ä½ç½®å¹¶å°†æ–°å†…核映åƒå¤åˆ¶åˆ°è¯¥ä½ç½®ã€‚请记ä½ï¼Œæ–°å†…核映åƒå¯èƒ½ä¼šå¤§äºŽçŽ°æœ‰å†…核映åƒã€‚引导加载程åºå¯ä»¥é€šè¿‡ç§»åŠ¨å…¶åŽçš„任何数æ®æ¥è…¾å‡ºç©ºé—´æˆ–放弃出错的æ“作。如果æ供的开å‘内核ä¸å…¼å®¹ï¼Œåˆ™å¯èƒ½éœ€è¦ä½¿ç”¨ç›¸å…³çš„内核模å—æ›´æ–° dtb 分区(如果存在)ã€vendor 分区或 system 分区。
- </li><li><strong>ramdisk</strong>:<code>ramdisk</code> 虚拟分区会通过将新映åƒå†™å…¥æ—§ç£ç›˜æ¥ä»…覆盖 RAM ç£ç›˜ã€‚为此,它会确定 eMMC 中现有 <code>ramdisk.img</code> 的起始ä½ç½®å¹¶å°†æ–° RAM ç£ç›˜æ˜ åƒå¤åˆ¶åˆ°è¯¥ä½ç½®ã€‚请记ä½ï¼Œæ–° RAM ç£ç›˜æ˜ åƒå¯èƒ½ä¼šå¤§äºŽçŽ°æœ‰ RAM ç£ç›˜æ˜ åƒã€‚引导加载程åºå¯ä»¥é€šè¿‡ç§»åŠ¨å…¶åŽçš„任何数æ®æ¥è…¾å‡ºç©ºé—´æˆ–放弃出错的æ“作。</li></ul>
+ <li><strong>kernel</strong>:<code>kernel</code> 虚拟分区会将新映åƒå†™å…¥æ—§ç£ç›˜ï¼Œä»¥ä¾¿ä»…覆盖内核(zImageã€zImage-dtb å’Œ Image.gz-dtb)。为此,它会确定 eMMC 中现有内核映åƒçš„起始ä½ç½®å¹¶å°†æ–°å†…核映åƒå¤åˆ¶åˆ°è¯¥ä½ç½®ã€‚请记ä½ï¼Œæ–°å†…核映åƒå¯èƒ½ä¼šå¤§äºŽçŽ°æœ‰å†…核映åƒã€‚引导加载程åºå¯ä»¥é€šè¿‡ç§»åŠ¨å…¶åŽçš„任何数æ®æ¥è…¾å‡ºç©ºé—´æˆ–放弃出错的æ“作。如果æ供的开å‘内核ä¸å…¼å®¹ï¼Œåˆ™å¯èƒ½éœ€è¦ä½¿ç”¨ç›¸å…³çš„内核模å—æ›´æ–° dtb 分区(如果存在)ã€vendor 分区或 system 分区。
+ </li><li><strong>ramdisk</strong>:<code>ramdisk</code> 虚拟分区会将新映åƒå†™å…¥æ—§ç£ç›˜ï¼Œä»¥ä¾¿ä»…覆盖 RAM ç£ç›˜ã€‚为此,它会确定 eMMC 中现有 <code>ramdisk.img</code> 的起始ä½ç½®å¹¶å°†æ–° RAM ç£ç›˜æ˜ åƒå¤åˆ¶åˆ°è¯¥ä½ç½®ã€‚请记ä½ï¼Œæ–° RAM ç£ç›˜æ˜ åƒå¯èƒ½ä¼šå¤§äºŽçŽ°æœ‰ RAM ç£ç›˜æ˜ åƒã€‚引导加载程åºå¯ä»¥é€šè¿‡ç§»åŠ¨å…¶åŽçš„任何数æ®æ¥è…¾å‡ºç©ºé—´æˆ–放弃出错的æ“作。</li></ul>
</li><li><strong>system</strong>:<code>system</code> 分区主è¦åŒ…å« Android 框架。
</li><li><strong>recovery</strong>:<code>recovery</code> 分区会存储在 OTA 过程中å¯åŠ¨çš„æ¢å¤æ˜ åƒã€‚å¦‚æžœè®¾å¤‡æ”¯æŒ <a href="/devices/tech/ota/ab/">A/B æ›´æ–°</a>,则æ¢å¤æ˜ åƒå¯ä»¥æ˜¯å¯åŠ¨æ˜ åƒä¸­åŒ…å«çš„ RAM ç£ç›˜ï¼Œè€Œä¸æ˜¯å•ç‹¬çš„映åƒã€‚
</li><li><strong>cache</strong>:<code>cache</code> 分区会存储临时数æ®ï¼Œå¦‚果设备使用 A/B 更新,则该分区是å¯é€‰çš„。cache 分区ä¸éœ€è¦å¯ä»Žå¼•å¯¼åŠ è½½ç¨‹åºå†™å…¥ï¼Œè€Œåªéœ€è¦å¯æ¸…空。大å°å–决于设备类型和 userdata 分区的å¯ç”¨ç©ºé—´ã€‚ç›®å‰ï¼Œ50MB 至 100MB 应该没问题。
@@ -35,12 +35,12 @@ Android 设备包å«è‹¥å¹²ä¸ªåˆ†åŒºï¼Œè¿™äº›åˆ†åŒºåœ¨å¯åŠ¨è¿‡ç¨‹ä¸­å‘挥ä¸åŒ
</li><li><strong>userdata</strong>:<code>userdata</code> 分区包å«ç”¨æˆ·å®‰è£…的应用和数æ®ï¼ŒåŒ…括自定义数æ®ã€‚
</li><li><strong>metadata</strong>:当设备已加密且存储空间为 16MB 或更大时,便会使用 <code>metadata</code> 分区。
</li><li><strong>vendor</strong>:<code>vendor</code> 分区包å«æ‰€æœ‰ä¸å¯åˆ†å‘ç»™ Android å¼€æºé¡¹ç›® (AOSP) 的二进制文件。如果没有专有信æ¯ï¼Œåˆ™å¯ä»¥çœç•¥æ­¤åˆ†åŒºã€‚
-</li><li><strong>radio</strong>:<code>radio</code> 分区包å«æ— çº¿è£…置映åƒã€‚åªæœ‰åŒ…å«æ— çº¿è£…置且在专用分区中包å«ç‰¹å®šäºŽæ— çº¿è£…置的软件的设备需è¦æ­¤åˆ†åŒºã€‚
+</li><li><strong>radio</strong>:<code>radio</code> 分区包å«æ— çº¿è£…置映åƒã€‚åªæœ‰åŒ…å«æ— çº¿è£…置且在专用分区中包å«æ— çº¿è£…置专用软件的设备æ‰éœ€è¦æ­¤åˆ†åŒºã€‚
</li><li><strong>tos</strong>:<code>tos</code> 分区会存储 Trusty æ“作系统的二进制映åƒï¼Œä¸”ä»…åœ¨è®¾å¤‡åŒ…å« Trusty 时使用。</li>
</ul>
<h2 id="flow">æµç¨‹</h2>
<p>
-引导加载程åºçš„è¿è¡Œæ–¹å¼å¦‚下:
+引导加载程åºçš„è¿ä½œæ–¹å¼å¦‚下:
</p><ol>
<li>首先加载引导加载程åºã€‚
</li><li>引导加载程åºåˆå§‹åŒ–内存。
@@ -72,7 +72,7 @@ RAM ç£ç›˜åº”包å«é€‚åˆä½œä¸º rootfs 装载的根文件系统。RAM ç£ç›˜æ˜ å
您å¯ä»¥åœ¨ä»¥ä¸‹ä½ç½®æ‰¾åˆ° <code>mkbootimg</code> 实现:<code><a href="https://android.googlesource.com/platform/system/core/+/master/mkbootimg">system/core/mkbootimg</a></code>
</p>
<p>
-引导加载程åºä¼šè¯»å–ç”± mkbootimg 生æˆçš„ <code><a href="https://android.googlesource.com/platform/system/core/+/master/mkbootimg/bootimg.h">bootimg.h</a></code> 标头文件,并更新内核标头以使其包å«æ­£åœ¨è¢«åˆ·å†™çš„ RAM ç£ç›˜çš„正确ä½ç½®å’Œå¤§å°ã€å†…核基å€ã€å‘½ä»¤è¡Œå‚数等。然åŽï¼Œå¼•å¯¼åŠ è½½ç¨‹åºä¼šå°†å¯åŠ¨æ˜ åƒä¸­æŒ‡å®šçš„命令行附加到引导加载程åºç”Ÿæˆçš„命令行的末尾。
+引导加载程åºä¼šè¯»å–ç”± mkbootimg 生æˆçš„ <code><a href="https://android.googlesource.com/platform/system/core/+/master/mkbootimg/bootimg.h">bootimg.h</a></code> 标头文件,并更新内核标头,使其包å«æ­£åœ¨è¢«åˆ·å†™çš„ RAM ç£ç›˜çš„正确ä½ç½®å’Œå¤§å°ã€å†…核基å€ã€å‘½ä»¤è¡Œå‚数等。然åŽï¼Œå¼•å¯¼åŠ è½½ç¨‹åºä¼šå°†å¯åŠ¨æ˜ åƒä¸­æŒ‡å®šçš„命令行附加到引导加载程åºç”Ÿæˆçš„命令行的末尾。
</p><h3 id="file-system-images-system-userdata-recovery">文件系统映åƒï¼ˆç³»ç»Ÿã€ç”¨æˆ·æ•°æ®å’Œæ¢å¤æ˜ åƒï¼‰</h3>
<h4 id="sparse-image-format">YAFFS2 映åƒæ ¼å¼</h4>
@@ -88,7 +88,7 @@ RAM ç£ç›˜åº”包å«é€‚åˆä½œä¸º rootfs 装载的根文件系统。RAM ç£ç›˜æ˜ å
</p>
<h4 id="sparse-image-format">稀ç–映åƒæ ¼å¼</h4>
<p>
-应支æŒç¨€ç–映åƒæ ¼å¼ã€‚“ext4 压缩映åƒâ€æ–‡æ¡£å’Œ <code><a href="https://android.googlesource.com/platform/system/core/+/master/libsparse/sparse_format.h">system/core/libsparse/sparse_format.h</a></code> 对这ç§æ ¼å¼è¿›è¡Œäº†è¯´æ˜Žï¼Œè¯¥æ ¼å¼çš„实现ä½ç½®ä¸ºï¼š<code><a href="https://android.googlesource.com/platform/system/core/+/master/libsparse/sparse_read.cpp">system/core/libsparse/sparse_read.cpp</a></code>。
+稀ç–映åƒæ ¼å¼åº”å—支æŒã€‚“ext4 压缩映åƒâ€æ–‡æ¡£å’Œ <code><a href="https://android.googlesource.com/platform/system/core/+/master/libsparse/sparse_format.h">system/core/libsparse/sparse_format.h</a></code> 对这ç§æ ¼å¼è¿›è¡Œäº†è¯´æ˜Žï¼Œè¯¥æ ¼å¼çš„实现ä½ç½®ä¸ºï¼š<code><a href="https://android.googlesource.com/platform/system/core/+/master/libsparse/sparse_read.cpp">system/core/libsparse/sparse_read.cpp</a></code>。
</p>
<p>
如果使用基于å—çš„å­˜å‚¨è®¾å¤‡ï¼Œåˆ™åº”æ”¯æŒ ext4 或 f2fs。è¦å¿«é€Ÿä¼ è¾“并刷写大型空 ext4 文件系统 (userdata),应以稀ç–æ ¼å¼å­˜å‚¨æ˜ åƒï¼Œæ˜ åƒä¸­åŒ…å«æœ‰å…³æ–‡ä»¶ç³»ç»Ÿçš„哪些区域å¯ä»¥ä¿ç•™ä¸å†™çš„ä¿¡æ¯ã€‚文件格å¼ç”± <code>mke2fs</code> 实用程åºç¼–写,该实用程åºè¿˜ç”¨äºŽåˆ›å»ºæ–‡ä»¶æ ¼å¼ç”±å¼•å¯¼åŠ è½½ç¨‹åºè¯»å–和刷写的映åƒã€‚有关属性,请å‚è§ä¸‹é¢å‡ éƒ¨åˆ†ï¼š
diff --git a/zh-cn/devices/bootloader/unlock-trusty.html b/zh-cn/devices/bootloader/unlock-trusty.html
index f96f3e29..eb2d0689 100644
--- a/zh-cn/devices/bootloader/unlock-trusty.html
+++ b/zh-cn/devices/bootloader/unlock-trusty.html
@@ -37,7 +37,7 @@ flashing unlock</code> 设置此解é”模å¼ï¼Œè®¾ç½®åŽï¼Œæ­¤æ¨¡å¼åœ¨ç³»ç»Ÿé‡
</p>
<p>
所有尚未覆盖的 RAM 都应在 <code>fastboot flashing
-unlock</code> 过程中被é‡ç½®ã€‚此措施å¯é˜²æ­¢å‡ºçŽ°è¯»å–上次å¯åŠ¨çš„剩余 RAM 内容这一攻击。åŒæ ·ï¼Œè§£é”的设备应在æ¯æ¬¡å¯åŠ¨æ—¶æ¸…除 RAM,å‰æ是这样åšä¸ä¼šé€ æˆä¸å¯æŽ¥å—的延迟,但应ä¿ç•™ç”¨äºŽå†…核的 <a href="https://www.kernel.org/doc/html/v4.12/admin-guide/ramoops.html" class="external"><code>ramoops</code></a> 的区域。
+unlock</code> 过程中被é‡ç½®ã€‚此措施å¯é˜²æ­¢å‡ºçŽ°è¯»å–上次å¯åŠ¨çš„剩余 RAM 内容这一攻击。åŒæ ·ï¼Œè§£é”的设备应在æ¯æ¬¡å¯åŠ¨æ—¶æ¸…除 RAM(å‰æ是这样åšä¸ä¼šé€ æˆä¸å¯æŽ¥å—的延迟),但应ä¿ç•™ç”¨äºŽå†…核的 <a href="https://www.kernel.org/doc/html/v4.12/admin-guide/ramoops.html" class="external"><code>ramoops</code></a> 的区域。
</p>
<p>
打算零售的设备应以é”定状æ€å‘货(并且 <code>get_unlock_ability</code> 返回“0â€ï¼‰ã€‚这是为了确ä¿æ”»å‡»è€…ä¸èƒ½é€šè¿‡å®‰è£…自己的系统或å¯åŠ¨æ˜ åƒæ¥æŸå®³è®¾å¤‡ã€‚
@@ -103,7 +103,7 @@ unlock</code> 产生的效果相似:用户必须按设备上的æŸäº›ç‰©ç†æŒ‰
</li><li>在 ARM v7 上,CPU 处于 SVC 模å¼ï¼›åœ¨ ARM v8 上,CPU 处于 EL3 模å¼
</li><li>寄存器处于以下状æ€ï¼š<ul>
<li>r0/x0:分é…ç»™ TOS 的内存大å°ã€‚
-</li><li>r1/x1:连续内存å—(包å«ç‰¹å®šäºŽå¹³å°çš„å¯åŠ¨å‚数)的物ç†åœ°å€ã€‚æ­¤å—的布局特定于平å°ã€‚
+</li><li>r1/x1:连续内存å—(包å«å¹³å°ç‰¹æœ‰çš„å¯åŠ¨å‚数)的物ç†åœ°å€ã€‚æ­¤å—的布局特定于平å°ã€‚
</li><li>r2/x2:上述内存å—的大å°ã€‚
</li><li>r14/x30:返回在 TOS åˆå§‹åŒ–åŽè·³è½¬åˆ°ï¼ˆåœ¨éžå®‰å…¨æ¨¡å¼ä¸‹ï¼‰çš„地å€ã€‚</li> </ul>
</li> </ul>
diff --git a/zh-cn/devices/sensors/versioning.html b/zh-cn/devices/sensors/versioning.html
index 6dc47148..65fb903f 100644
--- a/zh-cn/devices/sensors/versioning.html
+++ b/zh-cn/devices/sensors/versioning.html
@@ -119,7 +119,7 @@ SENSOR_FLAG_CONTINUOUS_MODE,
</li><li> 传感器是å¦æ”¯æŒæ‰¹å¤„ç†å–决于它是å¦å…·æœ‰å¤§äºŽ 0 çš„ <code>fifoMaxEventCount </code>。(在以å‰çš„版本中,它是以 <code>batch()</code> 的返回值为ä¾æ®ã€‚)
</li><li> 支æŒæ‰¹å¤„ç†çš„传感器在以å‰çš„版本中始终处于“批处ç†æ¨¡å¼â€ï¼šå³ä½¿ <code>max_report_latency_ns</code> å‚数为 0,ä»å¿…须对传感器进行批处ç†ï¼Œè¿™æ„味ç€å½“ SoC 进入挂起模å¼æ—¶ï¼Œäº‹ä»¶å¿…须存储在 FIFO 中。
</li><li> <code>batch</code> 函数的 <code>flags </code>å‚æ•°å°†ä¸å†ä½¿ç”¨ã€‚<code>DRY_RUN</code> å’Œ <code>WAKE_UPON_FIFO_FULL</code> 两者都已弃用,将永远ä¸ä¼šè¢«ä¼ é€’ç»™ <code>batch</code> 函数。
- </li><li> 批处ç†è¶…æ—¶å‚数现称为 <code>max_report_latency</code> å‚数。
+ </li><li>批处ç†è¶…æ—¶å‚数现称为 <code>max_report_latency</code> å‚数。
</li></ul>
</body></html> \ No newline at end of file
diff --git a/zh-cn/devices/tech/admin/ota-updates.html b/zh-cn/devices/tech/admin/ota-updates.html
index 82265558..ef691bf6 100644
--- a/zh-cn/devices/tech/admin/ota-updates.html
+++ b/zh-cn/devices/tech/admin/ota-updates.html
@@ -55,7 +55,7 @@ Android 9 å…许设备所有者将 OTA 更新最多推迟 90 天,增强了设å
</ul>
<p>
-设备所有者还å¯ä»¥é€šè¿‡<a href="https://developer.android.com/work/dpc/system-updates#freeze-periods">设置冻结时段</a>(在 Android 9 或更高版本中),在é‡è¦æ—¶æ®µï¼ˆå¦‚节å‡æ—¥æˆ–其他ç¹å¿™æ—¶æ®µï¼‰å†»ç»“æ“作系统版本。系统在冻结时段ä¸ä¼šå®‰è£… OTA 更新。我们建议使用 <code>SystemUpdatePolicy.InstallationOption</code>(请å‚è§ä¸‹ä¸€èŠ‚);ä¸è¿‡ï¼ŒOTA 客户端还å¯ä»¥é€šè¿‡è°ƒç”¨ <a href="https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#getFreezePeriods()"><code>SystemUpdatePolicy.getFreezePeriods()</code></a> 了解设备是å¦å¤„于冻结时段。
+设备所有者还å¯ä»¥é€šè¿‡<a href="https://developer.android.com/work/dpc/system-updates#freeze-periods">设置冻结时段</a>(在 Android 9 或更高版本中),在é‡è¦æ—¶æ®µï¼ˆå¦‚节å‡æ—¥æˆ–其他ç¹å¿™æ—¶æ®µï¼‰å†»ç»“æ“作系统版本。系统在冻结时段ä¸ä¼šå®‰è£… OTA 更新。我们建议使用 <code>SystemUpdatePolicy.InstallationOption</code>(请å‚è§ä¸‹ä¸€èŠ‚);ä¸è¿‡ï¼ŒOTA 客户端还å¯ä»¥é€šè¿‡è°ƒç”¨ <a href="https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#getFreezePeriods()"><code>SystemUpdatePolicy.getFreezePeriods()</code></a> æ¥æ£€æŸ¥è®¾å¤‡æ˜¯å¦å¤„于冻结时段。
</p>
<h2 id="implementing-installation-options">
@@ -78,7 +78,7 @@ Android 9 引入了专为系统更新客户端设计的 @SystemApi <code>SystemU
</ul>
<p>
-系统更新客户端å¯ä»¥æŸ¥è¯¢ <code>SystemUpdatePolicy.InstallationOption</code>,方法是使用 <code>SystemUpdatePolicy.getInstallationOptionAt(long <var>when</var>)</code>,其中“whenâ€è¡¨ç¤ºæŸ¥è¯¢å®‰è£…选项的时间(从公元纪年开始计算的毫秒数)。<var></var>系统更新客户端å¯ä»¥ä½¿ç”¨ <code>SystemUpdatePolicy.getInstallationOptionAt(long <var>when</var>)</code> 方法,在有效时间结æŸå‰é’ˆå¯¹è¿”回的选项执行æ“作。在返回的选项失效åŽï¼Œå®¢æˆ·ç«¯å¯ä»¥ä½¿ç”¨æ–°çš„时间戳为最近的选项执行å¦ä¸€æ¬¡æŸ¥è¯¢ã€‚
+系统更新客户端å¯ä»¥æŸ¥è¯¢ <code>SystemUpdatePolicy.InstallationOption</code>,方法是使用 <code>SystemUpdatePolicy.getInstallationOptionAt(long <var>when</var>)</code>,其中“whenâ€è¡¨ç¤ºæŸ¥è¯¢å®‰è£…选项的时间(从公元纪年开始计算的毫秒数)。<var></var>系统更新客户端å¯ä»¥ä½¿ç”¨ <code>SystemUpdatePolicy.getInstallationOptionAt(long <var>when</var>)</code> 方法在有效时间结æŸå‰é’ˆå¯¹è¿”回的选项执行æ“作。在返回的选项失效åŽï¼Œå®¢æˆ·ç«¯å¯ä»¥ä½¿ç”¨æ–°çš„时间戳为最近的选项执行å¦ä¸€æ¬¡æŸ¥è¯¢ã€‚
</p>
<p>
diff --git a/zh-cn/devices/tech/config/perms-whitelist.html b/zh-cn/devices/tech/config/perms-whitelist.html
index b373bccd..f05b6e66 100644
--- a/zh-cn/devices/tech/config/perms-whitelist.html
+++ b/zh-cn/devices/tech/config/perms-whitelist.html
@@ -23,6 +23,10 @@
特æƒåº”用是ä½äºŽç³»ç»Ÿæ˜ åƒ <code>/system/priv-app</code> 目录下的系统应用。过去,设备实现人员几乎无法控制å¯ä»¥å‘特æƒåº”用授予哪些签å|特许æƒé™ã€‚从 Android 8.0 开始,实现人员å¯ä»¥å°†ç‰¹æƒåº”用显å¼åŠ å…¥åˆ° <code>/etc/permissions</code> 目录下的系统é…ç½® XML 文件的白åå•ä¸­ã€‚未在这些 XML 文件中明确列出的应用ä¸ä¼šè¢«æŽˆäºˆç‰¹è®¸æƒé™ã€‚
</p>
+<aside class="note">
+ <strong>注æ„</strong>:仅<a href="https://developer.android.com/guide/topics/manifest/manifest-element#package">软件包</a>=“androidâ€çš„应用所声明的<a href="https://developer.android.com/guide/topics/manifest/permission-element">æƒé™</a>需列入相应白åå•ä¸­ã€‚
+</aside>
+
<h2 id="adding-whitelists">添加白åå•</h2>
<p>
应用的æƒé™ç™½åå•å¯åˆ—在ä½äºŽ <code>frameworks/base/etc/permissions</code> 目录下的å•ä¸ªæˆ–多个 XML 文件中,如下所示:
diff --git a/zh-cn/devices/tech/debug/fuzz-sanitize.html b/zh-cn/devices/tech/debug/fuzz-sanitize.html
index 0319b0d5..47496cc7 100644
--- a/zh-cn/devices/tech/debug/fuzz-sanitize.html
+++ b/zh-cn/devices/tech/debug/fuzz-sanitize.html
@@ -1,5 +1,5 @@
<html devsite><head>
- <title>动æ€åˆ†æž</title>
+ <title>安全性测试</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
@@ -20,10 +20,11 @@
limitations under the License.
-->
- <p>本部分从安全角度总结了实用的动æ€åˆ†æžå’Œè°ƒè¯•å·¥å…·ï¼Œå…¶ä¸­åŒ…括一些用于模糊测试ã€æŽ’错和预先缓解攻击的工具。有关常规调试,请å‚阅<a href="/devices/tech/debug/">调试部分</a>。</p>
+ <p>本部分总结了用于安全性测试和调试的工具,其中包括一些用于模糊测试ã€æŽ’错和预先防止攻击的工具。有关常规调试,请å‚阅<a href="/devices/tech/debug/">调试部分</a>。</p>
<p>
Android 的多个版本都支æŒæ¨¡ç³Šæµ‹è¯•å·¥å…·ï¼Œä¸è¿‡ï¼ŒAndroid 8.0 åŠæ›´é«˜ç‰ˆæœ¬ä¸­æ供了模糊测试方é¢çš„更多支æŒï¼Œåœ¨ Android 编译系统中实现了更紧密的模糊测试工具集æˆï¼Œè¿˜é’ˆå¯¹ Android 内核æ供了更有力的动æ€åˆ†æžæ”¯æŒã€‚
</p>
+<p>除了特定于安全性的测试之外,Android 还包括针对兼容性的常规<a href="/compatibility/tests">å¹³å°æµ‹è¯•</a>。</p>
</body></html> \ No newline at end of file
diff --git a/zh-cn/security/bulletin/2018-07-01.html b/zh-cn/security/bulletin/2018-07-01.html
index 89de0337..5e6bf3b6 100644
--- a/zh-cn/security/bulletin/2018-07-01.html
+++ b/zh-cn/security/bulletin/2018-07-01.html
@@ -28,7 +28,7 @@
Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有问题的通知。我们已将针对这些问题的æºä»£ç è¡¥ä¸ç¨‹åºå‘布到 Android å¼€æºé¡¹ç›® (AOSP) 代ç åº“中,并在本公告中æ供了相应链接。本公告中还æä¾›äº†æŒ‡å‘ AOSP 之外的补ä¸ç¨‹åºçš„链接。
</p>
<p>
-这些问题中å±é™©æ€§æœ€é«˜çš„是媒体框架中的一个严é‡ç¨‹åº¦ä¸ºâ€œä¸¥é‡â€çš„安全æ¼æ´žï¼Œè¯¥æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用蓄æ„创建的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦è¯„ä¼°</a>çš„ä¾æ®æ˜¯æ¼æ´žè¢«åˆ©ç”¨åŽå¯èƒ½ä¼šå¯¹å—å½±å“的设备造æˆçš„å½±å“(å‡è®¾ç›¸å…³å¹³å°å’ŒæœåŠ¡ç¼“解措施被æˆåŠŸè§„é¿æˆ–出于开å‘目的而被åœç”¨ï¼‰ã€‚
+这些问题中å±é™©æ€§æœ€é«˜çš„是媒体框架中的一个严é‡ç¨‹åº¦ä¸ºâ€œä¸¥é‡â€çš„安全æ¼æ´žï¼Œè¯¥æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用特制的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦è¯„ä¼°</a>çš„ä¾æ®æ˜¯æ¼æ´žè¢«åˆ©ç”¨åŽå¯èƒ½ä¼šå¯¹å—å½±å“的设备造æˆçš„å½±å“(å‡è®¾ç›¸å…³å¹³å°å’ŒæœåŠ¡ç¼“解措施被æˆåŠŸè§„é¿æˆ–出于开å‘目的而被åœç”¨ï¼‰ã€‚
</p>
<p>
尚未有人å‘我们举报过有用户主动利用或滥用这些新报告的问题。请å‚阅 <a href="#mitigations">Android å’Œ Google Play ä¿æŠ¤æœºåˆ¶æ供的缓解措施</a>部分,详细了解有助于æ高 Android å¹³å°å®‰å…¨æ€§çš„ <a href="/security/enhancements/index.html">Android 安全平å°é˜²æŠ¤åŠŸèƒ½</a>å’Œ Google Play ä¿æŠ¤æœºåˆ¶ã€‚
@@ -47,11 +47,11 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</ul>
<h2 id="2018-07-01-details">2018-07-01 安全补ä¸ç¨‹åºçº§åˆ«æ¼æ´žè¯¦æƒ…</h2>
<p>
-我们在下é¢æ供了 2018-07-01 è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–çš„æ¯ä¸ªå®‰å…¨æ¼æ´žçš„详细信æ¯ã€‚æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考内容ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 AOSP 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+我们在下é¢æ供了 2018-07-01 è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–çš„æ¯ä¸ªå®‰å…¨æ¼æ´žçš„详细信æ¯ã€‚æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考编å·ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 AOSP 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
</p>
<h3 id="framework">框架</h3>
-<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用蓄æ„创建的 pac 文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用特制的 pac 文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
<table>
<colgroup><col width="21%" />
@@ -61,7 +61,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>已更新的 AOSP 版本</th>
@@ -83,7 +83,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tbody></table>
<h3 id="media-framework">媒体框架</h3>
-<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用蓄æ„创建的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用特制的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
<table>
<colgroup><col width="21%" />
@@ -93,7 +93,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>已更新的 AOSP 版本</th>
@@ -136,7 +136,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tbody></table>
<h3 id="system">系统</h3>
-<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用蓄æ„创建的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用特制的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
<table>
<colgroup><col width="21%" />
@@ -146,7 +146,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>已更新的 AOSP 版本</th>
@@ -183,7 +183,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<h2 id="2018-07-05-details">2018-07-05 安全补ä¸ç¨‹åºçº§åˆ«æ¼æ´žè¯¦æƒ…</h2>
<p>
-我们在下é¢æ供了 2018-07-05 è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–çš„æ¯ä¸ªå®‰å…¨æ¼æ´žçš„详细信æ¯ã€‚æ¼æ´žåˆ—在所影å“的组件下,内容包括 CVEã€ç›¸å…³å‚考内容ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>ã€ç»„件(如果适用)和已更新的 AOSP 版本(如果适用)等详细信æ¯ã€‚如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+我们在下é¢æ供了 2018-07-05 è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–çš„æ¯ä¸ªå®‰å…¨æ¼æ´žçš„详细信æ¯ã€‚æ¼æ´žåˆ—在所影å“的组件下,内容包括 CVEã€ç›¸å…³å‚考编å·ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>ã€ç»„件(如果适用)和已更新的 AOSP 版本(如果适用)等详细信æ¯ã€‚如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
</p>
<h3 id="kernel-components">内核组件</h3>
@@ -197,7 +197,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>组件</th>
@@ -236,7 +236,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tbody></table>
<h3 id="qualcomm-components">Qualcomm 组件</h3>
-<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©é‚»è¿‘区域内的攻击者利用蓄æ„创建的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©é‚»è¿‘区域内的攻击者利用特制的文件通过特æƒè¿›ç¨‹æ‰§è¡Œä»»æ„代ç ã€‚</p>
<table>
<colgroup><col width="21%" />
@@ -246,7 +246,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>组件</th>
@@ -302,7 +302,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>组件</th>
@@ -471,7 +471,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</ul>
<p><strong>2. 为何本公告有 2 个安全补ä¸ç¨‹åºçº§åˆ«ï¼Ÿ</strong></p>
<p>
-本公告之所以有 2 个安全补ä¸ç¨‹åºçº§åˆ«ï¼Œæ˜¯ä¸ºäº†è®© Android åˆä½œä¼™ä¼´èƒ½å¤Ÿçµæ´»åœ°ã€æ›´å¿«é€Ÿåœ°ä¿®å¤åœ¨å„ç§ Android 设备上类似的一系列æ¼æ´žã€‚我们建议 Android åˆä½œä¼™ä¼´ä¿®å¤æœ¬å…¬å‘Šä¸­çš„所有问题并使用最新的安全补ä¸ç¨‹åºçº§åˆ«ã€‚
+本公告之所以有 2 个安全补ä¸ç¨‹åºçº§åˆ«ï¼Œæ˜¯ä¸ºäº†è®© Android åˆä½œä¼™ä¼´èƒ½å¤Ÿçµæ´»åœ°ã€æ›´å¿«é€Ÿåœ°ä¿®å¤åœ¨å„ç§ Android 设备上类似的一部分æ¼æ´žã€‚我们建议 Android åˆä½œä¼™ä¼´ä¿®å¤æœ¬å…¬å‘Šä¸­çš„所有问题并使用最新的安全补ä¸ç¨‹åºçº§åˆ«ã€‚
</p>
<ul>
<li>如果设备使用的是 2018-07-01 这一安全补ä¸ç¨‹åºçº§åˆ«ï¼Œåˆ™å¿…须包å«è¯¥å®‰å…¨è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–的所有问题以åŠä¹‹å‰çš„安全公告中报告的所有问题的修å¤ç¨‹åºã€‚</li>
@@ -515,17 +515,17 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tr>
</tbody></table>
<p>
-<strong>4.“å‚考内容â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
+<strong>4.“å‚考编å·â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
</p>
<p>
-在æ¼æ´žè¯¦æƒ…表内,“å‚考内容â€åˆ—中的æ¡ç›®å¯èƒ½åŒ…å«ç”¨äºŽæ ‡è¯†å‚考值所属组织的å‰ç¼€ã€‚<em></em>
+在æ¼æ´žè¯¦æƒ…表内,“å‚考编å·â€åˆ—中的æ¡ç›®å¯èƒ½åŒ…å«ç”¨äºŽæ ‡è¯†å‚考值所属组织的å‰ç¼€ã€‚<em></em>
</p>
<table>
<colgroup><col width="25%" />
<col width="75%" />
</colgroup><tbody><tr>
<th>å‰ç¼€</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
</tr>
<tr>
<td>A-</td>
@@ -549,10 +549,10 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tr>
</tbody></table>
<p id="asterisk">
-<strong>5. 在“å‚考内容â€åˆ—中,Android Bug ID æ—边的 * 表示什么æ„æ€ï¼Ÿ<em></em></strong>
+<strong>5. 在“å‚考编å·â€åˆ—中,Android Bug ID æ—边的 * 表示什么æ„æ€ï¼Ÿ<em></em></strong>
</p>
<p>
-如果问题尚未公开å‘布,则在“å‚考内容â€åˆ—中,相应 Android Bug ID æ—边会显示 *。<em></em><a href="https://developers.google.com/android/drivers">Google Developers 网站</a>上针对 Nexus 设备æ供的最新二进制驱动程åºä¸­é€šå¸¸åŒ…å«æ—¨åœ¨è§£å†³ç›¸åº”问题的更新。
+如果问题尚未公开å‘布,则在“å‚考编å·â€åˆ—中,相应 Android Bug ID æ—边会显示 *。<em></em><a href="https://developers.google.com/android/drivers">Google Developers 网站</a>上针对 Pixel/Nexus 设备æ供的最新二进制驱动程åºä¸­é€šå¸¸åŒ…å«æ—¨åœ¨è§£å†³ç›¸åº”问题的更新。
</p>
<p>
<strong>6. 为什么è¦å°†å®‰å…¨æ¼æ´žæ‹†åˆ†åˆ°æœ¬å…¬å‘Šå’Œè®¾å¤‡â€Š/ åˆä½œä¼™ä¼´å®‰å…¨å…¬å‘Šï¼ˆå¦‚ Pixel/Nexus 公告)中?</strong>
diff --git a/zh-cn/security/bulletin/2018-08-01.html b/zh-cn/security/bulletin/2018-08-01.html
index 9307b3cb..39eec1b6 100644
--- a/zh-cn/security/bulletin/2018-08-01.html
+++ b/zh-cn/security/bulletin/2018-08-01.html
@@ -70,7 +70,9 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<tr>
<td>CVE-2018-9445</td>
<td>
- <a href="https://android.googlesource.com/platform/external/e2fsprogs/+/9a2d95e4ed9ec5ab76998654b1c2fba9cc139e50">A-80436257</a> [<a href="https://android.googlesource.com/platform/system/vold/+/940a1ff70cfc5f2e4de83da9ad84cd9734faadf6">2</a>]</td>
+ <a href="https://android.googlesource.com/platform/external/e2fsprogs/+/9a2d95e4ed9ec5ab76998654b1c2fba9cc139e50">A-80436257</a>
+ [<a href="https://android.googlesource.com/platform/system/vold/+/940a1ff70cfc5f2e4de83da9ad84cd9734faadf6">2</a>]
+ </td>
<td>EoP</td>
<td>高</td>
<td>6.0ã€6.0.1ã€7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
@@ -78,7 +80,11 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<tr>
<td>CVE-2018-9438</td>
<td>
-<a href="https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/b552ebf70913cc79085bcc4212235ea45e036d3b">A-78644887</a> [<a href="https://android.googlesource.com/platform/frameworks/base/+/e3854655e75d97552140d77cca5d20c121a17ef9">2</a>] [<a href="https://android.googlesource.com/platform/frameworks/opt/telephony/+/d1ce32b059bed774b41f11413c1d83a1bc412964">3</a>] [<a href="https://android.googlesource.com/platform/frameworks/base/+/97e1cd61d3040dd366ac9e25cdb6f134c7490846">4</a>]</td>
+<a href="https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/b552ebf70913cc79085bcc4212235ea45e036d3b">A-78644887</a>
+[<a href="https://android.googlesource.com/platform/frameworks/base/+/e3854655e75d97552140d77cca5d20c121a17ef9">2</a>]
+[<a href="https://android.googlesource.com/platform/frameworks/opt/telephony/+/d1ce32b059bed774b41f11413c1d83a1bc412964">3</a>]
+[<a href="https://android.googlesource.com/platform/frameworks/base/+/97e1cd61d3040dd366ac9e25cdb6f134c7490846">4</a>]
+</td>
<td>DoS</td>
<td>高</td>
<td>8.1</td>
@@ -95,7 +101,9 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<tr>
<td>CVE-2018-9451</td>
<td>
-<a href="https://android.googlesource.com/platform/frameworks/base/+/a409aa1214d6483efe129a4966f09aa4fdc097ad">A-79488511</a> [<a href="https://android.googlesource.com/platform/frameworks/base/+/1de25074adb5d9ed572d6a85e77d3df5ac3a7e9e">2</a>]</td>
+<a href="https://android.googlesource.com/platform/frameworks/base/+/a409aa1214d6483efe129a4966f09aa4fdc097ad">A-79488511</a>
+[<a href="https://android.googlesource.com/platform/frameworks/base/+/1de25074adb5d9ed572d6a85e77d3df5ac3a7e9e">2</a>]
+</td>
<td>ID</td>
<td>高</td>
<td>6.0ã€6.0.1ã€7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
@@ -122,7 +130,9 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<tr>
<td>CVE-2018-9427</td>
<td>
-<a href="https://android.googlesource.com/platform/frameworks/av/+/08d392085c095e227c029f64644bc08ef5a544de">A-77486542</a> [<a href="https://android.googlesource.com/platform/frameworks/av/+/c9909e5a980f941a5b72477755e09fb4dc57c478">2</a>]</td>
+<a href="https://android.googlesource.com/platform/frameworks/av/+/08d392085c095e227c029f64644bc08ef5a544de">A-77486542</a>
+[<a href="https://android.googlesource.com/platform/frameworks/av/+/c9909e5a980f941a5b72477755e09fb4dc57c478">2</a>]
+</td>
<td>RCE</td>
<td>严é‡</td>
<td>8.0ã€8.1</td>
@@ -218,7 +228,9 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<tr>
<td>CVE-2018-9448</td>
<td>
-<a href="https://android.googlesource.com/platform/system/bt/+/13294c70a66347c9e5d05b9f92f8ceb6fe38d7f6">A-79944113</a> [<a href="https://android.googlesource.com/platform/system/bt/+/f1f1c3e00f8d1baad0215b057e6d894517eeaddb">2</a>]</td>
+<a href="https://android.googlesource.com/platform/system/bt/+/13294c70a66347c9e5d05b9f92f8ceb6fe38d7f6">A-79944113</a>
+[<a href="https://android.googlesource.com/platform/system/bt/+/f1f1c3e00f8d1baad0215b057e6d894517eeaddb">2</a>]
+ </td>
<td>ID</td>
<td>高</td>
<td>8.0ã€8.1</td>
@@ -291,7 +303,8 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tr>
<tr>
<td>CVE-2018-5383</td>
- <td>A-79421580<a href="#asterisk">*</a><br />QC-CR#2209635</td>
+ <td>A-79421580<a href="#asterisk">*</a><br />
+ QC-CR#2209635</td>
<td>ID</td>
<td>高</td>
<td>è“牙</td>
diff --git a/zh-cn/security/bulletin/2018-09-01.html b/zh-cn/security/bulletin/2018-09-01.html
index 3d1e7cd0..c6f5d74c 100644
--- a/zh-cn/security/bulletin/2018-09-01.html
+++ b/zh-cn/security/bulletin/2018-09-01.html
@@ -754,7 +754,7 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
<strong>6. 为什么è¦å°†å®‰å…¨æ¼æ´žæ‹†åˆ†åˆ°æœ¬å…¬å‘Šå’Œè®¾å¤‡â€Š/ åˆä½œä¼™ä¼´å®‰å…¨å…¬å‘Šï¼ˆå¦‚ Pixel/Nexus 公告)中?</strong>
</p>
<p>
-è¦åœ¨ Android 设备上声明最新的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œå¿…须修å¤æœ¬å®‰å…¨å…¬å‘Šä¸­è®°å½•çš„安全æ¼æ´žã€‚但在声明安全补ä¸ç¨‹åºçº§åˆ«æ—¶ï¼Œå¹¶ä¸æ˜¯å¿…é¡»è¦ä¿®å¤è®¾å¤‡/åˆä½œä¼™ä¼´å®‰å…¨å…¬å‘Šä¸­è®°å½•çš„其他安全æ¼æ´žã€‚我们建议 Android 设备和芯片组制造商通过自己的安全网站(例如 <a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> 或 <a href="/security/bulletin/pixel/" class="external">Pixel/Nexus</a> 安全公告)记录其设备上存在的其他修å¤ç¨‹åºã€‚
+è¦åœ¨ Android 设备上声明最新的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œå¿…须修å¤æœ¬å®‰å…¨å…¬å‘Šä¸­è®°å½•çš„安全æ¼æ´žã€‚但在声明安全补ä¸ç¨‹åºçº§åˆ«æ—¶ï¼Œå¹¶ä¸æ˜¯å¿…é¡»è¦ä¿®å¤è®¾å¤‡/åˆä½œä¼™ä¼´å®‰å…¨å…¬å‘Šä¸­è®°å½•çš„其他安全æ¼æ´žã€‚我们建议 Android 设备和芯片组制造商通过自己的安全网站(例如 <a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> 或 <a href="/security/bulletin/pixel/" class="external">Pixel&amp;hairsp;/&amp;hairsp;Nexus</a> 安全公告)记录其设备上存在的其他修å¤ç¨‹åºã€‚
</p>
<h2 id="versions">版本</h2>
diff --git a/zh-cn/security/bulletin/2018-10-01.html b/zh-cn/security/bulletin/2018-10-01.html
index 323d6c6f..0f97e60e 100644
--- a/zh-cn/security/bulletin/2018-10-01.html
+++ b/zh-cn/security/bulletin/2018-10-01.html
@@ -67,7 +67,8 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tr>
<tr>
<td>CVE-2018-9490</td>
- <td><a href="https://android.googlesource.com/platform/external/chromium-libpac/+/948d4753664cc4e6b33cc3de634ac8fd5f781382">A-111274046</a> [<a href="https://android.googlesource.com/platform/external/v8/+/a24543157ae2cdd25da43e20f4e48a07481e6ceb">2</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/external/chromium-libpac/+/948d4753664cc4e6b33cc3de634ac8fd5f781382">A-111274046</a>
+ [<a href="https://android.googlesource.com/platform/external/v8/+/a24543157ae2cdd25da43e20f4e48a07481e6ceb">2</a>]</td>
<td>EoP</td>
<td>严é‡</td>
<td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
@@ -88,14 +89,17 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tr>
<tr>
<td>CVE-2018-9493</td>
- <td><a href="https://android.googlesource.com/platform/frameworks/base/+/462aaeaa616e0bb1342e8ef7b472acc0cbc93deb">A-111085900</a> [<a href="https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/e7364907439578ce5334bce20bb03fef2e88b107">2</a>] [<a href="https://android.googlesource.com/platform/frameworks/base/+/ebc250d16c747f4161167b5ff58b3aea88b37acf">3</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/frameworks/base/+/462aaeaa616e0bb1342e8ef7b472acc0cbc93deb">A-111085900</a>
+ [<a href="https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/e7364907439578ce5334bce20bb03fef2e88b107">2</a>]
+ [<a href="https://android.googlesource.com/platform/frameworks/base/+/ebc250d16c747f4161167b5ff58b3aea88b37acf">3</a>]</td>
<td>ID</td>
<td>高</td>
<td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
</tr>
<tr>
<td>CVE-2018-9452</td>
- <td><a href="https://android.googlesource.com/platform/frameworks/base/+/54f661b16b308cf38d1b9703214591c0f83df64d">A-78464361</a> [<a href="https://android.googlesource.com/platform/frameworks/base/+/3b6f84b77c30ec0bab5147b0cffc192c86ba2634">2</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/frameworks/base/+/54f661b16b308cf38d1b9703214591c0f83df64d">A-78464361</a>
+ [<a href="https://android.googlesource.com/platform/frameworks/base/+/3b6f84b77c30ec0bab5147b0cffc192c86ba2634">2</a>]</td>
<td>DoS</td>
<td>中</td>
<td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
@@ -201,14 +205,18 @@ Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有
</tr>
<tr>
<td>CVE-2018-9502</td>
- <td><a href="https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf">A-111936792</a> [<a href="https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85">2</a>] [<a href="https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736b">3</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf">A-111936792</a>
+ [<a href="https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85">2</a>]
+ [<a href="https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736b">3</a>]</td>
<td>ID</td>
<td>高</td>
<td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
</tr>
<tr>
<td>CVE-2018-9503</td>
- <td><a href="https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf">A-80432928</a> [<a href="https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85">2</a>] [<a href="https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736b">3</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf">A-80432928</a>
+ [<a href="https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85">2</a>]
+ [<a href="https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736b">3</a>]</td>
<td>ID</td>
<td>高</td>
<td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
diff --git a/zh-cn/security/bulletin/2018-11-01.html b/zh-cn/security/bulletin/2018-11-01.html
new file mode 100644
index 00000000..c1b7bf56
--- /dev/null
+++ b/zh-cn/security/bulletin/2018-11-01.html
@@ -0,0 +1,586 @@
+<html devsite><head>
+ <title>Android 安全公告 - 2018 年 11 月</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<p><em>å‘布时间:2018 å¹´ 11 月 5 æ—¥</em></p>
+
+<p>
+本 Android 安全公告详细介ç»äº†ä¼šå½±å“ Android 设备的安全æ¼æ´žã€‚安全补ä¸ç¨‹åºçº§åˆ«ä¸º 2018-11-05 或更新的 Android 系统都已解决本公告中所述的所有问题。è¦äº†è§£å¦‚何查看设备的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œè¯·å‚阅<a href="https://support.google.com/pixelphone/answer/4457705" class="external">查看并更新 Android 版本</a>。
+</p>
+<p>
+Android åˆä½œä¼™ä¼´åœ¨æœ¬å…¬å‘Šå‘布å‰è‡³å°‘一个月就已收到关于所有问题的通知。我们会在接下æ¥çš„ 48 å°æ—¶å†…将针对这些问题的æºä»£ç è¡¥ä¸ç¨‹åºå‘布到 Android å¼€æºé¡¹ç›® (AOSP) 代ç åº“中。届时,我们将会修订本公告,将相关 AOSP 链接增补到本文中。</p>
+<p>
+这一部分中最严é‡çš„æ¼æ´žå¯è®©é‚»è¿‘区域内的攻击者利用蓄æ„创建的文件在特æƒè¿›ç¨‹çŽ¯å¢ƒä¸­æ‰§è¡Œä»»æ„代ç ã€‚<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦è¯„ä¼°</a>çš„ä¾æ®æ˜¯æ¼æ´žè¢«åˆ©ç”¨åŽå¯èƒ½ä¼šå¯¹å—å½±å“的设备造æˆçš„å½±å“(å‡è®¾ç›¸å…³å¹³å°å’ŒæœåŠ¡ç¼“解措施被æˆåŠŸè§„é¿æˆ–出于开å‘目的而被åœç”¨ï¼‰ã€‚
+</p>
+<p>
+我们尚未收到用户关于这些新报告的问题被利用或滥用的举报。请å‚阅 <a href="#mitigations">Android å’Œ Google Play ä¿æŠ¤æœºåˆ¶æ供的缓解措施</a>部分,详细了解有助于æ高 Android å¹³å°å®‰å…¨æ€§çš„ <a href="/security/enhancements/">Android 安全平å°é˜²æŠ¤åŠŸèƒ½</a>å’Œ Google Play ä¿æŠ¤æœºåˆ¶ã€‚
+</p>
+<p class="note">
+<strong>注æ„</strong>:如需了解适用于 Google 设备的最新无线下载更新 (OTA) 和固件映åƒï¼Œè¯·å‚阅 <a href="/security/bulletin/pixel/2018-11-01">2018 å¹´ 11 月的 Pixel / Nexus 安全公告</a>。
+</p>
+
+<h2 id="announcements">通告</h2>
+<p>
+我们在 Libxaac 库中å‘现了多个安全问题,包括 CVE-2018-9528ã€CVE-2018-9529ã€CVE-2018-9530ã€CVE-2018-9531ã€CVE-2018-9532ã€CVE-2018-9533ã€CVE-2018-9534ã€CVE-2018-9535ã€CVE-2018-9569ã€CVE-2018-9570ã€CVE-2018-9571ã€CVE-2018-9572ã€CVE-2018-9573ã€CVE-2018-9574ã€CVE-2018-9575ã€CVE-2018-9576ã€CVE-2018-9577 å’Œ CVE-2018-9578。</p>
+<p>该库已被标记为实验性功能,并且ä¸å†çº³å…¥ä»»ä½• Android æ­£å¼ç‰ˆä¸­ã€‚</p>
+
+<h2 id="mitigations">Android å’Œ Google æœåŠ¡ç¼“解措施</h2>
+<p>
+这一部分总结了 <a href="/security/enhancements/">Android 安全平å°</a>å’ŒæœåŠ¡é˜²æŠ¤åŠŸèƒ½ï¼ˆå¦‚ <a href="https://www.android.com/play-protect" class="external">Google Play ä¿æŠ¤æœºåˆ¶</a>)æ供的缓解措施。这些功能有助于é™ä½Ž Android 上的安全æ¼æ´žè¢«æˆåŠŸåˆ©ç”¨çš„å¯èƒ½æ€§ã€‚
+</p>
+<ul>
+<li>较高版本的 Android å¹³å°ä¸­æ供的增强功能让攻击者更加难以利用 Android 上存在的许多问题。我们建议所有用户都尽å¯èƒ½æ›´æ–°åˆ°æœ€æ–°ç‰ˆ Android。</li>
+<li>Android 安全团队会积æžåˆ©ç”¨ <a href="https://www.android.com/play-protect" class="external">Google Play ä¿æŠ¤æœºåˆ¶</a>监控滥用行为,并会在å‘现<a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">å¯èƒ½æœ‰å®³çš„应用</a>æ—¶å‘用户å‘出警告。在安装有 <a href="http://www.android.com/gms" class="external">Google 移动æœåŠ¡</a>的设备上,Google Play ä¿æŠ¤æœºåˆ¶ä¼šé»˜è®¤å¤„于å¯ç”¨çŠ¶æ€ï¼Œå¯¹äºŽä»Ž Google Play 以外的æ¥æºå®‰è£…应用的用户æ¥è¯´ï¼Œè¯¥åŠŸèƒ½å°¤ä¸ºé‡è¦ã€‚</li>
+</ul>
+<h2 id="2018-11-01-details">2018-11-01 安全补ä¸ç¨‹åºçº§åˆ«æ¼æ´žè¯¦æƒ…</h2>
+<p>
+我们在下é¢æ供了 2018-11-01 è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–çš„æ¯ä¸ªå®‰å…¨æ¼æ´žçš„详细信æ¯ã€‚æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考编å·ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 AOSP 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+</p>
+
+<h3 id="framework">框架</h3>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©æœ¬åœ°æ¶æ„应用在特æƒè¿›ç¨‹çŽ¯å¢ƒä¸­æ‰§è¡Œä»»æ„代ç ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>已更新的 AOSP 版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9522</td>
+ <td>A-112550251</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9524</td>
+ <td>A-34170870</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9525</td>
+ <td>A-111330641</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="media-framework">媒体框架</h3>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…利用蓄æ„创建的文件在特æƒè¿›ç¨‹çŽ¯å¢ƒä¸­æ‰§è¡Œä»»æ„代ç ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>已更新的 AOSP 版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9527</td>
+ <td>A-112159345</td>
+ <td>RCE</td>
+ <td>严é‡</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9531</td>
+ <td>A-112661641</td>
+ <td>RCE</td>
+ <td>严é‡</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9536</td>
+ <td>A-112662184</td>
+ <td>EoP</td>
+ <td>严é‡</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9537</td>
+ <td>A-112891564</td>
+ <td>EoP</td>
+ <td>严é‡</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9521</td>
+ <td>A-111874331</td>
+ <td>RCE</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9539</td>
+ <td>A-113027383</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="system">系统</h3>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©è¿œç¨‹æ”»å‡»è€…访问通常仅é™æ‹¥æœ‰æƒé™çš„本地安装应用æ‰å¯ä»¥è®¿é—®çš„æ•°æ®ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>已更新的 AOSP 版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9540</td>
+ <td>A-111450417</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9542</td>
+ <td>A-111896861</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9543</td>
+ <td>A-112868088</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9544</td>
+ <td>A-113037220</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9545</td>
+ <td>A-113111784</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td rowspan="2">CVE-2018-9541</td>
+ <td rowspan="2">A-111450531</td>
+ <td>ID</td>
+ <td>中</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-media-framework">更新:媒体框架</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>已更新的 AOSP 版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9347</td>
+ <td>A-68664359</td>
+ <td>DoS</td>
+ <td>中</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-system">更新:系统</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>已更新的 AOSP 版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9457</td>
+ <td>A-72872376</td>
+ <td>EoP</td>
+ <td>中</td>
+ <td>8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h2 id="2018-11-05-details">2018-11-05 安全补ä¸ç¨‹åºçº§åˆ«æ¼æ´žè¯¦æƒ…</h2>
+<p>
+我们在下é¢æ供了 2018-11-05 è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–çš„æ¯ä¸ªå®‰å…¨æ¼æ´žçš„详细信æ¯ã€‚æ¼æ´žåˆ—在所影å“的组件下,内容包括 CVEã€ç›¸å…³å‚考编å·ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>ã€ç»„件(如果适用)和已更新的 AOSP 版本(如果适用)等详细信æ¯ã€‚如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+</p>
+
+<h3 id="framework-05">框架</h3>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©æœ¬åœ°æ¶æ„应用在特æƒè¿›ç¨‹çŽ¯å¢ƒä¸­æ‰§è¡Œä»»æ„代ç ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>已更新的 AOSP 版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9523</td>
+ <td>A-112859604</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9526</td>
+ <td>A-112159033</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm 组件</h3>
+<p>这一部分中最严é‡çš„æ¼æ´žå¯è®©æœ¬åœ°æ¶æ„应用在特æƒè¿›ç¨‹çŽ¯å¢ƒä¸­æ‰§è¡Œä»»æ„代ç ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>组件</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-15818</td>
+ <td>A-68992408<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/lk/commit/?id=abe4f7042cbdef928ffc152335a17150fb39b096">QC-CR#2078580</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>生æ€ç³»ç»Ÿ</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11995</td>
+ <td>A-71501677<br />
+ <a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=e3688be47d2b72f130f90dafd24b5f5acc4684ca">QC-CR#2129639</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>引导加载程åº</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11905</td>
+ <td>A-112277889<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=0cdcf0409bdad7ed91c11d7715c89acc2e521e96">QC-CR#2090797</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>DSP_Services</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-closed-source-components">Qualcomm é—­æºç»„件</h3>
+<p>以下æ¼æ´žä¼šå½±å“ Qualcomm 组件,相应的 Qualcomm AMSS 安全公告或安全æ醒中对这些æ¼æ´žè¿›è¡Œäº†è¯¦ç»†è¯´æ˜Žã€‚这些æ¼æ´žçš„严é‡ç¨‹åº¦è¯„估是由 Qualcomm 直接æ供的。</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考编å·</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>组件</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-18317</td>
+ <td>A-78244877<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>严é‡</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5912</td>
+ <td>A-79420111<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>严é‡</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11264</td>
+ <td>A-109677962<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>严é‡</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2016-10502</td>
+ <td>A-68326808<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18316</td>
+ <td>A-78240714<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18318</td>
+ <td>A-78240675<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18315</td>
+ <td>A-78241957<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11994</td>
+ <td>A-72950294<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11996</td>
+ <td>A-74235967<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5870</td>
+ <td>A-77484722<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5877</td>
+ <td>A-77484786<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5916</td>
+ <td>A-79420492<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5917</td>
+ <td>A-79420096<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11269</td>
+ <td>A-109678529<a href="#asterisk">*</a></td>
+ <td>N/A</td>
+ <td>高</td>
+ <td>é—­æºç»„件</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">常è§é—®é¢˜å’Œè§£ç­”</h2>
+<p>这一部分解答了用户在阅读本公告åŽå¯èƒ½ä¼šæ出的常è§é—®é¢˜ã€‚</p>
+<p><strong>1. 如何确定我的设备是å¦å·²é€šè¿‡æ›´æ–°è§£å†³è¿™äº›é—®é¢˜ï¼Ÿ</strong></p>
+<p>è¦äº†è§£å¦‚何查看设备的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œè¯·å‚阅<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">查看并更新 Android 版本</a>。</p>
+<ul>
+<li>如果安全补ä¸ç¨‹åºçº§åˆ«æ˜¯ 2018-11-01 或更新,则æ„味ç€å·²è§£å†³ 2018-11-01 安全补ä¸ç¨‹åºçº§åˆ«æ¶µç›–的所有问题。</li>
+<li>如果安全补ä¸ç¨‹åºçº§åˆ«æ˜¯ 2018-11-05 或更新,则æ„味ç€å·²è§£å†³ 2018-11-05 以åŠä¹‹å‰çš„所有安全补ä¸ç¨‹åºçº§åˆ«æ¶µç›–的所有问题。</li>
+</ul>
+<p>预装这些更新的设备制造商应将补ä¸ç¨‹åºå­—符串级别设为:</p>
+<ul>
+ <li>[ro.build.version.security_patch]:[2018-11-01]</li>
+ <li>[ro.build.version.security_patch]:[2018-11-05]</li>
+</ul>
+<p><strong>2. 为何本公告有 2 个安全补ä¸ç¨‹åºçº§åˆ«ï¼Ÿ</strong></p>
+<p>
+本公告之所以有 2 个安全补ä¸ç¨‹åºçº§åˆ«ï¼Œæ˜¯ä¸ºäº†è®© Android åˆä½œä¼™ä¼´èƒ½å¤Ÿçµæ´»åœ°ã€æ›´å¿«é€Ÿåœ°ä¿®å¤åœ¨å„ç§ Android 设备上类似的一系列æ¼æ´žã€‚我们建议 Android åˆä½œä¼™ä¼´ä¿®å¤æœ¬å…¬å‘Šä¸­åˆ—出的所有问题并使用最新的安全补ä¸ç¨‹åºçº§åˆ«ã€‚
+</p>
+<ul>
+<li>如果设备使用的是 2018-11-01 这一安全补ä¸ç¨‹åºçº§åˆ«ï¼Œåˆ™å¿…须包å«è¯¥å®‰å…¨è¡¥ä¸ç¨‹åºçº§åˆ«æ¶µç›–的所有问题以åŠä¹‹å‰çš„安全公告中报告的所有问题的修å¤ç¨‹åºã€‚</li>
+<li>如果设备使用的是 2018-11-05 或更新的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œåˆ™å¿…须包å«æœ¬å®‰å…¨å…¬å‘Šï¼ˆä»¥åŠä¹‹å‰çš„安全公告)中的所有适用补ä¸ç¨‹åºã€‚</li>
+</ul>
+<p>
+我们建议åˆä½œä¼™ä¼´å°†è¦è§£å†³çš„全部问题的修å¤ç¨‹åºæ‰“包到一个更新中。
+</p>
+<p id="type">
+<strong>3.“类型â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
+</p>
+<p>
+在æ¼æ´žè¯¦æƒ…表内,“类型â€åˆ—中的æ¡ç›®æ˜¯å®‰å…¨æ¼æ´žçš„分类。<em></em>
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>缩写è¯</th>
+ <th>定义</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>远程代ç æ‰§è¡Œ</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>ææƒ</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>ä¿¡æ¯æŠ«éœ²</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>æ‹’ç»æœåŠ¡</td>
+ </tr>
+ <tr>
+ <td>N/A</td>
+ <td>没有分类</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>4.“å‚考编å·â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
+</p>
+<p>
+在æ¼æ´žè¯¦æƒ…表内,“å‚考编å·â€åˆ—中的æ¡ç›®å¯èƒ½åŒ…å«ç”¨äºŽæ ‡è¯†å‚考值所属组织的å‰ç¼€ã€‚<em></em>
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>å‰ç¼€</th>
+ <th>å‚考编å·</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android Bug ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm å‚考编å·</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek å‚考编å·</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA å‚考编å·</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom å‚考编å·</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>5. 在“å‚考编å·â€åˆ—中,Android Bug ID æ—边的 * 表示什么æ„æ€ï¼Ÿ<em></em></strong>
+</p>
+<p>
+如果问题尚未公开å‘布,则在“å‚考编å·â€åˆ—中,相应 Android Bug ID æ—边会显示 *。<em></em><a href="https://developers.google.com/android/drivers" class="external">Google Developers 网站</a>上针对 Nexus 设备æ供的最新二进制驱动程åºä¸­é€šå¸¸åŒ…å«æ—¨åœ¨è§£å†³ç›¸åº”问题的更新。
+</p>
+<p>
+<strong>6. 为什么è¦å°†å®‰å…¨æ¼æ´žæ‹†åˆ†åˆ°æœ¬å…¬å‘Šå’Œè®¾å¤‡â€Š/ åˆä½œä¼™ä¼´å®‰å…¨å…¬å‘Šï¼ˆå¦‚ Pixel/Nexus 公告)中?</strong>
+</p>
+<p>
+è¦åœ¨ Android 设备上声明最新的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œå¿…须修å¤æœ¬å®‰å…¨å…¬å‘Šä¸­è®°å½•çš„安全æ¼æ´žã€‚但在声明安全补ä¸ç¨‹åºçº§åˆ«æ—¶ï¼Œå¹¶ä¸æ˜¯å¿…é¡»è¦ä¿®å¤è®¾å¤‡/åˆä½œä¼™ä¼´å®‰å…¨å…¬å‘Šä¸­è®°å½•çš„其他安全æ¼æ´žã€‚我们建议 Android 设备和芯片组制造商通过自己的安全网站(例如 <a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> 或 <a href="/security/bulletin/pixel/" class="external">Pixel/Nexus</a> 安全公告)记录其设备上存在的其他修å¤ç¨‹åºã€‚
+</p>
+
+<h2 id="versions">版本</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>版本</th>
+ <th>日期</th>
+ <th>备注</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018 年 11 月 5 日</td>
+ <td>å‘布了本公告。</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/zh-cn/security/bulletin/2018.html b/zh-cn/security/bulletin/2018.html
index be126f08..9c252aab 100644
--- a/zh-cn/security/bulletin/2018.html
+++ b/zh-cn/security/bulletin/2018.html
@@ -35,14 +35,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°†å‘布<!--
- <a href="/security/bulletin/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-01<br />2018-10-05</td>
diff --git a/zh-cn/security/bulletin/index.html b/zh-cn/security/bulletin/index.html
index 298e7e37..1e565664 100644
--- a/zh-cn/security/bulletin/index.html
+++ b/zh-cn/security/bulletin/index.html
@@ -57,7 +57,12 @@
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018 年 10 月</a></td>
<td>
- <a href="/security/bulletin/2018-10-01.html">English</a> / <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-01<br />2018-10-05</td>
@@ -65,7 +70,12 @@
<tr>
<td><a href="/security/bulletin/2018-09-01.html">2018 年 9 月</a></td>
<td>
- <a href="/security/bulletin/2018-09-01.html">English</a> / <a href="/security/bulletin/2018-09-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-09-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-09-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-09-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-09-01.html">English</a> /
+ <a href="/security/bulletin/2018-09-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-09-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-09-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-09-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 9 月 4 日</td>
<td>2018-09-01<br />2018-09-05</td>
@@ -73,7 +83,12 @@
<tr>
<td><a href="/security/bulletin/2018-08-01.html">2018 年 8 月</a></td>
<td>
- <a href="/security/bulletin/2018-08-01.html">English</a> / <a href="/security/bulletin/2018-08-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-08-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-08-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-08-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-08-01.html">English</a> /
+ <a href="/security/bulletin/2018-08-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-08-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-08-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-08-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 8 月 6 日</td>
<td>2018-08-01<br />2018-08-05</td>
@@ -81,7 +96,12 @@
<tr>
<td><a href="/security/bulletin/2018-07-01.html">2018 年 7 月</a></td>
<td>
- <a href="/security/bulletin/2018-07-01.html">English</a> / <a href="/security/bulletin/2018-07-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-07-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-07-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-07-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-07-01.html">English</a> /
+ <a href="/security/bulletin/2018-07-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-07-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-07-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-07-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 7 月 2 日</td>
<td>2018-07-01<br />2018-07-05</td>
@@ -89,7 +109,12 @@
<tr>
<td><a href="/security/bulletin/2018-06-01.html">2018 年 6 月</a></td>
<td>
- <a href="/security/bulletin/2018-06-01.html">English</a> / <a href="/security/bulletin/2018-06-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-06-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-06-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-06-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-06-01.html">English</a> /
+ <a href="/security/bulletin/2018-06-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-06-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-06-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-06-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 6 月 4 日</td>
<td>2018-06-01<br />2018-06-05</td>
@@ -97,7 +122,12 @@
<tr>
<td><a href="/security/bulletin/2018-05-01.html">2018 年 5 月</a></td>
<td>
- <a href="/security/bulletin/2018-05-01.html">English</a> / <a href="/security/bulletin/2018-05-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-05-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-05-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-05-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-05-01.html">English</a> /
+ <a href="/security/bulletin/2018-05-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-05-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-05-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-05-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 5 月 7 日</td>
<td>2018-05-01<br />2018-05-05</td>
@@ -105,7 +135,12 @@
<tr>
<td><a href="/security/bulletin/2018-04-01.html">2018 年 4 月</a></td>
<td>
- <a href="/security/bulletin/2018-04-01.html">English</a> / <a href="/security/bulletin/2018-04-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-04-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-04-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-04-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-04-01.html">English</a> /
+ <a href="/security/bulletin/2018-04-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-04-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-04-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-04-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 4 月 2 日</td>
<td>2018-04-01<br />2018-04-05</td>
@@ -113,7 +148,12 @@
<tr>
<td><a href="/security/bulletin/2018-03-01.html">2018 年 3 月</a></td>
<td>
- <a href="/security/bulletin/2018-03-01.html">English</a> / <a href="/security/bulletin/2018-03-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-03-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-03-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-03-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-03-01.html">English</a> /
+ <a href="/security/bulletin/2018-03-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-03-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-03-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-03-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 3 月 5 日</td>
<td>2018-03-01<br />2018-03-05</td>
@@ -121,7 +161,12 @@
<tr>
<td><a href="/security/bulletin/2018-02-01.html">2018 年 2 月</a></td>
<td>
- <a href="/security/bulletin/2018-02-01.html">English</a> / <a href="/security/bulletin/2018-02-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-02-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-02-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-02-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-02-01.html">English</a> /
+ <a href="/security/bulletin/2018-02-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-02-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-02-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-02-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 2 月 5 日</td>
<td>2018-02-01<br />2018-02-05</td>
@@ -129,7 +174,12 @@
<tr>
<td><a href="/security/bulletin/2018-01-01.html">2018 年 1 月</a></td>
<td>
- <a href="/security/bulletin/2018-01-01.html">English</a> / <a href="/security/bulletin/2018-01-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2018-01-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2018-01-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2018-01-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2018-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2018-01-01.html">English</a> /
+ <a href="/security/bulletin/2018-01-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-01-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-01-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-01-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 1 月 2 日</td>
<td>2018-01-01<br />2018-01-05</td>
@@ -137,7 +187,12 @@
<tr>
<td><a href="/security/bulletin/2017-12-01.html">2017 年 12 月</a></td>
<td>
- <a href="/security/bulletin/2017-12-01.html">English</a> / <a href="/security/bulletin/2017-12-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-12-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-12-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-12-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-12-01.html">English</a> /
+ <a href="/security/bulletin/2017-12-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-12-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-12-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-12-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 12 月 4 日</td>
<td>2017-12-01<br />2017-12-05</td>
@@ -145,7 +200,12 @@
<tr>
<td><a href="/security/bulletin/2017-11-01.html">2017 年 11 月</a></td>
<td>
- <a href="/security/bulletin/2017-11-01.html">English</a> / <a href="/security/bulletin/2017-11-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-11-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-11-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-11-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-11-01.html">English</a> /
+ <a href="/security/bulletin/2017-11-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-11-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-11-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-11-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 11 月 6 日</td>
<td>2017-11-01<br />2017-11-05<br />2017-11-06</td>
@@ -153,7 +213,12 @@
<tr>
<td><a href="/security/bulletin/2017-10-01.html">2017 年 10 月</a></td>
<td>
- <a href="/security/bulletin/2017-10-01.html">English</a> / <a href="/security/bulletin/2017-10-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-10-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-10-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-10-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-10-01.html">English</a> /
+ <a href="/security/bulletin/2017-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 10 月 2 日</td>
<td>2017-10-01<br />2017-10-05</td>
@@ -161,7 +226,12 @@
<tr>
<td><a href="/security/bulletin/2017-09-01.html">2017 年 9 月</a></td>
<td>
- <a href="/security/bulletin/2017-09-01.html">English</a> / <a href="/security/bulletin/2017-09-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-09-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-09-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-09-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-09-01.html">English</a> /
+ <a href="/security/bulletin/2017-09-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-09-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-09-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-09-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 9 月 5 日</td>
<td>2017-09-01<br />2017-09-05</td>
@@ -169,7 +239,12 @@
<tr>
<td><a href="/security/bulletin/2017-08-01.html">2017 年 8 月</a></td>
<td>
- <a href="/security/bulletin/2017-08-01.html">English</a> / <a href="/security/bulletin/2017-08-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-08-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-08-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-08-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-08-01.html">English</a> /
+ <a href="/security/bulletin/2017-08-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-08-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-08-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-08-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 8 月 7 日</td>
<td>2017-08-01<br />2017-08-05</td>
@@ -177,7 +252,12 @@
<tr>
<td><a href="/security/bulletin/2017-07-01.html">2017 年 7 月</a></td>
<td>
- <a href="/security/bulletin/2017-07-01.html">English</a> / <a href="/security/bulletin/2017-07-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-07-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-07-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-07-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-07-01.html">English</a> /
+ <a href="/security/bulletin/2017-07-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-07-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-07-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-07-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 7 月 5 日</td>
<td>2017-07-01<br />2017-07-05</td>
@@ -185,7 +265,12 @@
<tr>
<td><a href="/security/bulletin/2017-06-01.html">2017 年 6 月</a></td>
<td>
- <a href="/security/bulletin/2017-06-01.html">English</a> / <a href="/security/bulletin/2017-06-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-06-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-06-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-06-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-06-01.html">English</a> /
+ <a href="/security/bulletin/2017-06-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-06-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-06-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-06-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 6 月 5 日</td>
<td>2017-06-01<br />2017-06-05</td>
@@ -193,35 +278,60 @@
<tr>
<td><a href="/security/bulletin/2017-05-01.html">2017 年 5 月</a></td>
<td>
- <a href="/security/bulletin/2017-05-01.html">English</a> / <a href="/security/bulletin/2017-05-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-05-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-05-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-05-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2017-05-01.html">English</a> /
+ <a href="/security/bulletin/2017-05-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-05-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-05-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-05-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 5 月 1 日</td>
<td>2017-05-01<br />2017-05-05</td>
</tr>
<tr>
<td><a href="/security/bulletin/2017-04-01.html">2017 年 4 月</a></td>
- <td><a href="/security/bulletin/2017-04-01.html">English</a> / <a href="/security/bulletin/2017-04-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-04-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-04-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-04-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <td><a href="/security/bulletin/2017-04-01.html">English</a> /
+ <a href="/security/bulletin/2017-04-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-04-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-04-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-04-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-04-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 4 月 3 日</td>
<td>2017-04-01<br />2017-04-05</td>
</tr>
<tr>
<td><a href="/security/bulletin/2017-03-01.html">2017 年 3 月</a></td>
- <td><a href="/security/bulletin/2017-03-01.html">English</a> / <a href="/security/bulletin/2017-03-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-03-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-03-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-03-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <td><a href="/security/bulletin/2017-03-01.html">English</a> /
+ <a href="/security/bulletin/2017-03-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-03-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-03-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-03-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 3 月 6 日</td>
<td>2017-03-01<br />2017-03-05</td>
</tr>
<tr>
<td><a href="/security/bulletin/2017-02-01.html">2017 年 2 月</a></td>
- <td><a href="/security/bulletin/2017-02-01.html">English</a> / <a href="/security/bulletin/2017-02-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-02-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-02-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-02-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <td><a href="/security/bulletin/2017-02-01.html">English</a> /
+ <a href="/security/bulletin/2017-02-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-02-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-02-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-02-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 2 月 6 日</td>
<td>2017-02-01<br />2017-02-05</td>
</tr>
<tr>
<td><a href="/security/bulletin/2017-01-01.html">2017 年 1 月</a></td>
- <td><a href="/security/bulletin/2017-01-01.html">English</a> / <a href="/security/bulletin/2017-01-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2017-01-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2017-01-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2017-01-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2017-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <td><a href="/security/bulletin/2017-01-01.html">English</a> /
+ <a href="/security/bulletin/2017-01-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2017-01-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2017-01-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2017-01-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2017-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2017 年 1 月 3 日</td>
<td>2017-01-01<br />2017-01-05</td>
@@ -229,7 +339,12 @@
<tr>
<td><a href="/security/bulletin/2016-12-01.html">2016 年 12 月</a></td>
<td>
- <a href="/security/bulletin/2016-12-01.html">English</a> / <a href="/security/bulletin/2016-12-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-12-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-12-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-12-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-12-01.html">English</a> /
+ <a href="/security/bulletin/2016-12-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-12-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-12-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-12-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 12 月 5 日</td>
<td>2016-12-01<br />2016-12-05</td>
@@ -237,7 +352,12 @@
<tr>
<td><a href="/security/bulletin/2016-11-01.html">2016 年 11 月</a></td>
<td>
- <a href="/security/bulletin/2016-11-01.html">English</a> / <a href="/security/bulletin/2016-11-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-11-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-11-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-11-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-11-01.html">English</a> /
+ <a href="/security/bulletin/2016-11-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-11-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-11-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-11-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 11 月 7 日</td>
<td>2016-11-01<br />2016-11-05<br />2016-11-06</td>
@@ -245,7 +365,12 @@
<tr>
<td><a href="/security/bulletin/2016-10-01.html">2016 年 10 月</a></td>
<td>
- <a href="/security/bulletin/2016-10-01.html">English</a> / <a href="/security/bulletin/2016-10-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-10-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-10-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-10-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-10-01.html">English</a> /
+ <a href="/security/bulletin/2016-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 10 月 3 日</td>
<td>2016-10-01<br />2016-10-05</td>
@@ -253,7 +378,12 @@
<tr>
<td><a href="/security/bulletin/2016-09-01.html">2016 年 9 月</a></td>
<td>
- <a href="/security/bulletin/2016-09-01.html">English</a> / <a href="/security/bulletin/2016-09-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-09-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-09-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-09-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-09-01.html">English</a> /
+ <a href="/security/bulletin/2016-09-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-09-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-09-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-09-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 9 月 6 日</td>
<td>2016-09-01<br />2016-09-05<br />2016-09-06</td>
@@ -261,7 +391,12 @@
<tr>
<td><a href="/security/bulletin/2016-08-01.html">2016 年 8 月</a></td>
<td>
- <a href="/security/bulletin/2016-08-01.html">English</a> / <a href="/security/bulletin/2016-08-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-08-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-08-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-08-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-08-01.html">English</a> /
+ <a href="/security/bulletin/2016-08-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-08-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-08-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-08-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 8 月 1 日</td>
<td>2016-08-01<br />2016-08-05</td>
@@ -269,7 +404,12 @@
<tr>
<td><a href="/security/bulletin/2016-07-01.html">2016 年 7 月</a></td>
<td>
- <a href="/security/bulletin/2016-07-01.html">English</a> / <a href="/security/bulletin/2016-07-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-07-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-07-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-07-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-07-01.html">English</a> /
+ <a href="/security/bulletin/2016-07-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-07-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-07-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-07-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-07-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 7 月 6 日</td>
<td>2016-07-01<br />2016-07-05</td>
@@ -277,7 +417,12 @@
<tr>
<td><a href="/security/bulletin/2016-06-01.html">2016 年 6 月</a></td>
<td>
- <a href="/security/bulletin/2016-06-01.html">English</a> / <a href="/security/bulletin/2016-06-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-06-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-06-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-06-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-06-01.html">English</a> /
+ <a href="/security/bulletin/2016-06-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-06-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-06-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-06-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-06-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 6 月 6 日</td>
<td>2016-06-01</td>
@@ -285,7 +430,12 @@
<tr>
<td><a href="/security/bulletin/2016-05-01.html">2016 年 5 月</a></td>
<td>
- <a href="/security/bulletin/2016-05-01.html">English</a> / <a href="/security/bulletin/2016-05-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-05-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-05-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-05-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-05-01.html">English</a> /
+ <a href="/security/bulletin/2016-05-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-05-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-05-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-05-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-05-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 5 月 2 日</td>
<td>2016-05-01</td>
@@ -293,7 +443,12 @@
<tr>
<td><a href="/security/bulletin/2016-04-02.html">2016 年 4 月</a></td>
<td>
- <a href="/security/bulletin/2016-04-02.html">English</a> / <a href="/security/bulletin/2016-04-02.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-04-02.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-04-02.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-04-02.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-04-02.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-04-02.html">English</a> /
+ <a href="/security/bulletin/2016-04-02.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-04-02.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-04-02.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-04-02.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-04-02.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 4 月 4 日</td>
<td>2016-04-02</td>
@@ -301,7 +456,12 @@
<tr>
<td><a href="/security/bulletin/2016-03-01.html">2016 年 3 月</a></td>
<td>
- <a href="/security/bulletin/2016-03-01.html">English</a> / <a href="/security/bulletin/2016-03-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-03-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-03-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-03-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-03-01.html">English</a> /
+ <a href="/security/bulletin/2016-03-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-03-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-03-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-03-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-03-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 3 月 7 日</td>
<td>2016-03-01</td>
@@ -309,7 +469,12 @@
<tr>
<td><a href="/security/bulletin/2016-02-01.html">2016 年 2 月</a></td>
<td>
- <a href="/security/bulletin/2016-02-01.html">English</a> / <a href="/security/bulletin/2016-02-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-02-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-02-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-02-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-02-01.html">English</a> /
+ <a href="/security/bulletin/2016-02-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-02-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-02-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-02-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-02-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 2 月 1 日</td>
<td>2016-02-01</td>
@@ -317,7 +482,12 @@
<tr>
<td><a href="/security/bulletin/2016-01-01.html">2016 年 1 月</a></td>
<td>
- <a href="/security/bulletin/2016-01-01.html">English</a> / <a href="/security/bulletin/2016-01-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2016-01-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2016-01-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2016-01-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2016-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2016-01-01.html">English</a> /
+ <a href="/security/bulletin/2016-01-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2016-01-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2016-01-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2016-01-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2016-01-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2016 年 1 月 4 日</td>
<td>2016-01-01</td>
@@ -325,7 +495,12 @@
<tr>
<td><a href="/security/bulletin/2015-12-01.html">2015 年 12 月</a></td>
<td>
- <a href="/security/bulletin/2015-12-01.html">English</a> / <a href="/security/bulletin/2015-12-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2015-12-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2015-12-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2015-12-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2015-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2015-12-01.html">English</a> /
+ <a href="/security/bulletin/2015-12-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2015-12-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2015-12-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2015-12-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2015-12-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2015 年 12 月 7 日</td>
<td>2015-12-01</td>
@@ -333,7 +508,12 @@
<tr>
<td><a href="/security/bulletin/2015-11-01.html">2015 年 11 月</a></td>
<td>
- <a href="/security/bulletin/2015-11-01.html">English</a> / <a href="/security/bulletin/2015-11-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2015-11-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2015-11-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2015-11-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2015-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2015-11-01.html">English</a> /
+ <a href="/security/bulletin/2015-11-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2015-11-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2015-11-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2015-11-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2015-11-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2015 年 11 月 2 日</td>
<td>2015-11-01</td>
@@ -341,7 +521,12 @@
<tr>
<td><a href="/security/bulletin/2015-10-01.html">2015 年 10 月</a></td>
<td>
- <a href="/security/bulletin/2015-10-01.html">English</a> / <a href="/security/bulletin/2015-10-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2015-10-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2015-10-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2015-10-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2015-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2015-10-01.html">English</a> /
+ <a href="/security/bulletin/2015-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2015-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2015-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2015-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2015-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2015 年 10 月 5 日</td>
<td>2015-10-01</td>
@@ -349,7 +534,12 @@
<tr>
<td><a href="/security/bulletin/2015-09-01.html">2015 年 9 月</a></td>
<td>
- <a href="/security/bulletin/2015-09-01.html">English</a> / <a href="/security/bulletin/2015-09-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2015-09-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2015-09-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2015-09-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2015-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2015-09-01.html">English</a> /
+ <a href="/security/bulletin/2015-09-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2015-09-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2015-09-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2015-09-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2015-09-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2015 年 9 月 9 日</td>
<td>æ— </td>
@@ -357,7 +547,12 @@
<tr>
<td><a href="/security/bulletin/2015-08-01.html">2015 年 8 月</a></td>
<td>
- <a href="/security/bulletin/2015-08-01.html">English</a> / <a href="/security/bulletin/2015-08-01.html?hl=ja">日本語</a> / <a href="/security/bulletin/2015-08-01.html?hl=ko">한국어</a> / <a href="/security/bulletin/2015-08-01.html?hl=ru">руÌÑÑкий</a> / <a href="/security/bulletin/2015-08-01.html?hl=zh-cn">中文 (中国)</a> / <a href="/security/bulletin/2015-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
+ <a href="/security/bulletin/2015-08-01.html">English</a> /
+ <a href="/security/bulletin/2015-08-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2015-08-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2015-08-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2015-08-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2015-08-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2015 年 8 月 13 日</td>
<td>æ— </td>
diff --git a/zh-cn/security/bulletin/pixel/2018-04-01.html b/zh-cn/security/bulletin/pixel/2018-04-01.html
index 37fb9ff7..96a8142a 100644
--- a/zh-cn/security/bulletin/pixel/2018-04-01.html
+++ b/zh-cn/security/bulletin/pixel/2018-04-01.html
@@ -36,7 +36,7 @@
<h2 id="security-patches">安全补ä¸ç¨‹åº</h2>
<p>
-æ¼æ´žåˆ—在所影å“的组件下,ä¸ä½†å«æœ‰é—®é¢˜æ述,而且在一张表中列出 CVEã€ç›¸å…³å‚考内容ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="https://source.android.com/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 Android å¼€æºé¡¹ç›® (AOSP) 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考内容ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="https://source.android.com/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 Android å¼€æºé¡¹ç›® (AOSP) 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
</p>
<h3 id="framework">框架</h3>
@@ -56,7 +56,8 @@
</tr>
<tr>
<td>CVE-2017-13294</td>
- <td><a href="https://android.googlesource.com/platform/packages/apps/Email/+/c3e0aba2a604ce7c3807d65df1e6a2b848287019">A-71814449</a> [<a href="https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/e00598532bbfc8618b7c051cbf6bd15491f61f27">2</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/packages/apps/Email/+/c3e0aba2a604ce7c3807d65df1e6a2b848287019">A-71814449</a>
+ [<a href="https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/e00598532bbfc8618b7c051cbf6bd15491f61f27">2</a>]</td>
<td>ID</td>
<td>中</td>
<td>6.0ã€6.0.1ã€7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
@@ -159,7 +160,8 @@
</tr>
<tr>
<td>CVE-2017-13301</td>
- <td><a href="https://android.googlesource.com/platform/frameworks/base/+/384689934d293acf532e3fea3e72ef78df4f2d1e">A-66498711</a> [<a href="https://android.googlesource.com/platform/frameworks/base/+/d52b215f82e464705373d794748325298f0a1f9a">2</a>]</td>
+ <td><a href="https://android.googlesource.com/platform/frameworks/base/+/384689934d293acf532e3fea3e72ef78df4f2d1e">A-66498711</a>
+ [<a href="https://android.googlesource.com/platform/frameworks/base/+/d52b215f82e464705373d794748325298f0a1f9a">2</a>]</td>
<td>DoS</td>
<td>中</td>
<td>8.0</td>
@@ -305,14 +307,16 @@
</tr>
<tr>
<td>CVE-2018-3584</td>
- <td>A-64610600<a href="#asterisk">*</a><br />QC-CR#2142046</td>
+ <td>A-64610600<a href="#asterisk">*</a><br />
+ QC-CR#2142046</td>
<td>ID</td>
<td>中</td>
<td>rmnet_usb</td>
</tr>
<tr>
<td>CVE-2017-8269</td>
- <td>A-33967002<a href="#asterisk">*</a><br />QC-CR#2013145<br />QC-CR#2114278</td>
+ <td>A-33967002<a href="#asterisk">*</a><br />
+ QC-CR#2013145<br />QC-CR#2114278</td>
<td>ID</td>
<td>中</td>
<td>IPA 驱动程åº</td>
@@ -335,7 +339,9 @@
<tr>
<td>CVE-2018-5825</td>
<td>A-72957269<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=5ae227670444cf8ea7b8a8d98eab41404a03332f">QC-CR#2151146</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=cf0f031ffbb6a8e08e517f653045c3f81d7f2663">2</a>] [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=09a34b7878a732187f9138900667d8abb2b1c39c">3</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=5ae227670444cf8ea7b8a8d98eab41404a03332f">QC-CR#2151146</a>
+ [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=cf0f031ffbb6a8e08e517f653045c3f81d7f2663">2</a>]
+ [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=09a34b7878a732187f9138900667d8abb2b1c39c">3</a>]</td>
<td>EoP</td>
<td>中</td>
<td>IPA 驱动程åº</td>
@@ -343,7 +349,8 @@
<tr>
<td>CVE-2018-5824</td>
<td>A-72957235<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=b34f6f3afe229e32a32418f75889279f6e00d157">QC-CR#2149399</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d3a92a1656a3ee2fc44d4ff98614a4f5b70f1893">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=b34f6f3afe229e32a32418f75889279f6e00d157">QC-CR#2149399</a>
+ [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d3a92a1656a3ee2fc44d4ff98614a4f5b70f1893">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>WLAN</td>
@@ -406,7 +413,8 @@
<tr>
<td>CVE-2018-3567</td>
<td>A-72956997<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=f2627fca43bc4403a445c2b84481383ac0249364">QC-CR#2147119</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=25c131e8a807894e04f95bdeb1cbd0376eda3bea">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=f2627fca43bc4403a445c2b84481383ac0249364">QC-CR#2147119</a>
+ [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=25c131e8a807894e04f95bdeb1cbd0376eda3bea">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>WLAN</td>
@@ -457,7 +465,9 @@ QC-CR#2120424</a></td>
<tr>
<td>CVE-2017-14880</td>
<td>A-68992477<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=cbf3702ae1c5e2cacd6f15a5eb7a799e2f1ed96f">QC-CR#2078734</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=d72e444dce0b9d20fdcdc4daeb6227e3536eebf7">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=cbf3702ae1c5e2cacd6f15a5eb7a799e2f1ed96f">
+QC-CR#2078734</a>
+ [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=d72e444dce0b9d20fdcdc4daeb6227e3536eebf7">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>IPA WAN 驱动程åº</td>
@@ -665,7 +675,13 @@ QC-CR#2120424</a></td>
<td>Pixel 2ã€Pixel 2 XL</td>
</tr>
<tr>
- <td>A-69017578<br />A-68138080<br />A-68205105<br />A-70731000<br />A-69574837<br />A-68474108<br />A-70406781</td>
+ <td>A-69017578<br />
+ A-68138080<br />
+ A-68205105<br />
+ A-70731000<br />
+ A-69574837<br />
+ A-68474108<br />
+ A-70406781</td>
<td>连接ã€æ€§èƒ½</td>
<td>改进部分è¿è¥å•†ç½‘络的连接性和性能</td>
<td>Pixelã€Pixel XLã€Pixel 2ã€Pixel 2 XL</td>
@@ -695,7 +711,8 @@ QC-CR#2120424</a></td>
<td>Nexus 5Xã€Pixelã€Pixel XLã€Pixel 2ã€Pixel 2 XL</td>
</tr>
<tr>
- <td>A-69261367<br />A-70512352</td>
+ <td>A-69261367<br />
+ A-70512352</td>
<td>短信</td>
<td>改进部分è¿è¥å•†çš„彩信性能</td>
<td>Nexus 5Xã€Pixelã€Pixel XLã€Pixel 2ã€Pixel 2 XL</td>
@@ -743,7 +760,8 @@ QC-CR#2120424</a></td>
<td>Pixel 2ã€Pixel 2 XL</td>
</tr>
<tr>
- <td>A-70094083<br />A-70094701</td>
+ <td>A-70094083<br />
+ A-70094701</td>
<td>电池</td>
<td>改进 Pixel 2 和 Pixel 2 XL 的电池性能</td>
<td>Pixel 2ã€Pixel 2 XL</td>
diff --git a/zh-cn/security/bulletin/pixel/2018-05-01.html b/zh-cn/security/bulletin/pixel/2018-05-01.html
index 87703d9c..1695d50d 100644
--- a/zh-cn/security/bulletin/pixel/2018-05-01.html
+++ b/zh-cn/security/bulletin/pixel/2018-05-01.html
@@ -245,7 +245,8 @@
<tr>
<td>CVE-2018-5851</td>
<td>A-72957505<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=103f385783f368cc5cd3c125390e6dfd43c36096">QC-CR#2146869</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=a9068fbb6bad55c9ecc80b9c3935969c8820c425">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=103f385783f368cc5cd3c125390e6dfd43c36096">QC-CR#2146869</a>
+[<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=a9068fbb6bad55c9ecc80b9c3935969c8820c425">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>WLAN</td>
@@ -253,7 +254,8 @@
<tr>
<td>CVE-2018-5842</td>
<td>A-72957257<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=f05883b3d442a7eb9df46a6bde08f1d5cdfc8133">QC-CR#2113219</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=21b91d4faa275d7b1ae58ad6a549cfa801066dfe">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=f05883b3d442a7eb9df46a6bde08f1d5cdfc8133">QC-CR#2113219</a>
+[<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=21b91d4faa275d7b1ae58ad6a549cfa801066dfe">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>WLAN</td>
@@ -308,7 +310,8 @@
<tr>
<td>CVE-2018-3581</td>
<td>A-72957725<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=becb9c5aaa05137ce1002f77f8a7d9e7e0799268">QC-CR#2150359</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=43c8a7f083c56b2f6aeac6d77721f5a70bdba99c">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=becb9c5aaa05137ce1002f77f8a7d9e7e0799268">QC-CR#2150359</a>
+ [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0/commit/?id=43c8a7f083c56b2f6aeac6d77721f5a70bdba99c">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>WLAN</td>
@@ -324,7 +327,8 @@
<tr>
<td>CVE-2018-3572</td>
<td>A-72957724<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=b11e3a50197e73e397c36d335d56d905b99eb02c">QC-CR#2145996</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/opensource/audio-kernel/commit/?id=fbf66aa0c6ae84db64bdf0b8f3c3a32370c70c67">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=b11e3a50197e73e397c36d335d56d905b99eb02c">QC-CR#2145996</a>
+ [<a href="https://source.codeaurora.org/quic/la/platform/vendor/opensource/audio-kernel/commit/?id=fbf66aa0c6ae84db64bdf0b8f3c3a32370c70c67">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>音频</td>
@@ -370,7 +374,8 @@
<tr>
<td>CVE-2017-15843</td>
<td>A-72956941<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=a549abd08f3a52593d9602128c63c1212e90984b">QC-CR#2032076</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=e05adec18cbc3c9213cc293441a2be8683339b4a">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=a549abd08f3a52593d9602128c63c1212e90984b">QC-CR#2032076</a>
+[<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=e05adec18cbc3c9213cc293441a2be8683339b4a">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>Floor_vote 驱动程åº</td>
@@ -378,7 +383,8 @@
<tr>
<td>CVE-2017-15842</td>
<td>A-72957040<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=c4ab75dfc22f644fb5ee70bd515aaf633761cd3b">QC-CR#2123291</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/opensource/audio-kernel/commit/?id=6d42b0e51ed7f8e51397d89af66c1453beba51cd">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=c4ab75dfc22f644fb5ee70bd515aaf633761cd3b">QC-CR#2123291</a>
+ [<a href="https://source.codeaurora.org/quic/la/platform/vendor/opensource/audio-kernel/commit/?id=6d42b0e51ed7f8e51397d89af66c1453beba51cd">2</a>]</td>
<td>EoP</td>
<td>中</td>
<td>Qdsp6v2</td>
@@ -542,7 +548,7 @@
<tr>
<td>1.1</td>
<td>2018 年 5 月 9 日</td>
- <td>在本公告中添加了 AOSP 链接。</td>
+ <td>修订了本公告,添加了 AOSP 链接。</td>
</tr>
</tbody></table>
diff --git a/zh-cn/security/bulletin/pixel/2018-07-01.html b/zh-cn/security/bulletin/pixel/2018-07-01.html
index e99584fb..1cdd45d2 100644
--- a/zh-cn/security/bulletin/pixel/2018-07-01.html
+++ b/zh-cn/security/bulletin/pixel/2018-07-01.html
@@ -37,7 +37,7 @@
<h2 id="security-patches">安全补ä¸ç¨‹åº</h2>
<p>
-æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考内容ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="https://source.android.com/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 Android å¼€æºé¡¹ç›® (AOSP) 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考编å·ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="https://source.android.com/security/overview/updates-resources.html#severity">严é‡ç¨‹åº¦</a>和已更新的 Android å¼€æºé¡¹ç›® (AOSP) 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
</p>
<h3 id="framework">框架</h3>
@@ -50,7 +50,7 @@
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>已更新的 AOSP 版本</th>
@@ -88,7 +88,7 @@
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>已更新的 AOSP 版本</th>
@@ -119,7 +119,7 @@
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>已更新的 AOSP 版本</th>
@@ -171,7 +171,7 @@
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>组件</th>
@@ -208,7 +208,7 @@
<a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=57ebd808a97d7c5b1e1afb937c2db22beba3c1f8">上游内核</a></td>
<td>EoP</td>
<td>中</td>
- <td>防ç«å¢™</td>
+ <td>netfilter</td>
</tr>
<tr>
@@ -240,7 +240,7 @@
<col width="30%" />
</colgroup><tbody><tr>
<th>CVE</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类型</th>
<th>严é‡ç¨‹åº¦</th>
<th>组件</th>
@@ -325,12 +325,12 @@
<h2 id="functional-patches">功能补ä¸ç¨‹åº</h2>
<p>
-我们针对å—å½±å“çš„ Pixel 设备纳入了以下更新,以解决与 Pixel 设备的安全性无关的功能问题。下表中包å«ç›¸å…³å‚考内容ã€å—å½±å“的类别(例如è“牙或移动数æ®ç½‘络)ã€æ”¹è¿›ä»¥åŠå—å½±å“设备。
+我们针对å—å½±å“çš„ Pixel 设备纳入了以下更新,以解决与 Pixel 设备的安全性无关的功能问题。下表中包å«ç›¸å…³å‚考编å·ã€å—å½±å“的类别(例如è“牙或移动数æ®ç½‘络)ã€æ”¹è¿›ä»¥åŠå—å½±å“设备。
</p>
<table>
<tbody><tr>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
<th>类别</th>
<th>改进</th>
<th>设备</th>
@@ -389,17 +389,17 @@
</tr>
</tbody></table>
<p>
-<strong>3.“å‚考内容â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
+<strong>3.“å‚考编å·â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
</p>
<p>
-在æ¼æ´žè¯¦æƒ…表内,“å‚考内容â€åˆ—中的æ¡ç›®å¯èƒ½åŒ…å«ç”¨äºŽæ ‡è¯†å‚考值所属组织的å‰ç¼€ã€‚<em></em>
+在æ¼æ´žè¯¦æƒ…表内,“å‚考编å·â€åˆ—中的æ¡ç›®å¯èƒ½åŒ…å«ç”¨äºŽæ ‡è¯†å‚考值所属组织的å‰ç¼€ã€‚<em></em>
</p>
<table>
<colgroup><col width="25%" />
<col width="75%" />
</colgroup><tbody><tr>
<th>å‰ç¼€</th>
- <th>å‚考内容</th>
+ <th>å‚考编å·</th>
</tr>
<tr>
<td>A-</td>
@@ -423,10 +423,10 @@
</tr>
</tbody></table>
<p id="asterisk">
-<strong>4. 在“å‚考内容â€åˆ—中,Android Bug ID æ—边的 * 表示什么æ„æ€ï¼Ÿ<em></em></strong>
+<strong>4. 在“å‚考编å·â€åˆ—中,Android Bug ID æ—边的 * 表示什么æ„æ€ï¼Ÿ<em></em></strong>
</p>
<p>
-如果问题尚未公开å‘布,则在“å‚考内容â€åˆ—中,相应 Android Bug ID æ—边会显示 *。<em></em><a href="https://developers.google.com/android/nexus/drivers">Google Developers 网站</a>上针对 Nexus 设备æ供的最新二进制驱动程åºä¸­é€šå¸¸åŒ…å«æ—¨åœ¨è§£å†³ç›¸åº”问题的更新。
+如果问题尚未公开å‘布,则在“å‚考编å·â€åˆ—中,相应 Android Bug ID æ—边会显示 *。<em></em><a href="https://developers.google.com/android/nexus/drivers">Google Developers 网站</a>上针对 Pixel/Nexus 设备æ供的最新二进制驱动程åºä¸­é€šå¸¸åŒ…å«æ—¨åœ¨è§£å†³ç›¸åº”问题的更新。
</p>
<p>
<strong>5. 为什么è¦å°†å®‰å…¨æ¼æ´žæ‹†åˆ†åˆ°æœ¬å…¬å‘Šå’Œ Android 安全公告中?</strong>
diff --git a/zh-cn/security/bulletin/pixel/2018-08-01.html b/zh-cn/security/bulletin/pixel/2018-08-01.html
index ee83ed14..c76f1576 100644
--- a/zh-cn/security/bulletin/pixel/2018-08-01.html
+++ b/zh-cn/security/bulletin/pixel/2018-08-01.html
@@ -120,7 +120,8 @@
<tr>
<td>CVE-2018-9441</td>
<td>
-<a href="https://android.googlesource.com/platform/system/bt/+/c3c69bed0f76178c640dd8e726967b9cdea5dece">A-74075873</a> [<a href="https://android.googlesource.com/platform/system/bt/+/3a2799939b2da543ed3a62f29db658cb05f8ad3b">2</a>]
+<a href="https://android.googlesource.com/platform/system/bt/+/c3c69bed0f76178c640dd8e726967b9cdea5dece">A-74075873</a>
+[<a href="https://android.googlesource.com/platform/system/bt/+/3a2799939b2da543ed3a62f29db658cb05f8ad3b">2</a>]
</td>
<td>ID</td>
<td>中</td>
@@ -231,7 +232,9 @@
<tr>
<td>CVE-2018-5910</td>
<td>A-79422277<br />
-<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=b67e04e3696f05411b7434c8b194895d273b00c5">QC-CR#2175499</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=d9344c2f4b60cf5d4c747c11f3cb0b6f1558db78">2</a>]
+<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=b67e04e3696f05411b7434c8b194895d273b00c5">
+QC-CR#2175499</a>
+[<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=d9344c2f4b60cf5d4c747c11f3cb0b6f1558db78">2</a>]
</td>
<td>EoP</td>
<td>中</td>
@@ -248,7 +251,9 @@
<tr>
<td>CVE-2018-5908</td>
<td>A-79422409<br />
-<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=28e5918c60b832091c6b3618747258803cbd3302">QC-CR#2171758</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=4689d03e5db548d263232c274bf307956207da27">2</a>]
+<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=28e5918c60b832091c6b3618747258803cbd3302">
+QC-CR#2171758</a>
+[<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=4689d03e5db548d263232c274bf307956207da27">2</a>]
</td>
<td>EoP</td>
<td>中</td>
@@ -265,7 +270,9 @@
<tr>
<td>CVE-2018-5904</td>
<td>A-79421260<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=88b838c8952ec6414c72449ae15768d15d2606dd">QC-CR#2184702</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.9/commit/?id=8e82c0d84ccee87309fd22f8208915f0ba502b26">2</a>]
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=88b838c8952ec6414c72449ae15768d15d2606dd">
+QC-CR#2184702</a>
+[<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.9/commit/?id=8e82c0d84ccee87309fd22f8208915f0ba502b26">2</a>]
</td>
<td>EoP</td>
<td>中</td>
@@ -274,7 +281,8 @@
<tr>
<td>CVE-2018-5903</td>
<td>A-79421737<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=20365fa599f42f6e1f175d9d5d60d964927c2160">QC-CR#2185477</a></td>
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=20365fa599f42f6e1f175d9d5d60d964927c2160">
+QC-CR#2185477</a></td>
<td>EoP</td>
<td>中</td>
<td>qcacld 3.0</td>
@@ -288,21 +296,24 @@
</tr>
<tr>
<td>CVE-2017-18307</td>
- <td>A-73888283<a href="#asterisk">*</a><br />QC-CR#2026045</td>
+ <td>A-73888283<a href="#asterisk">*</a><br />
+ QC-CR#2026045</td>
<td>ID</td>
<td>中</td>
<td>qcacld-3.0</td>
</tr>
<tr>
<td>CVE-2017-9711</td>
- <td>A-36367253<a href="#asterisk">*</a><br />QC-CR#2046006</td>
+ <td>A-36367253<a href="#asterisk">*</a><br />
+ QC-CR#2046006</td>
<td>EoP</td>
<td>中</td>
<td>IPA</td>
</tr>
<tr>
<td>CVE-2018-3587</td>
- <td>A-65542521<a href="#asterisk">*</a><br />QC-CR#2120605</td>
+ <td>A-65542521<a href="#asterisk">*</a><br />
+ QC-CR#2120605</td>
<td>EoP</td>
<td>中</td>
<td>qcacld-2.0</td>
@@ -327,7 +338,8 @@
<tr>
<td>CVE-2017-13295</td>
<td>
-<a href="https://android.googlesource.com/platform/frameworks/base/+/da24aa45a8b65a7b9adbe12ff94bf891bdd38825">A-62537081</a> [<a href="https://android.googlesource.com/platform/packages/apps/PackageInstaller/+/3af01bd93513d902dbb5382b10109fdf3ab29d2d">2</a>]
+<a href="https://android.googlesource.com/platform/frameworks/base/+/da24aa45a8b65a7b9adbe12ff94bf891bdd38825">A-62537081</a>
+[<a href="https://android.googlesource.com/platform/packages/apps/PackageInstaller/+/3af01bd93513d902dbb5382b10109fdf3ab29d2d">2</a>]
</td>
<td>DoS</td>
<td>中</td>
@@ -379,7 +391,8 @@
<tr>
<td>CVE-2017-15817</td>
<td>A-68992394<br />
- <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/prima/commit/?id=fe43c2b64ac81199de17efc258e95546cb0546f1">QC-CR#2076603</a> [<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/prima/commit/?id=8ba78e506e5002cdae525dd544dbf1df0ccce1ef">2</a>]
+ <a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/prima/commit/?id=fe43c2b64ac81199de17efc258e95546cb0546f1">QC-CR#2076603</a>
+[<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/prima/commit/?id=8ba78e506e5002cdae525dd544dbf1df0ccce1ef">2</a>]
<br />
<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=343a3f28338788c5c91289f53171c1f71f293cd7">QC-CR#2084599</a>
<br />
diff --git a/zh-cn/security/bulletin/pixel/2018-09-01.html b/zh-cn/security/bulletin/pixel/2018-09-01.html
index 1d6273cb..5b742fb8 100644
--- a/zh-cn/security/bulletin/pixel/2018-09-01.html
+++ b/zh-cn/security/bulletin/pixel/2018-09-01.html
@@ -114,8 +114,7 @@
<tr>
<td>CVE-2018-11273</td>
<td>A-109741750<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=789d4d21c3f1818dcbf74da4a051598e8f53676c">QC-CR#2204285</a>
- [<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.9/commit/?id=f34f6271362484c1f87f4176e72a3bfb80ee7711">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=789d4d21c3f1818dcbf74da4a051598e8f53676c">QC-CR#2204285</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-4.9/commit/?id=f34f6271362484c1f87f4176e72a3bfb80ee7711">2</a>]</td>
<td>N/A</td>
<td>中</td>
<td>音频</td>
@@ -131,8 +130,7 @@
<tr>
<td>CVE-2018-11281</td>
<td>A-109741734<br />
- <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=4bc7311e9ea9145a615184626cc43a8b92e7619c">QC-CR#2191541</a>
- [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=c9861d16283cb4279de98a6695e0a4e6ea0230cb">2</a>]</td>
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=4bc7311e9ea9145a615184626cc43a8b92e7619c">QC-CR#2191541</a> [<a href="https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=c9861d16283cb4279de98a6695e0a4e6ea0230cb">2</a>]</td>
<td>N/A</td>
<td>中</td>
<td>æ•°æ® HLOS - LNX</td>
diff --git a/zh-cn/security/bulletin/pixel/2018-11-01.html b/zh-cn/security/bulletin/pixel/2018-11-01.html
new file mode 100644
index 00000000..b1623f8c
--- /dev/null
+++ b/zh-cn/security/bulletin/pixel/2018-11-01.html
@@ -0,0 +1,249 @@
+<html devsite><head>
+ <title>Pixel / Nexus 安全公告 - 2018 年 11 月</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<p><em>å‘布时间:2018 å¹´ 11 月 5 æ—¥</em></p>
+
+<p>
+本 Pixel/Nexus 安全公告详细介ç»äº†ä¼šå½±å“<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">å—支æŒçš„ Google Pixel å’Œ Nexus 设备</a>(Google 设备)的安全æ¼æ´žå’ŒåŠŸèƒ½æ”¹è¿›ã€‚对于 Google 设备,如果安全补ä¸ç¨‹åºçº§åˆ«æ˜¯ 2018-11-05 或更新,则æ„味ç€å·²è§£å†³æœ¬å…¬å‘Šä»¥åŠ 2018 å¹´ 11 月的 Android 安全公告中所述的所有问题。è¦äº†è§£å¦‚何查看设备的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œè¯·å‚阅<a href="https://support.google.com/pixelphone/answer/4457705" class="external">查看并更新 Android 版本</a>。
+</p>
+<p>
+所有å—支æŒçš„ Google 设备都将会收到 2018-11-05 è¡¥ä¸ç¨‹åºçº§åˆ«çš„更新。建议所有用户都在自己的设备上接å—这些更新。
+</p>
+<p class="note">
+<strong>注æ„</strong>:å¯åœ¨ <a href="https://developers.google.com/android/images" class="external">Google Developers 网站</a>上找到 Google 设备固件映åƒã€‚
+</p>
+
+<h2 id="announcements">通告</h2>
+
+<p>除了 <a href="/security/bulletin/2018-11-01">2018 å¹´ 11 月的 Android 安全公告</a>中所述的安全æ¼æ´žå¤–,Pixel å’Œ Nexus 设备中还包å«é’ˆå¯¹ä¸‹è¿°å®‰å…¨æ¼æ´žçš„è¡¥ä¸ç¨‹åºã€‚åˆä½œä¼™ä¼´åœ¨è‡³å°‘一个月å‰å°±å·²æ”¶åˆ°å…³äºŽè¿™äº›é—®é¢˜çš„通知,并å¯ä»¥é€‰æ‹©å°†é’ˆå¯¹è¿™äº›é—®é¢˜çš„è¡¥ä¸ç¨‹åºçº³å…¥åˆ°å…¶è®¾å¤‡æ›´æ–°ä¸­ã€‚
+</p>
+
+<h2 id="security-patches">安全补ä¸ç¨‹åº</h2>
+<p>
+æ¼æ´žåˆ—在所影å“的组件下,内容包括问题æè¿°å’Œä¸€ä¸ªè¡¨ï¼Œè¯¥è¡¨ä¸­åŒ…å« CVEã€ç›¸å…³å‚考内容ã€<a href="#type">æ¼æ´žç±»åž‹</a>ã€<a href="/security/overview/updates-resources#severity">严é‡ç¨‹åº¦</a>和已更新的 Android å¼€æºé¡¹ç›® (AOSP) 版本(如果适用)。如果有解决相应问题的公开更改记录(例如 AOSP 代ç æ›´æ”¹åˆ—表),我们会将 Bug ID 链接到该记录。如果æŸä¸ª Bug 有多æ¡ç›¸å…³çš„代ç æ›´æ”¹è®°å½•ï¼Œæˆ‘们还会通过 Bug ID åŽé¢çš„数字链接到更多å‚考内容。
+</p>
+
+<h3 id="htc-components">HTC 组件</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考内容</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>组件</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9580</td>
+ <td>A-76222002<a href="#asterisk">*</a></td>
+ <td>EoP</td>
+ <td>中</td>
+ <td>引导加载程åº</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm 组件</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>å‚考内容</th>
+ <th>类型</th>
+ <th>严é‡ç¨‹åº¦</th>
+ <th>组件</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-14888</td>
+ <td>A-70237718<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d50dfd647b2396d2e2c05b7aee84d831e4a18d68">QC-CR#2119729</a></td>
+ <td>N/A</td>
+ <td>中</td>
+ <td>WLAN 主机</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-15835</td>
+ <td>A-72957155<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=b6eeed234707244c799ae7009e67312b8bf33ccd">QC-CR#2125781</a></td>
+ <td>N/A</td>
+ <td>中</td>
+ <td>WLAN 主机</td>
+ </tr>
+</tbody></table>
+
+<h2 id="functional-patches">功能补ä¸ç¨‹åº</h2>
+
+<p>在 11 月份的 OTA 更新期间,所有æ­è½½ Android 9 çš„ Pixel 设备都将会收到 Android 9 更新。此类更新æ¯å­£åº¦å‘布一次,其中包å«é’ˆå¯¹ Android å¹³å°å’Œå—支æŒçš„ Pixel 设备å„个部分的多项功能更新和改进。</p>
+
+<p>此更新还包å«ä»¥ä¸‹ä¿®å¤ç¨‹åºï¼Œè¿™äº›ä¿®å¤ç¨‹åºå¯¹äºŽ Android 设备制造商而言必ä¸å¯å°‘。</p>
+
+<table>
+ <tbody><tr>
+ <th>å‚考内容</th>
+ <th>类别</th>
+ <th>改进</th>
+ <th>设备</th>
+ </tr>
+ <tr>
+ <td>A-111401911</td>
+ <td>显示</td>
+ <td>改进了使用<a href="/devices/tech/display/pip">画中画</a>的设备的性能</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-109769728</td>
+ <td>框架</td>
+ <td>改进了 Strongbox 对称密钥生æˆè¯·æ±‚</td>
+ <td>Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112198479</td>
+ <td>显示</td>
+ <td>改进了使用<a href="/devices/tech/display/pip">画中画</a>的应用的性能</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112714177</td>
+ <td>通知</td>
+ <td>æå‡äº†é€šçŸ¥çš„稳定性</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">常è§é—®é¢˜å’Œè§£ç­”</h2>
+<p>
+这一部分解答了用户在阅读本公告åŽå¯èƒ½ä¼šæ出的常è§é—®é¢˜ã€‚
+</p>
+<p>
+<strong>1. 如何确定我的设备是å¦å·²é€šè¿‡æ›´æ–°è§£å†³è¿™äº›é—®é¢˜ï¼Ÿ
+</strong>
+</p>
+<p>
+如果安全补ä¸ç¨‹åºçº§åˆ«æ˜¯ 2018-11-05 或更新,则æ„味ç€å·²è§£å†³ 2018-11-05 以åŠä¹‹å‰çš„所有安全补ä¸ç¨‹åºçº§åˆ«æ¶µç›–的所有问题。è¦äº†è§£å¦‚何查看设备的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œè¯·å‚阅 <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Pixel å’Œ Nexus 更新时间表</a>中的说明。
+</p>
+<p id="type">
+<strong>2.“类型â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
+</p>
+<p>
+在æ¼æ´žè¯¦æƒ…表内,“类型â€åˆ—中的æ¡ç›®æ˜¯å®‰å…¨æ¼æ´žçš„分类。<em></em>
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>缩写è¯</th>
+ <th>定义</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>远程代ç æ‰§è¡Œ</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>ææƒ</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>ä¿¡æ¯æŠ«éœ²</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>æ‹’ç»æœåŠ¡</td>
+ </tr>
+ <tr>
+ <td>N/A</td>
+ <td>没有分类</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>3.“å‚考内容â€åˆ—中的æ¡ç›®è¡¨ç¤ºä»€ä¹ˆæ„æ€ï¼Ÿ<em></em></strong>
+</p>
+<p>
+在æ¼æ´žè¯¦æƒ…表内,“å‚考内容â€åˆ—中的æ¡ç›®å¯èƒ½åŒ…å«ç”¨äºŽæ ‡è¯†å‚考值所属组织的å‰ç¼€ã€‚<em></em>
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>å‰ç¼€</th>
+ <th>å‚考内容</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android Bug ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm å‚考编å·</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek å‚考编å·</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA å‚考编å·</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom å‚考编å·</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>4. 在“å‚考内容â€åˆ—中,Android Bug ID æ—边的 * 表示什么æ„æ€ï¼Ÿ<em></em></strong>
+</p>
+<p>
+如果问题尚未公开å‘布,则在“å‚考内容â€åˆ—中,相应 Android Bug ID æ—边会显示 *。<em></em><a href="https://developers.google.com/android/nexus/drivers" class="external">Google Developers 网站</a>上针对 Nexus 设备æ供的最新二进制驱动程åºä¸­é€šå¸¸åŒ…å«æ—¨åœ¨è§£å†³ç›¸åº”问题的更新。
+</p>
+<p>
+<strong>5. 为什么è¦å°†å®‰å…¨æ¼æ´žæ‹†åˆ†åˆ°æœ¬å…¬å‘Šå’Œ Android 安全公告中?</strong>
+</p>
+<p>
+è¦åœ¨ Android 设备上声明最新的安全补ä¸ç¨‹åºçº§åˆ«ï¼Œå¿…é¡»ä¿®å¤ Android 安全公告中记录的安全æ¼æ´žã€‚但在声明安全补ä¸ç¨‹åºçº§åˆ«æ—¶ï¼Œå¹¶ä¸æ˜¯å¿…é¡»è¦ä¿®å¤å…¶ä»–安全æ¼æ´žï¼ˆå¦‚本公告中记录的æ¼æ´žï¼‰ã€‚
+</p>
+<h2 id="versions">版本</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>版本</th>
+ <th>日期</th>
+ <th>备注</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018 年 11 月 5 日</td>
+ <td>å‘布了本公告。</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/zh-cn/security/bulletin/pixel/2018.html b/zh-cn/security/bulletin/pixel/2018.html
index 795b45db..243614a2 100644
--- a/zh-cn/security/bulletin/pixel/2018.html
+++ b/zh-cn/security/bulletin/pixel/2018.html
@@ -35,14 +35,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°†å‘布<!--
- <a href="/security/bulletin/pixel/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-05</td>
diff --git a/zh-cn/security/bulletin/pixel/index.html b/zh-cn/security/bulletin/pixel/index.html
index c3c18935..40717bd0 100644
--- a/zh-cn/security/bulletin/pixel/index.html
+++ b/zh-cn/security/bulletin/pixel/index.html
@@ -44,14 +44,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°†å‘布<!--
- <a href="/security/bulletin/pixel/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-05</td>
diff --git a/zh-cn/security/encryption/file-based.html b/zh-cn/security/encryption/file-based.html
index 53194cb9..2622f3fe 100644
--- a/zh-cn/security/encryption/file-based.html
+++ b/zh-cn/security/encryption/file-based.html
@@ -50,7 +50,7 @@ Android 7.0 åŠæ›´é«˜ç‰ˆæœ¬æ”¯æŒæ–‡ä»¶çº§åŠ å¯† (FBE)。采用文件级加密æ—
è¿™ç§åŒºåˆ†èƒ½å¤Ÿä½¿å·¥ä½œèµ„料更加安全,因为这样一æ¥ï¼ŒåŠ å¯†ä¸å†åªåŸºäºŽå¯åŠ¨å¯†ç ï¼Œä»Žè€Œèƒ½å¤ŸåŒæ—¶ä¿æŠ¤å¤šä½ç”¨æˆ·ã€‚
</p>
<p>
-Direct Boot API å…许加密感知型应用访问上述任何一个存储空间。<em></em>应用生命周期会å‘生一些å˜åŒ–,以便系统在用户的 CE 存储空间因用户在é”定å±å¹•ä¸Šé¦–次输入凭æ®è€Œè§£é”时,或者在工作资料æä¾›<a href="https://developer.android.com/about/versions/nougat/android-7.0.html#android_for_work">工作挑战</a>时,通知应用。无论是å¦å®žçŽ°äº† FBE,è¿è¡Œ Android 7.0 的设备都必须è¦æ”¯æŒè¿™äº›æ–°çš„ API 和生命周期。ä¸è¿‡ï¼Œå¦‚果没有å¯ç”¨ FBE,DE å’Œ CE 存储空间将始终处于解é”状æ€ã€‚
+Direct Boot API å…许加密感知型应用访问上述任何一个存储空间。应用生命周期会å‘生一些å˜åŒ–,以便系统在用户的 CE 存储空间因用户在é”定å±å¹•ä¸Šé¦–次输入凭æ®è€Œè§£é”<em></em>时,或者在工作资料æä¾›<a href="https://developer.android.com/about/versions/nougat/android-7.0.html#android_for_work">工作资料安全验è¯</a>时,通知应用。无论是å¦å®žçŽ°äº† FBE,è¿è¡Œ Android 7.0 的设备都必须è¦æ”¯æŒè¿™äº›æ–°çš„ API 和生命周期。ä¸è¿‡ï¼Œå¦‚果没有å¯ç”¨ FBE,DE å’Œ CE 存储空间将始终处于解é”状æ€ã€‚
</p>
<p>
Android å¼€æºé¡¹ç›® (AOSP) 中æ供了 EXT4 文件系统中的文件级加密的完整实现。在满足相关è¦æ±‚的设备上,åªéœ€å¯ç”¨è¯¥å®žçŽ°å³å¯ä½¿ç”¨è¯¥åŠŸèƒ½ã€‚选择使用 FBE 的制造商å¯èƒ½æƒ³è¦äº†è§£åŸºäºŽæ‰€ç”¨ç³»ç»ŸèŠ¯ç‰‡ (SoC) 优化该功能的方法。
@@ -107,15 +107,18 @@ AOSP æ供的文件级加密实现会用到 Linux 4.4 内核中的 EXT4 加密å
</tr>
<tr>
<td>Android Common</td>
- <td><strong>kernel/common</strong> android-3.10.y (<a href="https://android.googlesource.com/kernel/common/+/android-3.10.y">git</a>)</td>
+ <td><strong>kernel/common</strong> android-3.10.y (<a href="https://android.googlesource.com/kernel/common/+/android-3.10.y">git</a>)
+ </td>
</tr>
<tr>
<td>Nexus 5X (bullhead)</td>
- <td><strong>kernel/msm</strong> android-msm-bullhead-3.10-n-preview-2 (<a href="https://android.googlesource.com/kernel/msm/+/android-msm-bullhead-3.10-n-preview-2">git</a>)</td>
+ <td><strong>kernel/msm</strong> android-msm-bullhead-3.10-n-preview-2 (<a href="https://android.googlesource.com/kernel/msm/+/android-msm-bullhead-3.10-n-preview-2">git</a>)
+ </td>
</tr>
<tr>
<td>Nexus 6P (angler)</td>
- <td><strong>kernel/msm</strong> android-msm-angler-3.10-n-preview-2 (<a href="https://android.googlesource.com/kernel/msm/+/android-msm-angler-3.10-n-preview-2">git</a>)</td>
+ <td><strong>kernel/msm</strong> android-msm-angler-3.10-n-preview-2 (<a href="https://android.googlesource.com/kernel/msm/+/android-msm-angler-3.10-n-preview-2">git</a>)
+ </td>
</tr>
</tbody></table>
<p>
@@ -261,10 +264,10 @@ AOSP 实现会用到内核中的“fscryptâ€åŠ å¯†ï¼ˆå— ext4 å’Œ f2fs 支æŒï¼
</p><ul>
<li>身份验è¯ä»¤ç‰Œ</li><li>扩展凭æ®</li><li>secdiscardable hash</li></ul>
<p>
-身份验è¯ä»¤ç‰Œæ˜¯ä¸€ä¸ªç»è¿‡åŠ å¯†å’Œèº«ä»½éªŒè¯çš„令牌,由 <a href="/security/authentication/gatekeeper.html">Gatekeeper</a> 在用户æˆåŠŸç™»å½•æ—¶ç”Ÿæˆã€‚<em></em>除éžç”¨æˆ·æ供的身份验è¯ä»¤ç‰Œæ­£ç¡®æ— è¯¯ï¼Œå¦åˆ™ TEE 将拒ç»ç”¨æˆ·ä½¿ç”¨è¯¥å¯†é’¥ã€‚如果用户没有任何凭æ®ï¼Œåˆ™ä¸ä½¿ç”¨ä¹Ÿä¸éœ€è¦ä½¿ç”¨èº«ä»½éªŒè¯ä»¤ç‰Œã€‚
+身份验è¯ä»¤ç‰Œæ˜¯ä¸€ä¸ªç»è¿‡åŠ å¯†å’Œèº«ä»½éªŒè¯çš„令牌<em></em>,由 <a href="/security/authentication/gatekeeper.html">Gatekeeper</a> 在用户æˆåŠŸç™»å½•æ—¶ç”Ÿæˆã€‚除éžç”¨æˆ·æ供的身份验è¯ä»¤ç‰Œæ­£ç¡®æ— è¯¯ï¼Œå¦åˆ™ TEE 将拒ç»ç”¨æˆ·ä½¿ç”¨è¯¥å¯†é’¥ã€‚如果用户没有任何凭æ®ï¼Œåˆ™ä¸ä½¿ç”¨ä¹Ÿä¸éœ€è¦ä½¿ç”¨èº«ä»½éªŒè¯ä»¤ç‰Œã€‚
</p>
<p>
-<em></em>扩展凭æ®æ˜¯ä½¿ç”¨ <code>scrypt</code> 算法进行加ç›å’Œæ‰©å±•å¤„ç†åŽçš„用户凭æ®ã€‚实际上,凭æ®åœ¨è¢«ä¼ é€’到 <code>vold</code>(以便传递到 <code>scrypt</code>)之å‰ï¼Œä¼šåœ¨é”定设置æœåŠ¡ä¸­æŽ¥å—一次哈希处ç†ã€‚扩展凭æ®ä¼šä»¥åŠ å¯†å½¢å¼ç»‘定到 TEE 中的相应密钥,并享有适用于 <code>KM_TAG_APPLICATION_ID</code> 的所有ä¿è¯ã€‚如果用户没有凭æ®ï¼Œåˆ™ä¸ä½¿ç”¨ä¹Ÿä¸éœ€è¦ä½¿ç”¨æ‰©å±•å‡­æ®ã€‚
+扩展凭æ®æ˜¯ä½¿ç”¨ <code>scrypt</code> 算法进行加ç›å’Œæ‰©å±•å¤„ç†åŽçš„用户凭æ®ã€‚<em></em>实际上,凭æ®åœ¨è¢«ä¼ é€’到 <code>vold</code>(以便传递到 <code>scrypt</code>)之å‰ï¼Œä¼šåœ¨é”定设置æœåŠ¡ä¸­æŽ¥å—一次哈希处ç†ã€‚扩展凭æ®ä¼šä»¥åŠ å¯†å½¢å¼ç»‘定到 TEE 中的相应密钥,并享有适用于 <code>KM_TAG_APPLICATION_ID</code> 的所有ä¿è¯ã€‚如果用户没有凭æ®ï¼Œåˆ™ä¸ä½¿ç”¨ä¹Ÿä¸éœ€è¦ä½¿ç”¨æ‰©å±•å‡­æ®ã€‚
</p>
<p>
<code>secdiscardable hash</code> 是 16 KB éšæœºæ–‡ä»¶çš„ 512 ä½å“ˆå¸Œï¼Œå’Œç”¨äºŽé‡å»ºç›¸åº”密钥的其他信æ¯ï¼ˆä¾‹å¦‚ç§å­ï¼‰å­˜å‚¨åœ¨ä¸€èµ·ã€‚该文件会在相应密钥被删除时一并被安全删除,或者会以新的方å¼è¢«åŠ å¯†ï¼›é‡‡ç”¨è¿™ç§é™„加的ä¿æŠ¤æŽªæ–½åŽï¼Œæ”»å‡»è€…è¦æ¢å¤ç›¸åº”密钥,必须è¦å…ˆæ¢å¤è¿™ä¸ªè¢«å®‰å…¨åˆ é™¤çš„文件中的æ¯ä¸€ä¸ªä½ã€‚secdiscardable hash åŒæ ·ä¼šä»¥åŠ å¯†å½¢å¼ç»‘定到 TEE 中的相应密钥,并享有适用于 <code><a href="/security/keystore/tags#application_id">KM_TAG_APPLICATION_ID</a></code> 的所有ä¿è¯ã€‚
diff --git a/zh-cn/security/overview/updates-resources.html b/zh-cn/security/overview/updates-resources.html
index f4cab2c7..d3d87862 100644
--- a/zh-cn/security/overview/updates-resources.html
+++ b/zh-cn/security/overview/updates-resources.html
@@ -163,7 +163,7 @@
<p>远程攻击å‘é‡æŒ‡æ”»å‡»è€…å¯ä»¥åœ¨ä¸å®‰è£…应用或ä¸å®žé™…接触设备的情况下利用的错误。这包括因æµè§ˆç½‘页ã€é˜…读电å­é‚®ä»¶ã€æŽ¥æ”¶çŸ­ä¿¡æˆ–连接到æ¶æ„网络而触å‘的错误。为了进行严é‡ç¨‹åº¦åˆ†çº§ï¼ŒAndroid 安全团队还会将“邻近â€æ”»å‡»å‘é‡è§†ä¸ºè¿œç¨‹æ”»å‡»å‘é‡ã€‚这包括åªèƒ½è¢«å®žé™…接近目标设备的攻击者利用的错误,例如需è¦å‘é€æ ¼å¼é”™è¯¯çš„ WLAN æ•°æ®åŒ…或è“牙数æ®åŒ…的错误。</p>
-<p>本地攻击需è¦å—害者安装应用æ‰èƒ½å¾—逞。为了进行严é‡ç¨‹åº¦åˆ†çº§ï¼ŒAndroid 安全团队还会将现实攻击å‘é‡è§†ä¸ºæœ¬åœ°æ”»å‡»ã€‚这包括åªèƒ½è¢«å®žé™…接触到设备的攻击者利用的错误,例如é”定å±å¹•ä¸­çš„错误,或需è¦æ’å…¥ USB æ•°æ®çº¿çš„错误。Android 安全团队还会将基于 NFC 的攻击视为本地攻击。</p>
+<p>本地攻击需è¦å—害者è¿è¡Œåº”用æ‰èƒ½å¾—逞,å³éœ€è¦ç”¨æˆ·å®‰è£…å’Œè¿è¡Œåº”用,或åŒæ„è¿è¡Œ<a href="https://developer.android.com/topic/google-play-instant/">å…安装应用</a>。为了进行严é‡ç¨‹åº¦åˆ†çº§ï¼ŒAndroid 安全团队还会将现实攻击å‘é‡è§†ä¸ºæœ¬åœ°æ”»å‡»ã€‚这包括åªèƒ½è¢«å®žé™…接触到设备的攻击者利用的错误,例如é”定å±å¹•ä¸­çš„错误,或需è¦æ’å…¥ USB æ•°æ®çº¿çš„错误。Android 安全团队还会将基于 NFC 的攻击视为本地攻击。</p>
<h3 id="rating_modifiers">分级调节方å¼</h3>
<p>尽管通常å¯ä»¥è½»æ¾ç¡®å®šå®‰å…¨æ¼æ´žçš„严é‡ç¨‹åº¦ï¼Œä½†åˆ†çº§å¯èƒ½ä¼šå› å…·ä½“情况而异。</p>
diff --git a/zh-cn/security/selinux/concepts.html b/zh-cn/security/selinux/concepts.html
index c1acae5c..40e5143a 100644
--- a/zh-cn/security/selinux/concepts.html
+++ b/zh-cn/security/selinux/concepts.html
@@ -81,7 +81,7 @@ allow domain null_device:chr_file { open };
</pre>
<p>
-<em></em><em></em><em></em><em></em>该规则å…许具有与 <code>domain</code> 属性关è”的任何域的进程对 target_type 标签为 <code>null_device</code> çš„ <code>chr_file</code> 类(字符设备文件)的对象执行 <code>open</code> æƒé™æ‰€æè¿°çš„æ“作。在实践中,该规则å¯èƒ½ä¼šæ‰©å±•ä¸ºåŒ…å«å…¶ä»–æƒé™ï¼š</p>
+该规则å…许具有与 <code>domain</code> 属性关è”的任何域的进程对 target_type 标签为 <code>null_device</code> çš„ <code>chr_file</code> 类(字符设备文件)的对象执行 <code>open</code> æƒé™æ‰€æè¿°çš„æ“作。<em></em><em></em><em></em><em></em>在实践中,该规则å¯èƒ½ä¼šæ‰©å±•ä¸ºåŒ…å«å…¶ä»–æƒé™ï¼š</p>
<pre class="devsite-click-to-copy">
allow domain null_device:chr_file { getattr open read ioctl lock append write};
diff --git a/zh-cn/security/selinux/validate.html b/zh-cn/security/selinux/validate.html
index 34c36924..eaf1f492 100644
--- a/zh-cn/security/selinux/validate.html
+++ b/zh-cn/security/selinux/validate.html
@@ -60,10 +60,10 @@ tcontext=u:object_r:kmem_device:s0 tclass=chr_file
<p>以下是此拒ç»äº‹ä»¶çš„关键元素:</p>
<ul>
- <li><em></em>æ“作 - 试图进行的æ“作会使用括å·çªå‡ºæ˜¾ç¤ºï¼š<code>read write</code> 或 <code>setenforce</code>。
- </li><li><em></em>æ“作方 - <code>scontext</code>(æ¥æºçŽ¯å¢ƒï¼‰æ¡ç›®è¡¨ç¤ºæ“作方;在此例中为<code> rmt_storage</code> 守护进程。
- </li><li><em></em>对象 - <code>tcontext</code>(目标环境)æ¡ç›®è¡¨ç¤ºæ˜¯å¯¹å“ªä¸ªå¯¹è±¡æ‰§è¡Œæ“作;在此例中为 kmem。
- </li><li><em></em>结果 - <code>tclass</code>(目标类别)æ¡ç›®è¡¨ç¤ºæ“作对象的类型;在此例中为 <code>chr_file</code>(字符设备)。
+ <li>æ“作 - 试图进行的æ“作会使用括å·çªå‡ºæ˜¾ç¤ºï¼š<code>read write</code> 或 <code>setenforce</code>。<em></em>
+ </li><li>æ“作方 - <code>scontext</code>(æ¥æºçŽ¯å¢ƒï¼‰æ¡ç›®è¡¨ç¤ºæ“作方;在此例中为<code> rmt_storage</code> 守护进程。<em></em>
+ </li><li>对象 - <code>tcontext</code>(目标环境)æ¡ç›®è¡¨ç¤ºæ˜¯å¯¹å“ªä¸ªå¯¹è±¡æ‰§è¡Œæ“作;在此例中为 kmem。<em></em>
+ </li><li>结果 - <code>tclass</code>(目标类别)æ¡ç›®è¡¨ç¤ºæ“作对象的类型;在此例中为 <code>chr_file</code>(字符设备)。<em></em>
</li></ul>
<h2 id="switching_to_permissive">切æ¢åˆ°å®½å®¹æ¨¡å¼</h2>
@@ -106,6 +106,6 @@ allow shell kernel:security setenforce;
allow rmt kmem_device:chr_file { read write };
</pre>
-<p>这会授予 <code>rmt</code> å‘内核内存写入内容的æƒé™ï¼Œä»Žè€Œå½¢æˆæ˜Žæ˜¾çš„安全æ¼æ´žã€‚通常情况下,<code>audit2allow</code> 给出的声明建议åªæ˜¯ä¸€ä¸ªå¤§è‡´çš„基础。在添加这些声明åŽï¼Œæ‚¨å¯èƒ½éœ€è¦æ›´æ”¹æ¥æºåŸŸå’Œç›®æ ‡æ ‡ç­¾ï¼Œå¹¶çº³å…¥é€‚当的å®ï¼Œæ‰èƒ½å®žçŽ°è‰¯å¥½çš„政策é…置。有时,拒ç»äº‹ä»¶çš„åˆç†åº”对方å¼ä¸æ˜¯å¯¹æ”¿ç­–进行更改,而是更改è¿è§„的应用。</p>
+<p>这会授予 <code>rmt</code> å‘内核内存写入内容的æƒé™ï¼Œä»Žè€Œå½¢æˆæ˜Žæ˜¾çš„安全æ¼æ´žã€‚通常情况下,<code>audit2allow</code> 给出的声明建议åªæ˜¯ä¸€ä¸ªå¤§è‡´çš„基础。在添加这些声明åŽï¼Œæ‚¨å¯èƒ½éœ€è¦æ›´æ”¹æ¥æºåŸŸå’Œç›®æ ‡æ ‡ç­¾ï¼Œå¹¶çº³å…¥é€‚当的å®ï¼Œæ‰èƒ½å®žçŽ°è‰¯å¥½çš„政策é…置。有时,应对拒ç»äº‹ä»¶çš„åˆç†æ–¹å¼ä¸æ˜¯æ›´æ”¹æ”¿ç­–,而是更改è¿è§„的应用。</p>
</body></html> \ No newline at end of file
diff --git a/zh-cn/setup/build/requirements.html b/zh-cn/setup/build/requirements.html
index 6d74547c..3f3cda14 100644
--- a/zh-cn/setup/build/requirements.html
+++ b/zh-cn/setup/build/requirements.html
@@ -31,13 +31,14 @@
<li>如果是 Android 2.3.x (Gingerbread) åŠæ›´é«˜ç‰ˆæœ¬ï¼ˆåŒ…括 master 分支),需è¦ä½¿ç”¨ 64 ä½çŽ¯å¢ƒã€‚如果是较低的版本,则å¯ä»¥åœ¨ 32 ä½ç³»ç»Ÿä¸­è¿›è¡Œç¼–译。
</li>
<li>如果è¦æ£€å‡ºä»£ç ï¼Œè‡³å°‘éœ€è¦ 250GB å¯ç”¨ç£ç›˜ç©ºé—´ï¼›å¦‚æžœè¦è¿›è¡Œç¼–è¯‘ï¼Œåˆ™è¿˜éœ€è¦ 150GB。如果è¦è¿›è¡Œå¤šæ¬¡ç¼–译,则需è¦æ›´å¤šç©ºé—´ã€‚
+ <aside class="note"><strong>注æ„</strong>:完整的 Android å¼€æºé¡¹ç›® (AOSP) é•œåƒåŒ…å«äº†ä¹‹å‰ä½¿ç”¨è¿‡çš„所有 Git 代ç åº“。因此,如果è¦æ£€å‡ºé•œåƒï¼Œåˆ™éœ€è¦æ›´å¤šç©ºé—´ã€‚</aside>
</li>
<li>如果在虚拟机中è¿è¡Œ Linuxï¼Œåˆ™è‡³å°‘éœ€è¦ 16GB çš„ RAM/交æ¢ç©ºé—´ã€‚
</li>
</ul>
<h2 id="software-requirements">软件è¦æ±‚</h2>
-<p><a href="https://android.googlesource.com/" class="external">Android å¼€æºé¡¹ç›® (AOSP)</a> <code>master</code> 分支历æ¥éƒ½æ˜¯åœ¨ Ubuntu Long Term Support (LTS) 版本中进行开å‘和测试,但您也å¯ä»¥ä½¿ç”¨å…¶ä»– Ubuntu 分å‘版本。è¦æŸ¥çœ‹å»ºè®®ä½¿ç”¨çš„版本,请å‚阅下é¢çš„列表。
+<p><a href="https://android.googlesource.com/" class="external">Android å¼€æºé¡¹ç›® (AOSP)</a> <code>master</code> 分支历æ¥éƒ½æ˜¯åœ¨ Ubuntu Long Term Support (LTS) 版本中进行开å‘和测试,但您也å¯ä»¥ä½¿ç”¨å…¶ä»–分å‘版本。è¦æŸ¥çœ‹å»ºè®®ä½¿ç”¨çš„版本,请å‚阅下é¢çš„列表。
</p>
<p>
您的工作站必须具有下é¢åˆ—出的软件。è¦æŸ¥çœ‹æ‰€éœ€çš„其他软件包以åŠç”¨äºŽå®‰è£…这些软件包的命令,请å‚阅<a href="initializing.html">构建编译环境</a>。
diff --git a/zh-cn/setup/contribute/code-style.html b/zh-cn/setup/contribute/code-style.html
index fa06052c..6e72c8f3 100644
--- a/zh-cn/setup/contribute/code-style.html
+++ b/zh-cn/setup/contribute/code-style.html
@@ -36,7 +36,7 @@
}
</code></pre>
<p>åƒä¸‡ä¸è¦è¿™æ ·åšã€‚虽然您å¯èƒ½è®¤ä¸ºè‡ªå·±çš„代ç æ°¸è¿œä¸ä¼šé‡åˆ°è¿™ç§é”™è¯¯ï¼Œæˆ–者无需费心处ç†è¿™ç§é”™è¯¯ï¼Œä½†åƒä¸Šä¾‹é‚£æ ·å¿½ç•¥å¼‚常会在您的代ç ä¸­åŸ‹ä¸‹éšæ‚£ï¼Œè¿™ç§é”™è¯¯æ€»æœ‰ä¸€å¤©ä¼šè¢«ä»–人触å‘。您必须有原则地处ç†ä»£ç ä¸­çš„æ¯ä¸ªå¼‚常;具体处ç†æ–¹å¼å› æƒ…况而异。</p>
-<p><em>无论何时,åªè¦é‡åˆ°ç©ºçš„ catch å­å¥ï¼Œå°±åº”该ä¿æŒè­¦æƒ•ã€‚当然,在æŸäº›æ—¶å€™ï¼Œç©ºçš„ catch 语å¥ç¡®å®žæ²¡ä»€ä¹ˆé—®é¢˜ï¼Œä½†è‡³å°‘你得想一想。</em>在 Java 中,无论怎么å°å¿ƒéƒ½ä¸ä¸ºè¿‡ã€‚- <a href="http://www.artima.com/intv/solid4.html">James Gosling</a></p>
+<p><em>无论何时,åªè¦é‡åˆ°ç©ºçš„ catch å­å¥ï¼Œå°±åº”该ä¿æŒè­¦æƒ•ã€‚当然,在æŸäº›æ—¶å€™ï¼Œç©ºçš„ catch 语å¥ç¡®å®žæ²¡ä»€ä¹ˆé—®é¢˜ï¼Œä½†è‡³å°‘你得想一想。在 Java 中,无论怎么å°å¿ƒéƒ½ä¸ä¸ºè¿‡ã€‚- <a href="http://www.artima.com/intv/solid4.html">James Gosling</a></em></p>
<p>å¯æŽ¥å—的替代方案(按优先顺åºæŽ’列)包括:</p>
<ul>
<li>将异常抛给方法调用者。
@@ -141,7 +141,7 @@ void setServerPort(String value) {
<h3 id="use-javadoc-standard-comments">使用 Javadoc 标准备注</h3>
<p>æ¯ä¸ªæ–‡ä»¶éƒ½åº”该在顶部放置版æƒå£°æ˜Žï¼Œå…¶åŽæ˜¯ package å’Œ import 语å¥ï¼ˆå„个å—之间用空行分隔),最åŽæ˜¯ç±»æˆ–接å£å£°æ˜Žã€‚在 Javadoc 备注中说明类或接å£çš„作用。</p>
<pre><code>/*
- * Copyright 2017 The Android Open Source Project
+ * Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/zh-cn/setup/develop/repo.html b/zh-cn/setup/develop/repo.html
index 448f2642..a4b1be2b 100644
--- a/zh-cn/setup/develop/repo.html
+++ b/zh-cn/setup/develop/repo.html
@@ -48,7 +48,7 @@ repo help init
<h2 id="init">init</h2>
<pre class="devsite-terminal devsite-click-to-copy">repo init -u <var>&lt;URL&gt;</var> [<var>&lt;OPTIONS&gt;</var>]
</pre>
-<p>在当å‰ç›®å½•ä¸­å®‰è£… Repo。这会创建一个 <code>.repo/</code> 目录,其中包å«ç”¨äºŽ Repo æºä»£ç å’Œæ ‡å‡† Android 清å•æ–‡ä»¶çš„ Git 代ç åº“。该 <code>.repo/</code> ç›®å½•ä¸­è¿˜åŒ…å« <code>manifest.xml</code>ï¼Œè¿™æ˜¯ä¸€ä¸ªæŒ‡å‘ <code>.repo/manifests/</code> 目录中所选清å•çš„符å·é“¾æŽ¥ã€‚有关更新清å•çš„说明,请å‚阅 <a href="https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.txt" class="external">manifest-format.txt</a>。</p>
+<p>在当å‰ç›®å½•ä¸­å®‰è£… Repo。这会创建一个 <code>.repo/</code> 目录,其中包å«ç”¨äºŽ Repo æºä»£ç å’Œæ ‡å‡† Android 清å•æ–‡ä»¶çš„ Git 代ç åº“。该 <code>.repo/</code> ç›®å½•ä¸­è¿˜åŒ…å« <code>manifest.xml</code>ï¼Œè¿™æ˜¯ä¸€ä¸ªæŒ‡å‘ <code>.repo/manifests/</code> 目录中所选清å•çš„符å·é“¾æŽ¥ã€‚有关更新清å•çš„说明,请å‚阅 <a href="https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md" class="external">manifest-format.md</a>。</p>
<p>选项:</p>
<ul>
<li>
@@ -140,7 +140,7 @@ repo download <var>&lt;TARGET&gt; &lt;CHANGE&gt;</var>
repo download platform/build 23823
</pre>
<p><code>repo sync</code> 应该å¯ä»¥æœ‰æ•ˆç§»é™¤é€šè¿‡ <code>repo download</code> 检索到的任何æ交。或者,您å¯ä»¥å°†è¿œç¨‹åˆ†æ”¯æ£€å‡ºï¼Œä¾‹å¦‚ <code>git checkout m/master</code>。</p>
-<p class="note"><strong>注æ„</strong>:由于全çƒçš„所有æœåŠ¡å™¨å‡å­˜åœ¨å¤åˆ¶å»¶è¿Ÿï¼Œå› æ­¤æŸé¡¹æ›´æ”¹ï¼ˆä½äºŽ <a href="https://android-review.googlesource.com/">Gerrit</a> 中)出现在网络上的时间与所有用户å¯é€šè¿‡ <code>repo download</code> 找到此项更改的时间之间存在些许的镜åƒå»¶è¿Ÿã€‚</p>
+<p class="note"><strong>注æ„</strong>:由于全çƒçš„所有æœåŠ¡å™¨å‡å­˜åœ¨å¤åˆ¶å»¶è¿Ÿï¼Œå› æ­¤æŸé¡¹æ›´æ”¹å‡ºçŽ°åœ¨ç½‘络上(ä½äºŽ <a href="https://android-review.googlesource.com/">Gerrit</a> 中)的时间与所有用户å¯é€šè¿‡ <code>repo download</code> 找到此项更改的时间之间存在些许的镜åƒå»¶è¿Ÿã€‚</p>
<h2 id="forall">forall</h2>
<pre class="devsite-terminal devsite-click-to-copy">
diff --git a/zh-cn/setup/start/build-numbers.html b/zh-cn/setup/start/build-numbers.html
index f3537f2f..745c0d84 100644
--- a/zh-cn/setup/start/build-numbers.html
+++ b/zh-cn/setup/start/build-numbers.html
@@ -204,2333 +204,2755 @@
<th>分支</th>
<th>版本</th>
<th>支æŒçš„设备</th>
+ <th>安全补ä¸ç¨‹åºçº§åˆ«</th>
</tr>
</thead>
<tbody>
<tr>
+ <td>PPR2.181005.003.A1</td>
+ <td>android-9.0.0_r18</td>
+ <td>Pie</td>
+ <td>Pixel XLã€Pixel</td>
+ <td>2018-11-01</td>
+ </tr>
+ <tr>
+ <td>PPR1.181005.003.A1</td>
+ <td>android-9.0.0_r17</td>
+ <td>Pie</td>
+ <td>Pixel XLã€Pixel</td>
+ <td>2018-11-01</td>
+ </tr>
+ <tr>
+ <td>PQ1A.181105.017.A1</td>
+ <td>android-9.0.0_r16</td>
+ <td>Pie</td>
+ <td>Pixel 3 XLã€Pixel 3ã€Pixel 2 XLã€Pixel 2</td>
+ <td>2018-11-05</td>
+ </tr>
+ <tr>
<td>PD1A.180720.031</td>
<td>android-9.0.0_r12</td>
<td>Pie</td>
<td>Pixel 3 XLã€Pixel 3</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>PD1A.180720.030</td>
<td>android-9.0.0_r11</td>
<td>Pie</td>
<td>Pixel 3 XLã€Pixel 3</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>PPR2.181005.003</td>
<td>android-9.0.0_r10</td>
<td>Pie</td>
<td>Pixel XLã€Pixelã€Pixel 2 XLã€Pixel 2</td>
+ <td>2018-10-05</td>
</tr>
<tr>
<td>PPR1.181005.003</td>
<td>android-9.0.0_r9</td>
<td>Pie</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-10-05</td>
</tr>
<tr>
<td>PPR2.180905.006.A1</td>
<td>android-9.0.0_r8</td>
<td>Pie</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>PPR2.180905.006</td>
<td>android-9.0.0_r7</td>
<td>Pie</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>PPR2.180905.005</td>
<td>android-9.0.0_r6</td>
<td>Pie</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>PPR1.180905.003</td>
<td>android-9.0.0_r5</td>
<td>Pie</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>PPR1.180610.011</td>
<td>android-9.0.0_r3</td>
<td>Pie</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-08-05</td>
</tr>
<tr>
<td>PPR1.180610.010</td>
<td>android-9.0.0_r2</td>
<td>Pie</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-08-05</td>
</tr>
<tr>
<td>PPR1.180610.009</td>
<td>android-9.0.0_r1</td>
<td>Pie</td>
<td>Pixel 2 XLã€Pixel 2ã€Pixel XLã€Pixel</td>
+ <td>2018-08-05</td>
+ </tr>
+ <tr>
+ <td>OPM8.181105.002</td>
+ <td>android-8.1.0_r51</td>
+ <td>Oreo</td>
+ <td>Pixel C</td>
+ <td>2018-11-05</td>
+ </tr>
+ <tr>
+ <td>OPM7.181105.004</td>
+ <td>android-8.1.0_r50</td>
+ <td>Oreo</td>
+ <td>Nexus 5X 和 Nexus 6P</td>
+ <td>2018-11-05</td>
</tr>
<tr>
<td>OPM8.181005.003</td>
<td>android-8.1.0_r48</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-10-05</td>
</tr>
<tr>
<td>OPM7.181005.003</td>
<td>android-8.1.0_r47</td>
<td>Oreo</td>
<td>Nexus 5X 和 Nexus 6P</td>
+ <td>2018-10-05</td>
</tr>
<tr>
<td>OPM6.171019.030.K1</td>
<td>android-8.1.0_r46</td>
<td>Oreo</td>
<td>Nexus 5X 和 Nexus 6P</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>OPM4.171019.021.Z1</td>
<td>android-8.1.0_r45</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-09-05</td>
</tr>
<tr>
<td>OPM6.171019.030.H1</td>
<td>android-8.1.0_r43</td>
<td>Oreo</td>
<td>Nexus 5X 和 Nexus 6P</td>
+ <td>2018-08-05</td>
</tr>
<tr>
<td>OPM4.171019.021.Y1</td>
<td>android-8.1.0_r42</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-08-05</td>
</tr>
<tr>
<td>OPM6.171019.030.E1</td>
<td>android-8.1.0_r41</td>
<td>Oreo</td>
<td>Nexus 5X 和 Nexus 6P</td>
+ <td>2018-07-05</td>
</tr>
<tr>
<td>OPM4.171019.021.R1</td>
<td>android-8.1.0_r40</td>
<td>Oreo</td>
<td>Pixel 2 XL</td>
+ <td>2018-07-05</td>
</tr>
<tr>
<td>OPM4.171019.021.Q1</td>
<td>android-8.1.0_r39</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2018-07-05</td>
</tr>
<tr>
<td>OPM4.171019.021.P1</td>
<td>android-8.1.0_r38</td>
<td>Oreo</td>
<td>Pixelã€Pixel XL</td>
+ <td>2018-07-05</td>
</tr>
<tr>
<td>OPM4.171019.021.N1</td>
<td>android-8.1.0_r37</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-07-05</td>
</tr>
<tr>
<td>OPM2.171026.006.H1</td>
<td>android-8.1.0_r36</td>
<td>Oreo</td>
<td>Pixel 2 XL</td>
+ <td>2018-07-05</td>
</tr>
<tr>
- <td>OPM2.171026.006.Google One</td>
+ <td>OPM2.171026.006.G1</td>
<td>android-8.1.0_r35</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2018-07-05</td>
</tr>
<tr>
<td>OPM6.171019.030.B1</td>
<td>android-8.1.0_r33</td>
<td>Oreo</td>
<td>Nexus 6Pã€Nexus 5X</td>
+ <td>2018-06-05</td>
</tr>
<tr>
<td>OPM4.171019.021.E1</td>
<td>android-8.1.0_r32</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-06-05</td>
</tr>
<tr>
<td>OPM4.171019.021.D1</td>
<td>android-8.1.0_r31</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-06-05</td>
</tr>
<tr>
<td>OPM2.171026.006.C1</td>
<td>android-8.1.0_r30</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-06-05</td>
</tr>
<tr>
<td>OPM4.171019.016.C1</td>
<td>android-8.1.0_r29</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-05-05</td>
</tr>
<tr>
<td>OPM4.171019.016.B1</td>
<td>android-8.1.0_r28</td>
<td>Oreo</td>
<td>Pixel XLã€Pixelã€Pixel 2 XLã€Pixel 2</td>
+ <td>2018-05-05</td>
</tr>
<tr>
<td>OPM4.171019.016.A1</td>
<td>android-8.1.0_r27</td>
<td>Oreo</td>
<td>Nexus 5X</td>
+ <td>2018-05-05</td>
</tr>
<tr>
<td>OPM2.171019.029.B1</td>
<td>android-8.1.0_r26</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-05-05</td>
</tr>
<tr>
<td>OPM2.171019.029.A1</td>
<td>android-8.1.0_r25</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2018-05-05</td>
</tr>
<tr>
<td>OPM4.171019.015.A1</td>
<td>android-8.1.0_r23</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-04-01</td>
</tr>
<tr>
<td>OPM5.171019.019</td>
<td>android-8.1.0_r22</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2018-04-01</td>
</tr>
<tr>
<td>OPM3.171019.019</td>
<td>android-8.1.0_r21</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2018-04-01</td>
</tr>
<tr>
<td>OPM2.171019.029</td>
<td>android-8.1.0_r20</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2ã€Pixel XLã€Pixelã€Nexus 5X</td>
+ <td>2018-04-05</td>
</tr>
<tr>
<td>OPM1.171019.026</td>
<td>android-8.1.0_r19</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-04-05</td>
</tr>
<tr>
<td>OPM5.171019.017</td>
<td>android-8.1.0_r18</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2018-03-05</td>
</tr>
<tr>
<td>OPM3.171019.016</td>
<td>android-8.1.0_r17</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2018-03-05</td>
</tr>
<tr>
<td>OPM1.171019.022.A1</td>
<td>android-8.1.0_r16</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-03-05</td>
</tr>
<tr>
<td>OPM1.171019.021</td>
<td>android-8.1.0_r15</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2ã€Pixel XLã€Pixel</td>
+ <td>2018-03-05</td>
</tr>
<tr>
<td>OPM5.171019.015</td>
<td>android-8.1.0_r14</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2018-02-05</td>
</tr>
<tr>
<td>OPM3.171019.014</td>
<td>android-8.1.0_r13</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2018-02-05</td>
</tr>
<tr>
<td>OPM1.171019.019</td>
<td>android-8.1.0_r12</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2018-02-05</td>
</tr>
<tr>
<td>OPM1.171019.018</td>
<td>android-8.1.0_r11</td>
<td>Oreo</td>
<td>Pixel 2 XL</td>
+ <td>2018-02-05</td>
</tr>
<tr>
<td>OPM1.171019.016</td>
<td>android-8.1.0_r10</td>
<td>Oreo</td>
<td>Pixelã€Pixel XLã€Pixel C</td>
+ <td>2018-02-05</td>
</tr>
<tr>
<td>OPM5.171019.014</td>
<td>android-8.1.0_r9</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM2.171019.016</td>
<td>android-8.1.0_r8</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM3.171019.013</td>
<td>android-8.1.0_r7</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM1.171019.015</td>
<td>android-8.1.0_r6</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM1.171019.014</td>
<td>android-8.1.0_r5</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2ã€Pixel XLã€Pixel</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM1.171019.013</td>
<td>android-8.1.0_r4</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM1.171019.012</td>
<td>android-8.1.0_r3</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2018-01-05</td>
</tr>
<tr>
<td>OPM2.171019.012</td>
<td>android-8.1.0_r2</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-12-05</td>
</tr>
<tr>
<td>OPM1.171019.011</td>
<td>android-8.1.0_r1</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2ã€Pixel XLã€Pixelã€Pixel Cã€Nexus 6Pã€Nexus 5X</td>
+ <td>2017-12-05</td>
</tr>
<tr>
<td>OPR5.170623.014</td>
<td>android-8.0.0_r36</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2017-12-01</td>
</tr>
<tr>
<td>OPR4.170623.020</td>
<td>android-8.0.0_r35</td>
<td>Oreo</td>
<td>Nexus 5X</td>
+ <td>2017-12-01</td>
</tr>
<tr>
<td>OPD3.170816.023</td>
<td>android-8.0.0_r34</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPD1.170816.025</td>
<td>android-8.0.0_r33</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPR6.170623.023</td>
<td>android-8.0.0_r32</td>
<td>Oreo</td>
<td>Nexus 5X</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPR5.170623.011</td>
<td>android-8.0.0_r31</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPR3.170623.013</td>
<td>android-8.0.0_r30</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPR2.170623.027</td>
<td>android-8.0.0_r29</td>
<td>Oreo</td>
<td>Nexus Player</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPR1.170623.032</td>
<td>android-8.0.0_r28</td>
<td>Oreo</td>
<td>Pixel XLã€Pixelã€Pixel C</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPD3.170816.016</td>
<td>android-8.0.0_r27</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPD2.170816.015</td>
<td>android-8.0.0_r26</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPD1.170816.018</td>
<td>android-8.0.0_r25</td>
<td>Oreo</td>
<td>Pixel 2</td>
+ <td>2017-11-05</td>
</tr>
<tr>
<td>OPD3.170816.012</td>
<td>android-8.0.0_r24</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPD1.170816.012</td>
<td>android-8.0.0_r23</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPD1.170816.011</td>
<td>android-8.0.0_r22</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPD1.170816.010</td>
<td>android-8.0.0_r21</td>
<td>Oreo</td>
<td>Pixel 2 XLã€Pixel 2</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPR5.170623.007</td>
<td>android-8.0.0_r17</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>OPR4.170623.009</td>
<td>android-8.0.0_r16</td>
<td>Oreo</td>
<td>Nexus 5X</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>OPR3.170623.008</td>
<td>android-8.0.0_r15</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>OPR1.170623.027</td>
<td>android-8.0.0_r13</td>
<td>Oreo</td>
<td>Pixel XLã€Pixelã€Pixel C</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>OPR6.170623.021</td>
<td>android-8.0.0_r12</td>
<td>Oreo</td>
<td>Nexus Player</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPR6.170623.019</td>
<td>android-8.0.0_r11</td>
<td>Oreo</td>
<td>Nexus 6P</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPR4.170623.006</td>
<td>android-8.0.0_r10</td>
<td>Oreo</td>
<td>Nexus 5X</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPR3.170623.007</td>
<td>android-8.0.0_r9</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPR1.170623.026</td>
<td>android-8.0.0_r7</td>
<td>Oreo</td>
<td>Pixel XLã€Pixelã€Pixel C</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>OPR6.170623.013</td>
<td>android-8.0.0_r4</td>
<td>Oreo</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>OPR6.170623.012</td>
<td>android-8.0.0_r3</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>OPR6.170623.011</td>
<td>android-8.0.0_r2</td>
<td>Oreo</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>OPR6.170623.010</td>
<td>android-8.0.0_r1</td>
<td>Oreo</td>
<td>Pixel C</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>N2G48H</td>
<td>android-7.1.2_r36</td>
<td>Nougat</td>
<td></td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>NZH54D</td>
<td>android-7.1.2_r33</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>NKG47S</td>
<td>android-7.1.2_r32</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>NHG47Q</td>
<td>android-7.1.2_r30</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>NJH47F</td>
<td>android-7.1.2_r29</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>N2G48C</td>
<td>android-7.1.2_r28</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Nexus Playerã€Pixel C</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>NZH54B</td>
<td>android-7.1.2_r27</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-07-05</td>
</tr>
<tr>
- </tr><tr>
<td>NKG47M</td>
<td>android-7.1.2_r25</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>NJH47D</td>
<td>android-7.1.2_r24</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>NHG47O</td>
<td>android-7.1.2_r23</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>N2G48B</td>
<td>android-7.1.2_r19</td>
<td>Nougat</td>
<td>Nexus 6Pã€Nexus Playerã€Pixel C</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>N2G47Z</td>
<td>android-7.1.2_r18</td>
<td>Nougat</td>
<td>Nexus 5X</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>NJH47B</td>
<td>android-7.1.2_r17</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>NJH34C</td>
<td>android-7.1.2_r16</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>NKG47L</td>
<td>android-7.1.2_r15</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>NHG47N</td>
<td>android-7.1.2_r14</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>N2G47X</td>
<td>android-7.1.2_r13</td>
<td>Nougat</td>
<td>Nexus Player</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>N2G47W</td>
<td>android-7.1.2_r12</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Pixel C</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>NHG47L</td>
<td>android-7.1.2_r11</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-05-05</td>
</tr>
<tr>
<td>N2G47T</td>
<td>android-7.1.2_r10</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-05-05</td>
</tr>
<tr>
<td>N2G47R</td>
<td>android-7.1.2_r9</td>
<td>Nougat</td>
<td>Nexus Player</td>
+ <td>2017-05-05</td>
</tr>
<tr>
<td>N2G47O</td>
<td>android-7.1.2_r8</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Pixel XLã€Pixelã€Pixel C</td>
+ <td>2017-05-05</td>
</tr>
<tr>
<td>NHG47K</td>
<td>android-7.1.2_r6</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-04-05</td>
</tr>
<tr>
<td>N2G47J</td>
<td>android-7.1.2_r5</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-04-05</td>
</tr>
<tr>
<td>N2G47H</td>
<td>android-7.1.2_r4</td>
<td>Nougat</td>
<td>Nexus 6Pã€Nexus Player</td>
+ <td>2017-04-05</td>
</tr>
<tr>
<td>N2G47F</td>
<td>android-7.1.2_r3</td>
<td>Nougat</td>
<td>Nexus 5X</td>
+ <td>2017-04-05</td>
</tr>
<tr>
<td>N2G47E</td>
<td>android-7.1.2_r2</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-04-05</td>
</tr>
<tr>
<td>N2G47D</td>
<td>android-7.1.2_r1</td>
<td>Nougat</td>
<td>Pixel C</td>
+ <td>2017-04-05</td>
</tr>
<tr>
<td>N9F27M</td>
<td>android-7.1.1_r58</td>
<td>Nougat</td>
<td>Nexus 9 (volantis)</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>NGI77B</td>
<td>android-7.1.1_r57</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>N8I11F</td>
<td>android-7.1.1_r56</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>N6F27M</td>
<td>android-7.1.1_r55</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>N4F27P</td>
<td>android-7.1.1_r54</td>
<td>Nougat</td>
<td>Nexus 9 (volantisg)</td>
+ <td>2017-10-05</td>
</tr>
<tr>
<td>N9F27L</td>
<td>android-7.1.1_r53</td>
<td>Nougat</td>
<td>Nexus 9</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>NGI55D</td>
<td>android-7.1.1_r52</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>N4F27O</td>
<td>android-7.1.1_r51</td>
<td>Nougat</td>
<td>Nexus 9 (volantisg)</td>
+ <td>2017-09-05</td>
</tr>
<tr>
<td>N8I11B</td>
<td>android-7.1.1_r50</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>N9F27H</td>
<td>android-7.1.1_r49</td>
<td>Nougat</td>
<td>Nexus 9 (volantis)</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>N6F27I</td>
<td>android-7.1.1_r48</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>N4F27K</td>
<td>android-7.1.1_r47</td>
<td>Nougat</td>
<td>Nexus 9 (volantisg)</td>
+ <td>2017-08-05</td>
</tr>
<tr>
<td>N9F27F</td>
<td>android-7.1.1_r46</td>
<td>Nougat</td>
<td>Nexus 9 (volantis)</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>N6F27H</td>
<td>android-7.1.1_r45</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>N4F27I</td>
<td>android-7.1.1_r44</td>
<td>Nougat</td>
<td>Nexus 9 (volantisg)</td>
+ <td>2017-07-05</td>
</tr>
<tr>
<td>N9F27C</td>
<td>android-7.1.1_r43</td>
<td>Nougat</td>
<td>Nexus 9 (volantis)</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>N6F27E</td>
<td>android-7.1.1_r42</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>N4F27E</td>
<td>android-7.1.1_r41</td>
<td>Nougat</td>
<td>Nexus 9 (volantisg)</td>
+ <td>2017-06-05</td>
</tr>
<tr>
<td>N6F27C</td>
<td>android-7.1.1_r40</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-05-05</td>
</tr>
<tr>
<td>N4F27B</td>
<td>android-7.1.1_r39</td>
<td>Nougat</td>
<td>Nexus 9 (volantis/volantisg)</td>
+ <td>2017-05-05</td>
</tr>
<tr>
<td>N6F26Y</td>
<td>android-7.1.1_r38</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-04-01</td>
</tr>
<tr>
<td>NOF27D</td>
<td>android-7.1.1_r35</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-04-01</td>
</tr>
<tr>
<td>N4F26X</td>
<td>android-7.1.1_r33</td>
<td>Nougat</td>
<td>Nexus 9 (volantis/volantisg)</td>
+ <td>2017-04-01</td>
</tr>
<tr>
<td>N4F26U</td>
<td>android-7.1.1_r31</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2017-04-01</td>
</tr>
<tr>
<td>N6F26U</td>
<td>android-7.1.1_r28</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NUF26N</td>
<td>android-7.1.1_r27</td>
<td>Nougat</td>
<td>Nexus 6P</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NOF27C</td>
<td>android-7.1.1_r26</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NOF27B</td>
<td>android-7.1.1_r25</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>N4F26T</td>
<td>android-7.1.1_r24</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Nexus 9 (volantis/volantisg)ã€Pixel C</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NMF27D</td>
<td>android-7.1.1_r23</td>
<td>Nougat</td>
<td>Nexus Player</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NMF26X</td>
<td>android-7.1.1_r22</td>
<td>Nougat</td>
<td>Nexus Player</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>NOF26W</td>
<td>android-7.1.1_r21</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>NOF26V</td>
<td>android-7.1.1_r20</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>N6F26R</td>
<td>android-7.1.1_r17</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>NUF26K</td>
<td>android-7.1.1_r16</td>
<td>Nougat</td>
<td>Nexus 6P</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>N4F26Q</td>
<td>android-7.1.1_r15</td>
<td>Nougat</td>
<td>Nexus 9 (volantis/volantisg)</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>N4F26O</td>
<td>android-7.1.1_r14</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Pixel C</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>N6F26Q</td>
<td>android-7.1.1_r13</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>N4F26M</td>
<td>android-7.1.1_r12</td>
<td>Nougat</td>
<td>Nexus 9 (volantis)</td>
+ <td>2017-01-01</td>
</tr>
<tr>
<td>N4F26J</td>
<td>android-7.1.1_r11</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>N4F26I</td>
<td>android-7.1.1_r10</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Pixel C</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>NMF26V</td>
<td>android-7.1.1_r9</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>NMF26U</td>
<td>android-7.1.1_r8</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>NMF26R</td>
<td>android-7.1.1_r7</td>
<td>Nougat</td>
<td>Nexus Player</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>NMF26Q</td>
<td>android-7.1.1_r6</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-12-05</td>
</tr>
<tr>
<td>NMF26O</td>
<td>android-7.1.1_r4</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-12-05</td>
</tr>
<tr>
<td>NMF26J</td>
<td>android-7.1.1_r3</td>
<td>Nougat</td>
<td>Nexus Player</td>
+ <td>2016-12-05</td>
</tr>
<tr>
<td>NMF26H</td>
<td>android-7.1.1_r2</td>
<td>Nougat</td>
<td>Pixel C</td>
+ <td>2016-12-05</td>
</tr>
<tr>
<td>NMF26F</td>
<td>android-7.1.1_r1</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 6Pã€Nexus 9 (volantis/volantisg)</td>
+ <td>2016-12-05</td>
</tr>
<tr>
<td>NDE63X</td>
<td>android-7.1.0_r7</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NDE63V</td>
<td>android-7.1.0_r6</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NDE63U</td>
<td>android-7.1.0_r5</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NDE63P</td>
<td>android-7.1.0_r4</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NDE63L</td>
<td>android-7.1.0_r2</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NDE63H</td>
<td>android-7.1.0_r1</td>
<td>Nougat</td>
<td>Pixel XLã€Pixel</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NBD92Q</td>
<td>android-7.0.0_r35</td>
<td>Nougat</td>
<td></td>
+ <td>2017-11-01</td>
</tr>
<tr>
<td>NBD92N</td>
<td>android-7.0.0_r34</td>
<td>Nougat</td>
<td></td>
+ <td>2017-10-01</td>
</tr>
<tr>
<td>NBD92G</td>
<td>android-7.0.0_r33</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-04-01</td>
</tr>
<tr>
<td>NBD92F</td>
<td>android-7.0.0_r32</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-04-01</td>
</tr>
<tr>
<td>NBD92E</td>
<td>android-7.0.0_r31</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NBD92D</td>
<td>android-7.0.0_r30</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-03-05</td>
</tr>
<tr>
<td>NBD91Z</td>
<td>android-7.0.0_r29</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>NBD91Y</td>
<td>android-7.0.0_r28</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-02-05</td>
</tr>
<tr>
<td>NBD91X</td>
<td>android-7.0.0_r27</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>NBD91U</td>
<td>android-7.0.0_r24</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2016-12-05</td>
</tr>
<tr>
<td>N5D91L</td>
<td>android-7.0.0_r21</td>
<td>Nougat</td>
<td>Nexus 5X</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NBD91P</td>
<td>android-7.0.0_r19</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NRD91K</td>
<td>android-7.0.0_r17</td>
<td>Nougat</td>
<td>Nexus 6P</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NRD91N</td>
<td>android-7.0.0_r15</td>
<td>Nougat</td>
<td>Nexus 5Xã€Pixel Cã€Nexus Playerã€Nexus 9 (volantis/volantisg)</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>NBD90Z</td>
<td>android-7.0.0_r14</td>
<td>Nougat</td>
<td>Nexus 6</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NBD90X</td>
<td>android-7.0.0_r13</td>
<td>Nougat</td>
<td>Nexus 6P</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NBD90W</td>
<td>android-7.0.0_r12</td>
<td>Nougat</td>
<td>Nexus 5X</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NRD91D</td>
<td>android-7.0.0_r7</td>
<td>Nougat</td>
<td>Pixel Cã€Nexus Playerã€Nexus 9 (WLAN)</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>NRD90U</td>
<td>android-7.0.0_r6</td>
<td>Nougat</td>
<td>Nexus 6P</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>NRD90T</td>
<td>android-7.0.0_r5</td>
<td>Nougat</td>
<td>Nexus 6P</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>NRD90S</td>
<td>android-7.0.0_r4</td>
<td>Nougat</td>
<td>Nexus 5X</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>NRD90R</td>
<td>android-7.0.0_r3</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 9 (volantis)ã€Nexus Playerã€Pixel C</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>NRD90M</td>
<td>android-7.0.0_r1</td>
<td>Nougat</td>
<td>Nexus 5Xã€Nexus 9 (volantis)ã€Nexus Playerã€Pixel C</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MOI10E</td>
<td>android-6.0.1_r81</td>
<td>Marshmallow</td>
<td></td>
+ <td>2017-10-01</td>
</tr>
<tr>
<td>MOB31Z</td>
<td>android-6.0.1_r80</td>
<td>Marshmallow</td>
<td></td>
+ <td>2017-07-01</td>
</tr>
<tr>
<td>MOB31T</td>
<td>android-6.0.1_r79</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2017-02-01</td>
</tr>
<tr>
<td>MOB31S</td>
<td>android-6.0.1_r78</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2017-01-05</td>
</tr>
<tr>
<td>M4B30Z</td>
<td>android-6.0.1_r77</td>
<td>Marshmallow</td>
<td>Nexus 5</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>MOB31K</td>
<td>android-6.0.1_r74</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>MMB31C</td>
<td>android-6.0.1_r73</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-11-05</td>
</tr>
<tr>
<td>M4B30X</td>
<td>android-6.0.1_r72</td>
<td>Marshmallow</td>
<td>Nexus 5</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>MOB31H</td>
<td>android-6.0.1_r70</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>MMB30Y</td>
<td>android-6.0.1_r69</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-10-05</td>
</tr>
<tr>
<td>MTC20K</td>
<td>android-6.0.1_r67</td>
<td>Marshmallow</td>
<td>Nexus 5X</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>MOB31E</td>
<td>android-6.0.1_r66</td>
<td>Marshmallow</td>
<td>Nexus 5ã€Nexus 6ã€Nexus 9 (volantis)</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>MMB30W</td>
<td>android-6.0.1_r65</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-09-06</td>
</tr>
<tr>
<td>MXC89L</td>
<td>android-6.0.1_r63</td>
<td>Marshmallow</td>
<td>Pixel C</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MTC20F</td>
<td>android-6.0.1_r62</td>
<td>Marshmallow</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MOB30Y</td>
<td>android-6.0.1_r60</td>
<td>Marshmallow</td>
<td>Nexus 5</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MOB30X</td>
<td>android-6.0.1_r59</td>
<td>Marshmallow</td>
<td>Nexus 7 (flo/deb)</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MOB30W</td>
<td>android-6.0.1_r58</td>
<td>Marshmallow</td>
<td>Nexus 6ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MMB30S</td>
<td>android-6.0.1_r57</td>
<td>Marshmallow</td>
<td>Nexus 7 (deb)</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MMB30R</td>
<td>android-6.0.1_r56</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-08-05</td>
</tr>
<tr>
<td>MXC89K</td>
<td>android-6.0.1_r55</td>
<td>Marshmallow</td>
<td>Pixel C</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MTC19Z</td>
<td>android-6.0.1_r54</td>
<td>Marshmallow</td>
<td>Nexus 5X</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MTC19X</td>
<td>android-6.0.1_r53</td>
<td>Marshmallow</td>
<td>Nexus 6P</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MOB30P</td>
<td>android-6.0.1_r50</td>
<td>Marshmallow</td>
<td>Nexus 5ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MOB30O</td>
<td>android-6.0.1_r49</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MMB30M</td>
<td>android-6.0.1_r48</td>
<td>Marshmallow</td>
<td>Nexus 7 (deb)</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MMB30K</td>
<td>android-6.0.1_r47</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-07-05</td>
</tr>
<tr>
<td>MOB30M</td>
<td>android-6.0.1_r46</td>
<td>Marshmallow</td>
<td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2016-06-01</td>
</tr>
<tr>
<td>MTC19V</td>
<td>android-6.0.1_r45</td>
<td>Marshmallow</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2016-06-01</td>
</tr>
<tr>
<td>MOB30J</td>
<td>android-6.0.1_r43</td>
<td>Marshmallow</td>
<td>Nexus 7 (flo/deb)</td>
+ <td>2016-05-01</td>
</tr>
<tr>
<td>MOB30I</td>
<td>android-6.0.1_r42</td>
<td>Marshmallow</td>
<td>Nexus 6</td>
+ <td>2016-05-01</td>
</tr>
<tr>
<td>MOB30H</td>
<td>android-6.0.1_r41</td>
<td>Marshmallow</td>
<td>Nexus 5</td>
+ <td>2016-05-01</td>
</tr>
<tr>
<td>MOB30G</td>
<td>android-6.0.1_r40</td>
<td>Marshmallow</td>
<td>Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2016-05-01</td>
</tr>
<tr>
<td>MXC89H</td>
<td>android-6.0.1_r33</td>
<td>Marshmallow</td>
<td>Pixel C</td>
+ <td>2016-06-01</td>
</tr>
<tr>
<td>MXC89F</td>
<td>android-6.0.1_r32</td>
<td>Marshmallow</td>
<td>Pixel C</td>
+ <td>2016-05-01</td>
</tr>
<tr>
<td>MMB30J</td>
<td>android-6.0.1_r28</td>
<td>Marshmallow</td>
<td>Nexus 6ã€Nexus 7 (deb)</td>
+ <td>2016-06-01</td>
</tr>
<tr>
<td>MTC19T</td>
<td>android-6.0.1_r25</td>
<td>Marshmallow</td>
<td>Nexus 5Xã€Nexus 6P</td>
+ <td>2016-05-01</td>
</tr>
-<tr>
- <td>M5C14J</td>
- <td>android-6.0.1_r31</td>
- <td>Marshmallow</td>
- <td>Pixel C</td>
-</tr>
-<tr>
- <td>MOB30D</td>
- <td>android-6.0.1_r30</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
-</tr>
-<tr>
- <td>MHC19Q</td>
- <td>android-6.0.1_r24</td>
- <td>Marshmallow</td>
- <td>Nexus 5Xã€Nexus 6P</td>
-</tr>
-<tr>
- <td>MHC19J</td>
- <td>android-6.0.1_r22</td>
- <td>Marshmallow</td>
- <td>Nexus 5X</td>
-</tr>
-<tr>
- <td>MHC19I</td>
- <td>android-6.0.1_r21</td>
- <td>Marshmallow</td>
- <td>Nexus 6P</td>
-</tr>
-<tr>
- <td>MMB29X</td>
- <td>android-6.0.1_r20</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 6ã€Nexus 7 (deb)ã€Nexus 9 (volantisg)</td>
-</tr>
-<tr>
- <td>MXC14G</td>
- <td>android-6.0.1_r18</td>
- <td>Marshmallow</td>
- <td>Pixel C</td>
-</tr>
-<tr>
- <td>MMB29V</td>
- <td>android-6.0.1_r17</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 5Xã€Nexus 6ã€Nexus 6Pã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)</td>
-</tr>
-<tr>
- <td>MXB48T</td>
- <td>android-6.0.1_r16</td>
- <td>Marshmallow</td>
- <td>Pixel C</td>
-</tr>
-<tr>
- <td>MMB29U</td>
- <td>android-6.0.1_r13</td>
- <td>Marshmallow</td>
- <td>Nexus Player</td>
-</tr>
-<tr>
- <td>MMB29R</td>
- <td>android-6.0.1_r12</td>
- <td>Marshmallow</td>
- <td>Nexus 9 (volantis/volantisg)</td>
-</tr>
-<tr>
- <td>MMB29Q</td>
- <td>android-6.0.1_r11</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 5Xã€Nexus 6ã€Nexus 6Pã€Nexus 7 (flo/deb)</td>
-</tr>
-<tr>
- <td>MMB29T</td>
- <td>android-6.0.1_r10</td>
- <td>Marshmallow</td>
- <td>Nexus Player</td>
-</tr>
-<tr>
- <td>MMB29S</td>
- <td>android-6.0.1_r9</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 6ã€Nexus 9 (volantis/volantisg)</td>
-</tr>
-<tr>
- <td>MMB29P</td>
- <td>android-6.0.1_r8</td>
- <td>Marshmallow</td>
- <td>Nexus 5Xã€Nexus 6P</td>
-</tr>
-<tr>
- <td>MMB29O</td>
- <td>android-6.0.1_r7</td>
- <td>Marshmallow</td>
- <td>Nexus 7 (flo/deb)</td>
-</tr>
-<tr>
- <td>MXB48K</td>
- <td>android-6.0.1_r5</td>
- <td>Marshmallow</td>
- <td>Pixel C</td>
-</tr>
-<tr>
- <td>MXB48J</td>
- <td>android-6.0.1_r4</td>
- <td>Marshmallow</td>
- <td>Pixel C</td>
-</tr>
-<tr>
- <td>MMB29M</td>
- <td>android-6.0.1_r3</td>
- <td>Marshmallow</td>
- <td>Nexus 6Pã€Nexus Player</td>
-</tr>
-<tr>
- <td>MMB29K</td>
- <td>android-6.0.1_r1</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 5Xã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)</td>
-</tr>
-<tr>
- <td>MMB29N</td>
- <td>android-6.0.0_r41</td>
- <td>Marshmallow</td>
- <td>Nexus 6P</td>
-</tr>
-<tr>
- <td>MDB08M</td>
- <td>android-6.0.0_r26</td>
- <td>Marshmallow</td>
- <td>Nexus 5Xã€Nexus 6P</td>
-</tr>
-<tr>
- <td>MDB08L</td>
- <td>android-6.0.0_r25</td>
- <td>Marshmallow</td>
- <td>Nexus 5Xã€Nexus 6P</td>
-</tr>
-<tr>
- <td>MDB08K</td>
- <td>android-6.0.0_r24</td>
- <td>Marshmallow</td>
- <td>Nexus 6P</td>
-</tr>
-<tr>
- <td>MDB08I</td>
- <td>android-6.0.0_r23</td>
- <td>Marshmallow</td>
- <td>Nexus 5X</td>
-</tr>
-<tr>
- <td>MDA89E</td>
- <td>android-6.0.0_r12</td>
- <td>Marshmallow</td>
- <td>Nexus 5X</td>
-</tr>
-<tr>
- <td>MDA89D</td>
- <td>android-6.0.0_r11</td>
- <td>Marshmallow</td>
- <td>Nexus 6P</td>
-</tr>
-<tr>
- <td>MRA59B</td>
- <td>android-6.0.0_r7</td>
- <td>Marshmallow</td>
- <td>Nexus 7 (deb)</td>
-</tr>
-<tr>
- <td>MRA58X</td>
- <td>android-6.0.0_r6</td>
- <td>Marshmallow</td>
- <td>Nexus 6</td>
-</tr>
-<tr>
- <td>MRA58V</td>
- <td>android-6.0.0_r5</td>
- <td>Marshmallow</td>
- <td>Nexus 7 (flo/deb)</td>
-</tr>
-<tr>
- <td>MRA58U</td>
- <td>android-6.0.0_r4</td>
- <td>Marshmallow</td>
- <td>Nexus 7 (flo)</td>
-</tr>
-<tr>
- <td>MRA58N</td>
- <td>android-6.0.0_r2</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
-</tr>
-<tr>
- <td>MRA58K</td>
- <td>android-6.0.0_r1</td>
- <td>Marshmallow</td>
- <td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
-</tr>
-<tr>
- <td>LMY49M</td>
- <td>android-5.1.1_r38</td>
- <td>Lollipop</td>
- <td>Nexus 10</td>
-</tr>
-<tr>
- <td>LMY49J</td>
- <td>android-5.1.1_r37</td>
- <td>Lollipop</td>
- <td>Nexus 10</td>
-</tr>
-<tr>
- <td>LMY49I</td>
- <td>android-5.1.1_r36</td>
- <td>Lollipop</td>
- <td>Nexus 10</td>
-</tr>
-<tr>
- <td>LMY49H</td>
- <td>android-5.1.1_r35</td>
- <td>Lollipop</td>
- <td>Nexus 10</td>
-</tr>
-<tr>
- <td>LMY49G</td>
- <td>android-5.1.1_r34</td>
- <td>Lollipop</td>
- <td>Nexus 10</td>
-</tr>
-<tr>
- <td>LMY49F</td>
- <td>android-5.1.1_r33</td>
- <td>Lollipop</td>
- <td>Nexus 9 (volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LMY48Z</td>
- <td>android-5.1.1_r30</td>
- <td>Lollipop</td>
- <td>Nexus 6ã€Nexus 7 (deb)ã€Nexus 9 (volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LYZ28N</td>
- <td>android-5.1.1_r28</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
-</tr>
-<tr>
- <td>LMY48Y</td>
- <td>android-5.1.1_r26</td>
- <td>Lollipop</td>
- <td>Nexus 6</td>
-</tr>
-<tr>
- <td>LMY48X</td>
- <td>android-5.1.1_r25</td>
- <td>Lollipop</td>
- <td>Nexus 6ã€Nexus 7 (deb)ã€Nexus 9 (volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LMY48W</td>
- <td>android-5.1.1_r24</td>
- <td>Lollipop</td>
- <td>Nexus 6</td>
-</tr>
-<tr>
- <td>LVY48H</td>
- <td>android-5.1.1_r23</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ Project Fi)</td>
-</tr>
-<tr>
- <td>LYZ28M</td>
- <td>android-5.1.1_r22</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
-</tr>
-<tr>
- <td>LMY48U</td>
- <td>android-5.1.1_r20</td>
- <td>Lollipop</td>
- <td>Nexus 7 (deb)</td>
-</tr>
-<tr>
- <td>LMY48T</td>
- <td>android-5.1.1_r19</td>
- <td>Lollipop</td>
- <td>Nexus 4ã€Nexus 6ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LVY48F</td>
- <td>android-5.1.1_r18</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ Project Fi)</td>
-</tr>
-<tr>
- <td>LYZ28K</td>
- <td>android-5.1.1_r17</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
-</tr>
-<tr>
- <td>LMY48P</td>
- <td>android-5.1.1_r16</td>
- <td>Lollipop</td>
- <td>Nexus 7 (deb)</td>
-</tr>
-<tr>
- <td>LMY48N</td>
- <td>android-5.1.1_r15</td>
- <td>Lollipop</td>
- <td>Nexus Player</td>
-</tr>
-<tr>
- <td>LMY48M</td>
- <td>android-5.1.1_r14</td>
- <td>Lollipop</td>
- <td>Nexus 4ã€Nexus 5ã€Nexus 6ã€Nexus 7 (flo)ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LVY48E</td>
- <td>android-5.1.1_r13</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ Project Fi)</td>
-</tr>
-<tr>
- <td>LYZ28J</td>
- <td>android-5.1.1_r12</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
-</tr>
-<tr>
- <td>LMY48J</td>
- <td>android-5.1.1_r10</td>
- <td>Lollipop</td>
- <td>Nexus Player</td>
-</tr>
-<tr>
- <td>LMY48I</td>
- <td>android-5.1.1_r9</td>
- <td>Lollipop</td>
- <td>Nexus 4ã€Nexus 5ã€Nexus 6ã€Nexus 7 (flo)ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LVY48C</td>
- <td>android-5.1.1_r8</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ Project Fi)</td>
-</tr>
-<tr>
- <td>LMY48G</td>
- <td>android-5.1.1_r6</td>
- <td>Lollipop</td>
- <td>Nexus 7 (flo)</td>
-</tr>
-<tr>
- <td>LYZ28E</td>
- <td>android-5.1.1_r5</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
-</tr>
-<tr>
- <td>LMY47Z</td>
- <td>android-5.1.1_r4</td>
- <td>Lollipop</td>
- <td>Nexus 6(é¢å‘除 T-Mobile(美国)之外的所有è¿è¥å•†ï¼‰</td>
-</tr>
-<tr>
- <td>LMY48B</td>
- <td>android-5.1.1_r3</td>
- <td>Lollipop</td>
- <td>Nexus 5</td>
-</tr>
-<tr>
- <td>LMY47X</td>
- <td>android-5.1.1_r2</td>
- <td>Lollipop</td>
- <td>Nexus 9 (volantis)</td>
-</tr>
-<tr>
- <td>LMY47V</td>
- <td>android-5.1.1_r1</td>
- <td>Lollipop</td>
- <td>Nexus 7 (flo/grouper)ã€Nexus 10ã€Nexus Player</td>
-</tr>
-<tr>
- <td>LMY47O</td>
- <td>android-5.1.0_r5</td>
- <td>Lollipop</td>
- <td>Nexus 4ã€Nexus 7 (flo/deb)</td>
-</tr>
-<tr>
- <td>LMY47M</td>
- <td>android-5.1.0_r4</td>
- <td>Lollipop</td>
- <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
-</tr>
-<tr>
- <td>LMY47I</td>
- <td>android-5.1.0_r3</td>
- <td>Lollipop</td>
- <td>Nexus 5ã€Nexus 6</td>
-</tr>
-<tr>
- <td>LMY47E</td>
- <td>android-5.1.0_r2</td>
- <td>Lollipop</td>
- <td>Nexus 6</td>
-</tr>
-<tr>
- <td>LMY47D</td>
- <td>android-5.1.0_r1</td>
- <td>Lollipop</td>
- <td>Nexus 5ã€Nexus 6ã€Nexus 7 (grouper/tilapia)ã€Nexus 10ã€Nexus Player</td>
-</tr>
-<tr>
- <td>LRX22L</td>
- <td>android-5.0.2_r3</td>
- <td>Lollipop</td>
- <td>Nexus 9 (volantis/volantisg)</td>
-</tr>
-<tr>
- <td>LRX22G</td>
- <td>android-5.0.2_r1</td>
- <td>Lollipop</td>
- <td>Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LRX22C</td>
- <td>android-5.0.1_r1</td>
- <td>Lollipop</td>
- <td>Nexus 4ã€Nexus 5ã€Nexus 6 (shamu)ã€Nexus 7 (flo)ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LRX21V</td>
- <td>android-5.0.0_r7.0.1</td>
- <td>Lollipop</td>
- <td>Nexus Player (fugu)</td>
-</tr>
-<tr>
- <td>LRX21T</td>
- <td>android-5.0.0_r6.0.1</td>
- <td>Lollipop</td>
- <td>Nexus 4</td>
-</tr>
-<tr>
- <td>LRX21R</td>
- <td>android-5.0.0_r5.1.0.1</td>
- <td>Lollipop</td>
- <td>Nexus 9 (volantis)</td>
-</tr>
-<tr>
- <td>LRX21Q</td>
- <td>android-5.0.0_r5.0.1</td>
- <td>Lollipop</td>
- <td>Nexus 9 (volantis)</td>
-</tr>
-<tr>
- <td>LRX21P</td>
- <td>android-5.0.0_r4.0.1</td>
- <td>Lollipop</td>
- <td>Nexus 7 (flo/grouper)ã€Nexus 10</td>
-</tr>
-<tr>
- <td>LRX21O</td>
- <td>android-5.0.0_r3.0.1</td>
- <td>Lollipop</td>
- <td>Nexus 5 (hammerhead)ã€Nexus 6 (shamu)</td>
-</tr>
-<tr>
- <td>LRX21M</td>
- <td>android-5.0.0_r2.0.1</td>
- <td>Lollipop</td>
- <td>Nexus Player (fugu)</td>
-</tr>
-<tr>
- <td>LRX21L</td>
- <td>android-5.0.0_r1.0.1</td>
- <td>Lollipop</td>
- <td>Nexus 9 (volantis)</td>
-</tr>
-<tr>
- <td>KTU84Q</td>
- <td>android-4.4.4_r2</td>
- <td>KitKat</td>
- <td>Nexus 5 (hammerhead)(仅é¢å‘新西兰的 2Degreesã€æ¾³å¤§åˆ©äºšçš„ Telstra å’Œå°åº¦ï¼‰</td>
-</tr>
-<tr>
- <td>KTU84P</td>
- <td>android-4.4.4_r1</td>
- <td>KitKat</td>
- <td>Nexus 5ã€Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>KTU84M</td>
- <td>android-4.4.3_r1.1</td>
- <td>KitKat</td>
- <td>Nexus 5 (hammerhead)</td>
-</tr>
-<tr>
- <td>KTU84L</td>
- <td>android-4.4.3_r1</td>
- <td>KitKat</td>
- <td>Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>KVT49L</td>
- <td>android-4.4.2_r2</td>
- <td>KitKat</td>
- <td>Nexus 7 (deb Verizon)</td>
-</tr>
-<tr>
- <td>KOT49H</td>
- <td>android-4.4.2_r1</td>
- <td>KitKat</td>
- <td>Nexus 5ã€Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>KOT49E</td>
- <td>android-4.4.1_r1</td>
- <td>KitKat</td>
- <td>Nexus 5ã€Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>KRT16S</td>
- <td>android-4.4_r1.2</td>
- <td>KitKat</td>
- <td>Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>KRT16M</td>
- <td>android-4.4_r1</td>
- <td>KitKat</td>
- <td>Nexus 5 (hammerhead)</td>
-</tr>
-<tr>
- <td>JLS36I</td>
- <td>android-4.3.1_r1</td>
- <td>Jelly Bean</td>
- <td>Nexus 7 (deb)</td>
-</tr>
-<tr>
- <td>JLS36C</td>
- <td>android-4.3_r3</td>
- <td>Jelly Bean</td>
- <td>Nexus 7 (deb)</td>
-</tr>
-<tr>
- <td>JSS15R</td>
- <td>android-4.3_r2.3</td>
- <td>Jelly Bean</td>
- <td>Nexus 7 (flo)</td>
-</tr>
-<tr>
- <td>JSS15Q</td>
- <td>android-4.3_r2.2</td>
- <td>Jelly Bean</td>
- <td>Nexus 7 (flo)</td>
-</tr>
-<tr>
- <td>JSS15J</td>
- <td>android-4.3_r2.1</td>
- <td>Jelly Bean</td>
- <td>Nexus 7 (flo/deb)</td>
-</tr>
-<tr>
- <td>JSR78D</td>
- <td>android-4.3_r2</td>
- <td>Jelly Bean</td>
- <td>Nexus 7 (deb)</td>
-</tr>
-<tr>
- <td>JWR66Y</td>
- <td>android-4.3_r1.1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexusã€Nexus 7 (grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>JWR66V</td>
- <td>android-4.3_r1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexusã€Nexus 7 (grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>JWR66N</td>
- <td>android-4.3_r0.9.1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexusã€Nexus 7 (grouper/tilapia/flo)ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>JWR66L</td>
- <td>android-4.3_r0.9</td>
- <td>Jelly Bean</td>
- <td>Nexus 7</td>
-</tr>
-<tr>
- <td>JDQ39E</td>
- <td>android-4.2.2_r1.2</td>
- <td>Jelly Bean</td>
- <td>Nexus 4</td>
-</tr>
-<tr>
- <td>JDQ39B</td>
- <td>android-4.2.2_r1.1</td>
- <td>Jelly Bean</td>
- <td>Nexus 7</td>
-</tr>
-<tr>
- <td>JDQ39</td>
- <td>android-4.2.2_r1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexusã€Nexus 7ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>JOP40G</td>
- <td>android-4.2.1_r1.2</td>
- <td>Jelly Bean</td>
- <td>Nexus 4</td>
-</tr>
-<tr>
- <td>JOP40F</td>
- <td>android-4.2.1_r1.1</td>
- <td>Jelly Bean</td>
- <td>Nexus 10</td>
-</tr>
-<tr>
- <td>JOP40D</td>
- <td>android-4.2.1_r1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexusã€Nexus 7ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>JOP40C</td>
- <td>android-4.2_r1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexusã€Nexus 7ã€Nexus 4ã€Nexus 10</td>
-</tr>
-<tr>
- <td>JZO54M</td>
- <td>android-4.1.2_r2.1</td>
- <td>Jelly Bean</td>
- <td></td>
-</tr>
-<tr>
- <td>JZO54L</td>
- <td>android-4.1.2_r2</td>
- <td>Jelly Bean</td>
- <td></td>
-</tr>
-<tr>
- <td>JZO54K</td>
- <td>android-4.1.2_r1</td>
- <td>Jelly Bean</td>
- <td>Nexus Sã€Galaxy Nexusã€Nexus 7</td>
-</tr>
-<tr>
- <td>JRO03S</td>
- <td>android-4.1.1_r6.1</td>
- <td>Jelly Bean</td>
- <td>Nexus 7</td>
-</tr>
-<tr>
- <td>JRO03R</td>
- <td>android-4.1.1_r6</td>
- <td>Jelly Bean</td>
- <td>Nexus S 4G</td>
-</tr>
-<tr>
- <td>JRO03O</td>
- <td>android-4.1.1_r5</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>JRO03L</td>
- <td>android-4.1.1_r4</td>
- <td>Jelly Bean</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>JRO03H</td>
- <td>android-4.1.1_r3</td>
- <td>Jelly Bean</td>
- <td></td>
-</tr>
-<tr>
- <td>JRO03E</td>
- <td>android-4.1.1_r2</td>
- <td>Jelly Bean</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>JRO03D</td>
- <td>android-4.1.1_r1.1</td>
- <td>Jelly Bean</td>
- <td>Nexus 7</td>
-</tr>
-<tr>
- <td>JRO03C</td>
- <td>android-4.1.1_r1</td>
- <td>Jelly Bean</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>IMM76L</td>
- <td>android-4.0.4_r2.1</td>
- <td>Ice Cream Sandwich</td>
- <td> </td>
-</tr>
-<tr>
- <td>IMM76K</td>
- <td>android-4.0.4_r2</td>
- <td>Ice Cream Sandwich</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>IMM76I</td>
- <td>android-4.0.4_r1.2</td>
- <td>Ice Cream Sandwich</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>IMM76D</td>
- <td>android-4.0.4_r1.1</td>
- <td>Ice Cream Sandwich</td>
- <td>Nexus Sã€Nexus S 4Gã€Galaxy Nexus</td>
-</tr>
-<tr>
- <td>IMM76</td>
- <td>android-4.0.4_r1</td>
- <td>Ice Cream Sandwich</td>
- <td></td>
-</tr>
-<tr>
- <td>IML77</td>
- <td>android-4.0.3_r1.1</td>
- <td>Ice Cream Sandwich</td>
- <td></td>
-</tr>
-<tr>
- <td>IML74K</td>
- <td>android-4.0.3_r1</td>
- <td>Ice Cream Sandwich</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>ICL53F</td>
- <td>android-4.0.2_r1</td>
- <td>Ice Cream Sandwich</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>ITL41F</td>
- <td>android-4.0.1_r1.2</td>
- <td>Ice Cream Sandwich</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>ITL41D</td>
- <td>android-4.0.1_r1.1</td>
- <td>Ice Cream Sandwich</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>ITL41D</td>
- <td>android-4.0.1_r1</td>
- <td>Ice Cream Sandwich</td>
- <td>Galaxy Nexus</td>
-</tr>
-<tr>
- <td>GWK74</td>
- <td>android-2.3.7_r1</td>
- <td>Gingerbread</td>
- <td>Nexus S 4G</td>
-</tr>
-<tr>
- <td>GRK39F</td>
- <td>android-2.3.6_r1</td>
- <td>Gingerbread</td>
- <td>Nexus Oneã€Nexus S</td>
-</tr>
-<tr>
- <td>GRK39C</td>
- <td>android-2.3.6_r0.9</td>
- <td>Gingerbread</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>GRJ90</td>
- <td>android-2.3.5_r1</td>
- <td>Gingerbread</td>
- <td>Nexus S 4G</td>
-</tr>
-<tr>
- <td>GRJ22</td>
- <td>android-2.3.4_r1</td>
- <td>Gingerbread</td>
- <td>Nexus Oneã€Nexus Sã€Nexus S 4G</td>
-</tr>
-<tr>
- <td>GRJ06D</td>
- <td>android-2.3.4_r0.9</td>
- <td>Gingerbread</td>
- <td>Nexus S 4G</td>
-</tr>
-<tr>
- <td>GRI54</td>
- <td>android-2.3.3_r1.1</td>
- <td>Gingerbread</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>GRI40</td>
- <td>android-2.3.3_r1</td>
- <td>Gingerbread</td>
- <td>Nexus Oneã€Nexus S</td>
-</tr>
-<tr>
- <td>GRH78C</td>
- <td>android-2.3.2_r1</td>
- <td>Gingerbread</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>GRH78</td>
- <td>android-2.3.1_r1</td>
- <td>Gingerbread</td>
- <td>Nexus S</td>
-</tr>
-<tr>
- <td>GRH55</td>
- <td>android-2.3_r1</td>
- <td>Gingerbread</td>
- <td>使用 Gingerbread 最早期版本的设备ã€Nexus S</td>
-</tr>
-<tr>
- <td>FRK76C</td>
- <td>android-2.2.3_r2</td>
- <td>Froyo</td>
- <td> </td>
-</tr>
-<tr>
- <td>FRK76</td>
- <td>android-2.2.3_r1</td>
- <td>Froyo</td>
- <td></td>
-</tr>
-<tr>
- <td>FRG83G</td>
- <td>android-2.2.2_r1</td>
- <td>Froyo</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>FRG83D</td>
- <td>android-2.2.1_r2</td>
- <td>Froyo</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>FRG83</td>
- <td>android-2.2.1_r1</td>
- <td>Froyo</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>FRG22D</td>
- <td>android-2.2_r1.3</td>
- <td>Froyo</td>
- <td></td>
-</tr>
-<tr>
- <td>FRG01B</td>
- <td>android-2.2_r1.2</td>
- <td>Froyo</td>
- <td></td>
-</tr>
-<tr>
- <td>FRF91</td>
- <td>android-2.2_r1.1</td>
- <td>Froyo</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>FRF85B</td>
- <td>android-2.2_r1</td>
- <td>Froyo</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>EPF21B</td>
- <td>android-2.1_r2.1p2</td>
- <td>Eclair</td>
- <td> </td>
-</tr>
-<tr>
- <td>ESE81</td>
- <td>android-2.1_r2.1s</td>
- <td>Eclair</td>
- <td></td>
-</tr>
-<tr>
- <td>EPE54B</td>
- <td>android-2.1_r2.1p</td>
- <td>Eclair</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>ERE27</td>
- <td>android-2.1_r2</td>
- <td>Eclair</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>ERD79</td>
- <td>android-2.1_r1</td>
- <td>Eclair</td>
- <td>Nexus One</td>
-</tr>
-<tr>
- <td>ESD56</td>
- <td>android-2.0.1_r1</td>
- <td>Eclair</td>
- <td></td>
-</tr>
-<tr>
- <td>ESD20</td>
- <td>android-2.0_r1</td>
- <td>Eclair</td>
- <td> </td>
-</tr>
-<tr>
- <td>DMD64</td>
- <td>android-1.6_r1.5</td>
- <td>Donut</td>
- <td> </td>
-</tr>
-<tr>
- <td>DRD20</td>
- <td>android-1.6_r1.4</td>
- <td></td>
- <td></td>
-</tr>
-<tr>
- <td>DRD08</td>
- <td>android-1.6_r1.3</td>
- <td></td>
- <td></td>
-</tr>
-<tr>
- <td>DRC92</td>
- <td>android-1.6_r1.2</td>
- <td></td>
- <td></td>
-</tr>
-</tbody>
+ <tr>
+ <td>M5C14J</td>
+ <td>android-6.0.1_r31</td>
+ <td>Marshmallow</td>
+ <td>Pixel C</td>
+ <td>2016-04-01</td>
+ </tr>
+ <tr>
+ <td>MOB30D</td>
+ <td>android-6.0.1_r30</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2016-04-02</td>
+ </tr>
+ <tr>
+ <td>MHC19Q</td>
+ <td>android-6.0.1_r24</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5Xã€Nexus 6P</td>
+ <td>2016-04-02</td>
+ </tr>
+ <tr>
+ <td>MHC19J</td>
+ <td>android-6.0.1_r22</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5X</td>
+ <td>2016-03-01</td>
+ </tr>
+ <tr>
+ <td>MHC19I</td>
+ <td>android-6.0.1_r21</td>
+ <td>Marshmallow</td>
+ <td>Nexus 6P</td>
+ <td>2016-03-01</td>
+ </tr>
+ <tr>
+ <td>MMB29X</td>
+ <td>android-6.0.1_r20</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 6ã€Nexus 7 (deb)ã€Nexus 9 (volantisg)</td>
+ <td>2016-04-02</td>
+ </tr>
+ <tr>
+ <td>MXC14G</td>
+ <td>android-6.0.1_r18</td>
+ <td>Marshmallow</td>
+ <td>Pixel C</td>
+ <td>2016-03-01</td>
+ </tr>
+ <tr>
+ <td>MMB29V</td>
+ <td>android-6.0.1_r17</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 5Xã€Nexus 6ã€Nexus 6Pã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)</td>
+ <td>2016-03-01</td>
+ </tr>
+ <tr>
+ <td>MXB48T</td>
+ <td>android-6.0.1_r16</td>
+ <td>Marshmallow</td>
+ <td>Pixel C</td>
+ <td>2016-02-01</td>
+ </tr>
+ <tr>
+ <td>MMB29U</td>
+ <td>android-6.0.1_r13</td>
+ <td>Marshmallow</td>
+ <td>Nexus Player</td>
+ <td>2016-02-01</td>
+ </tr>
+ <tr>
+ <td>MMB29R</td>
+ <td>android-6.0.1_r12</td>
+ <td>Marshmallow</td>
+ <td>Nexus 9 (volantis/volantisg)</td>
+ <td>2016-02-01</td>
+ </tr>
+ <tr>
+ <td>MMB29Q</td>
+ <td>android-6.0.1_r11</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 5Xã€Nexus 6ã€Nexus 6Pã€Nexus 7 (flo/deb)</td>
+ <td>2016-02-01</td>
+ </tr>
+ <tr>
+ <td>MMB29T</td>
+ <td>android-6.0.1_r10</td>
+ <td>Marshmallow</td>
+ <td>Nexus Player</td>
+ <td>2016-01-01</td>
+ </tr>
+ <tr>
+ <td>MMB29S</td>
+ <td>android-6.0.1_r9</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 6ã€Nexus 9 (volantis/volantisg)</td>
+ <td>2016-01-01</td>
+ </tr>
+ <tr>
+ <td>MMB29P</td>
+ <td>android-6.0.1_r8</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5Xã€Nexus 6P</td>
+ <td>2016-01-01</td>
+ </tr>
+ <tr>
+ <td>MMB29O</td>
+ <td>android-6.0.1_r7</td>
+ <td>Marshmallow</td>
+ <td>Nexus 7 (flo/deb)</td>
+ <td>2016-01-01</td>
+ </tr>
+ <tr>
+ <td>MXB48K</td>
+ <td>android-6.0.1_r5</td>
+ <td>Marshmallow</td>
+ <td>Pixel C</td>
+ <td>2015-12-01</td>
+ </tr>
+ <tr>
+ <td>MXB48J</td>
+ <td>android-6.0.1_r4</td>
+ <td>Marshmallow</td>
+ <td>Pixel C</td>
+ <td>2015-12-01</td>
+ </tr>
+ <tr>
+ <td>MMB29M</td>
+ <td>android-6.0.1_r3</td>
+ <td>Marshmallow</td>
+ <td>Nexus 6Pã€Nexus Player</td>
+ <td>2015-12-01</td>
+ </tr>
+ <tr>
+ <td>MMB29K</td>
+ <td>android-6.0.1_r1</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 5Xã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)</td>
+ <td>2015-12-01</td>
+ </tr>
+ <tr>
+ <td>MMB29N</td>
+ <td>android-6.0.0_r41</td>
+ <td>Marshmallow</td>
+ <td>Nexus 6P</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>MDB08M</td>
+ <td>android-6.0.0_r26</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5Xã€Nexus 6P</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>MDB08L</td>
+ <td>android-6.0.0_r25</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5Xã€Nexus 6P</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>MDB08K</td>
+ <td>android-6.0.0_r24</td>
+ <td>Marshmallow</td>
+ <td>Nexus 6P</td>
+ <td>2015-10-01</td>
+ </tr>
+ <tr>
+ <td>MDB08I</td>
+ <td>android-6.0.0_r23</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5X</td>
+ <td>2015-10-01</td>
+ </tr>
+ <tr>
+ <td>MDA89E</td>
+ <td>android-6.0.0_r12</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5X</td>
+ <td>2015-10-01</td>
+ </tr>
+ <tr>
+ <td>MDA89D</td>
+ <td>android-6.0.0_r11</td>
+ <td>Marshmallow</td>
+ <td>Nexus 6P</td>
+ <td>2015-10-01</td>
+ </tr>
+ <tr>
+ <td>MRA59B</td>
+ <td>android-6.0.0_r7</td>
+ <td>Marshmallow</td>
+ <td>Nexus 7 (deb)</td>
+ <td>2015-12-01</td>
+ </tr>
+ <tr>
+ <td>MRA58X</td>
+ <td>android-6.0.0_r6</td>
+ <td>Marshmallow</td>
+ <td>Nexus 6</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>MRA58V</td>
+ <td>android-6.0.0_r5</td>
+ <td>Marshmallow</td>
+ <td>Nexus 7 (flo/deb)</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>MRA58U</td>
+ <td>android-6.0.0_r4</td>
+ <td>Marshmallow</td>
+ <td>Nexus 7 (flo)</td>
+ <td>2015-10-01</td>
+ </tr>
+ <tr>
+ <td>MRA58N</td>
+ <td>android-6.0.0_r2</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>MRA58K</td>
+ <td>android-6.0.0_r1</td>
+ <td>Marshmallow</td>
+ <td>Nexus 5ã€Nexus 6ã€Nexus 7 (flo/deb)ã€Nexus 9 (volantis/volantisg)ã€Nexus Player</td>
+ <td>2015-10-01</td>
+ </tr>
+ <tr>
+ <td>LMY49M</td>
+ <td>android-5.1.1_r38</td>
+ <td>Lollipop</td>
+ <td>Nexus 10</td>
+ <td>2016-07-05</td>
+ </tr>
+ <tr>
+ <td>LMY49J</td>
+ <td>android-5.1.1_r37</td>
+ <td>Lollipop</td>
+ <td>Nexus 10</td>
+ <td>2016-04-01</td>
+ </tr>
+ <tr>
+ <td>LMY49I</td>
+ <td>android-5.1.1_r36</td>
+ <td>Lollipop</td>
+ <td>Nexus 10</td>
+ <td>2016-03-01</td>
+ </tr>
+ <tr>
+ <td>LMY49H</td>
+ <td>android-5.1.1_r35</td>
+ <td>Lollipop</td>
+ <td>Nexus 10</td>
+ <td>2016-03-01</td>
+ </tr>
+ <tr>
+ <td>LMY49G</td>
+ <td>android-5.1.1_r34</td>
+ <td>Lollipop</td>
+ <td>Nexus 10</td>
+ <td>2016-02-01</td>
+ </tr>
+ <tr>
+ <td>LMY49F</td>
+ <td>android-5.1.1_r33</td>
+ <td>Lollipop</td>
+ <td>Nexus 9 (volantisg)ã€Nexus 10</td>
+ <td>2016-01-01</td>
+ </tr>
+ <tr>
+ <td>LMY48Z</td>
+ <td>android-5.1.1_r30</td>
+ <td>Lollipop</td>
+ <td>Nexus 6ã€Nexus 7 (deb)ã€Nexus 9 (volantisg)ã€Nexus 10</td>
+ <td>2015-12-01</td>
+ </tr>
+ <tr>
+ <td>LYZ28N</td>
+ <td>android-5.1.1_r28</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>LMY48Y</td>
+ <td>android-5.1.1_r26</td>
+ <td>Lollipop</td>
+ <td>Nexus 6</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>LMY48X</td>
+ <td>android-5.1.1_r25</td>
+ <td>Lollipop</td>
+ <td>Nexus 6ã€Nexus 7 (deb)ã€Nexus 9 (volantisg)ã€Nexus 10</td>
+ <td>2015-11-01</td>
+ </tr>
+ <tr>
+ <td>LMY48W</td>
+ <td>android-5.1.1_r24</td>
+ <td>Lollipop</td>
+ <td>Nexus 6</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LVY48H</td>
+ <td>android-5.1.1_r23</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ Project Fi)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LYZ28M</td>
+ <td>android-5.1.1_r22</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48U</td>
+ <td>android-5.1.1_r20</td>
+ <td>Lollipop</td>
+ <td>Nexus 7 (deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48T</td>
+ <td>android-5.1.1_r19</td>
+ <td>Lollipop</td>
+ <td>Nexus 4ã€Nexus 6ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LVY48F</td>
+ <td>android-5.1.1_r18</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ Project Fi)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LYZ28K</td>
+ <td>android-5.1.1_r17</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48P</td>
+ <td>android-5.1.1_r16</td>
+ <td>Lollipop</td>
+ <td>Nexus 7 (deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48N</td>
+ <td>android-5.1.1_r15</td>
+ <td>Lollipop</td>
+ <td>Nexus Player</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48M</td>
+ <td>android-5.1.1_r14</td>
+ <td>Lollipop</td>
+ <td>Nexus 4ã€Nexus 5ã€Nexus 6ã€Nexus 7 (flo)ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LVY48E</td>
+ <td>android-5.1.1_r13</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ Project Fi)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LYZ28J</td>
+ <td>android-5.1.1_r12</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48J</td>
+ <td>android-5.1.1_r10</td>
+ <td>Lollipop</td>
+ <td>Nexus Player</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48I</td>
+ <td>android-5.1.1_r9</td>
+ <td>Lollipop</td>
+ <td>Nexus 4ã€Nexus 5ã€Nexus 6ã€Nexus 7 (flo)ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LVY48C</td>
+ <td>android-5.1.1_r8</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ Project Fi)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48G</td>
+ <td>android-5.1.1_r6</td>
+ <td>Lollipop</td>
+ <td>Nexus 7 (flo)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LYZ28E</td>
+ <td>android-5.1.1_r5</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47Z</td>
+ <td>android-5.1.1_r4</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(é¢å‘除 T-Mobile(美国)之外的所有è¿è¥å•†ï¼‰</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY48B</td>
+ <td>android-5.1.1_r3</td>
+ <td>Lollipop</td>
+ <td>Nexus 5</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47X</td>
+ <td>android-5.1.1_r2</td>
+ <td>Lollipop</td>
+ <td>Nexus 9 (volantis)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47V</td>
+ <td>android-5.1.1_r1</td>
+ <td>Lollipop</td>
+ <td>Nexus 7 (flo/grouper)ã€Nexus 10ã€Nexus Player</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47O</td>
+ <td>android-5.1.0_r5</td>
+ <td>Lollipop</td>
+ <td>Nexus 4ã€Nexus 7 (flo/deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47M</td>
+ <td>android-5.1.0_r4</td>
+ <td>Lollipop</td>
+ <td>Nexus 6(仅é¢å‘ T-Mobile)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47I</td>
+ <td>android-5.1.0_r3</td>
+ <td>Lollipop</td>
+ <td>Nexus 5ã€Nexus 6</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47E</td>
+ <td>android-5.1.0_r2</td>
+ <td>Lollipop</td>
+ <td>Nexus 6</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LMY47D</td>
+ <td>android-5.1.0_r1</td>
+ <td>Lollipop</td>
+ <td>Nexus 5ã€Nexus 6ã€Nexus 7 (grouper/tilapia)ã€Nexus 10ã€Nexus Player</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX22L</td>
+ <td>android-5.0.2_r3</td>
+ <td>Lollipop</td>
+ <td>Nexus 9 (volantis/volantisg)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX22G</td>
+ <td>android-5.0.2_r1</td>
+ <td>Lollipop</td>
+ <td>Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX22C</td>
+ <td>android-5.0.1_r1</td>
+ <td>Lollipop</td>
+ <td>Nexus 4ã€Nexus 5ã€Nexus 6 (shamu)ã€Nexus 7 (flo)ã€Nexus 9 (volantis/volantisg)ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21V</td>
+ <td>android-5.0.0_r7.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus Player (fugu)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21T</td>
+ <td>android-5.0.0_r6.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus 4</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21R</td>
+ <td>android-5.0.0_r5.1.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus 9 (volantis)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21Q</td>
+ <td>android-5.0.0_r5.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus 9 (volantis)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21P</td>
+ <td>android-5.0.0_r4.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus 7 (flo/grouper)ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21O</td>
+ <td>android-5.0.0_r3.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus 5 (hammerhead)ã€Nexus 6 (shamu)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21M</td>
+ <td>android-5.0.0_r2.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus Player (fugu)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>LRX21L</td>
+ <td>android-5.0.0_r1.0.1</td>
+ <td>Lollipop</td>
+ <td>Nexus 9 (volantis)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KTU84Q</td>
+ <td>android-4.4.4_r2</td>
+ <td>KitKat</td>
+ <td>Nexus 5 (hammerhead)(仅é¢å‘新西兰的 2Degreesã€æ¾³å¤§åˆ©äºšçš„ Telstra å’Œå°åº¦ï¼‰</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KTU84P</td>
+ <td>android-4.4.4_r1</td>
+ <td>KitKat</td>
+ <td>Nexus 5ã€Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KTU84M</td>
+ <td>android-4.4.3_r1.1</td>
+ <td>KitKat</td>
+ <td>Nexus 5 (hammerhead)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KTU84L</td>
+ <td>android-4.4.3_r1</td>
+ <td>KitKat</td>
+ <td>Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KVT49L</td>
+ <td>android-4.4.2_r2</td>
+ <td>KitKat</td>
+ <td>Nexus 7 (deb Verizon)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KOT49H</td>
+ <td>android-4.4.2_r1</td>
+ <td>KitKat</td>
+ <td>Nexus 5ã€Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KOT49E</td>
+ <td>android-4.4.1_r1</td>
+ <td>KitKat</td>
+ <td>Nexus 5ã€Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KRT16S</td>
+ <td>android-4.4_r1.2</td>
+ <td>KitKat</td>
+ <td>Nexus 7 (flo/deb/grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>KRT16M</td>
+ <td>android-4.4_r1</td>
+ <td>KitKat</td>
+ <td>Nexus 5 (hammerhead)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JLS36I</td>
+ <td>android-4.3.1_r1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7 (deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JLS36C</td>
+ <td>android-4.3_r3</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7 (deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JSS15R</td>
+ <td>android-4.3_r2.3</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7 (flo)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JSS15Q</td>
+ <td>android-4.3_r2.2</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7 (flo)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JSS15J</td>
+ <td>android-4.3_r2.1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7 (flo/deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JSR78D</td>
+ <td>android-4.3_r2</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7 (deb)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JWR66Y</td>
+ <td>android-4.3_r1.1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexusã€Nexus 7 (grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JWR66V</td>
+ <td>android-4.3_r1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexusã€Nexus 7 (grouper/tilapia)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JWR66N</td>
+ <td>android-4.3_r0.9.1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexusã€Nexus 7 (grouper/tilapia/flo)ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JWR66L</td>
+ <td>android-4.3_r0.9</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JDQ39E</td>
+ <td>android-4.2.2_r1.2</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 4</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JDQ39B</td>
+ <td>android-4.2.2_r1.1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JDQ39</td>
+ <td>android-4.2.2_r1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexusã€Nexus 7ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JOP40G</td>
+ <td>android-4.2.1_r1.2</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 4</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JOP40F</td>
+ <td>android-4.2.1_r1.1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JOP40D</td>
+ <td>android-4.2.1_r1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexusã€Nexus 7ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JOP40C</td>
+ <td>android-4.2_r1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexusã€Nexus 7ã€Nexus 4ã€Nexus 10</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JZO54M</td>
+ <td>android-4.1.2_r2.1</td>
+ <td>Jelly Bean</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JZO54L</td>
+ <td>android-4.1.2_r2</td>
+ <td>Jelly Bean</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JZO54K</td>
+ <td>android-4.1.2_r1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus Sã€Galaxy Nexusã€Nexus 7</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03S</td>
+ <td>android-4.1.1_r6.1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03R</td>
+ <td>android-4.1.1_r6</td>
+ <td>Jelly Bean</td>
+ <td>Nexus S 4G</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03O</td>
+ <td>android-4.1.1_r5</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03L</td>
+ <td>android-4.1.1_r4</td>
+ <td>Jelly Bean</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03H</td>
+ <td>android-4.1.1_r3</td>
+ <td>Jelly Bean</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03E</td>
+ <td>android-4.1.1_r2</td>
+ <td>Jelly Bean</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03D</td>
+ <td>android-4.1.1_r1.1</td>
+ <td>Jelly Bean</td>
+ <td>Nexus 7</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>JRO03C</td>
+ <td>android-4.1.1_r1</td>
+ <td>Jelly Bean</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IMM76L</td>
+ <td>android-4.0.4_r2.1</td>
+ <td>Ice Cream Sandwich</td>
+ <td> </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IMM76K</td>
+ <td>android-4.0.4_r2</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IMM76I</td>
+ <td>android-4.0.4_r1.2</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IMM76D</td>
+ <td>android-4.0.4_r1.1</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Nexus Sã€Nexus S 4Gã€Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IMM76</td>
+ <td>android-4.0.4_r1</td>
+ <td>Ice Cream Sandwich</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IML77</td>
+ <td>android-4.0.3_r1.1</td>
+ <td>Ice Cream Sandwich</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>IML74K</td>
+ <td>android-4.0.3_r1</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ICL53F</td>
+ <td>android-4.0.2_r1</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ITL41F</td>
+ <td>android-4.0.1_r1.2</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ITL41D</td>
+ <td>android-4.0.1_r1.1</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ITL41D</td>
+ <td>android-4.0.1_r1</td>
+ <td>Ice Cream Sandwich</td>
+ <td>Galaxy Nexus</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GWK74</td>
+ <td>android-2.3.7_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus S 4G</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRK39F</td>
+ <td>android-2.3.6_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus Oneã€Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRK39C</td>
+ <td>android-2.3.6_r0.9</td>
+ <td>Gingerbread</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRJ90</td>
+ <td>android-2.3.5_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus S 4G</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRJ22</td>
+ <td>android-2.3.4_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus Oneã€Nexus Sã€Nexus S 4G</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRJ06D</td>
+ <td>android-2.3.4_r0.9</td>
+ <td>Gingerbread</td>
+ <td>Nexus S 4G</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRI54</td>
+ <td>android-2.3.3_r1.1</td>
+ <td>Gingerbread</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRI40</td>
+ <td>android-2.3.3_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus Oneã€Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRH78C</td>
+ <td>android-2.3.2_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRH78</td>
+ <td>android-2.3.1_r1</td>
+ <td>Gingerbread</td>
+ <td>Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>GRH55</td>
+ <td>android-2.3_r1</td>
+ <td>Gingerbread</td>
+ <td>使用 Gingerbread 最早期版本的设备ã€Nexus S</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRK76C</td>
+ <td>android-2.2.3_r2</td>
+ <td>Froyo</td>
+ <td> </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRK76</td>
+ <td>android-2.2.3_r1</td>
+ <td>Froyo</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRG83G</td>
+ <td>android-2.2.2_r1</td>
+ <td>Froyo</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRG83D</td>
+ <td>android-2.2.1_r2</td>
+ <td>Froyo</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRG83</td>
+ <td>android-2.2.1_r1</td>
+ <td>Froyo</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRG22D</td>
+ <td>android-2.2_r1.3</td>
+ <td>Froyo</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRG01B</td>
+ <td>android-2.2_r1.2</td>
+ <td>Froyo</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRF91</td>
+ <td>android-2.2_r1.1</td>
+ <td>Froyo</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>FRF85B</td>
+ <td>android-2.2_r1</td>
+ <td>Froyo</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>EPF21B</td>
+ <td>android-2.1_r2.1p2</td>
+ <td>Eclair</td>
+ <td> </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ESE81</td>
+ <td>android-2.1_r2.1s</td>
+ <td>Eclair</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>EPE54B</td>
+ <td>android-2.1_r2.1p</td>
+ <td>Eclair</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ERE27</td>
+ <td>android-2.1_r2</td>
+ <td>Eclair</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ERD79</td>
+ <td>android-2.1_r1</td>
+ <td>Eclair</td>
+ <td>Nexus One</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ESD56</td>
+ <td>android-2.0.1_r1</td>
+ <td>Eclair</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ESD20</td>
+ <td>android-2.0_r1</td>
+ <td>Eclair</td>
+ <td> </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DMD64</td>
+ <td>android-1.6_r1.5</td>
+ <td>Donut</td>
+ <td> </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DRD20</td>
+ <td>android-1.6_r1.4</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DRD08</td>
+ <td>android-1.6_r1.3</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DRC92</td>
+ <td>android-1.6_r1.2</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
</table>
<p>froyoã€gingerbreadã€ics-mr0ã€ics-mr1ã€jb-devã€jb-mr1-devã€jb-mr1.1-devã€jb-mr2-dev å’Œ kitkat-dev 等分支代表与ç»è¿‡ Google 测试的é…ç½®ä¸å®Œå…¨ä¸€è‡´çš„å¼€å‘分支。因此,除官方命å的版本之外,这些分支å¯èƒ½è¿˜åŒ…å«å°šæœªç»è¿‡å…¨é¢æµ‹è¯•çš„å„ç§æ›´æ”¹ã€‚</p>
diff --git a/zh-cn/setup/start/p-release-notes.html b/zh-cn/setup/start/p-release-notes.html
index b3b7be02..12835d7a 100644
--- a/zh-cn/setup/start/p-release-notes.html
+++ b/zh-cn/setup/start/p-release-notes.html
@@ -122,7 +122,7 @@
<h4 id="product_partitions">产å“分区</h4>
-<p>此版本支æŒä½¿ç”¨ Android 编译系统编译 <a href="/devices/bootloader/product-partitions"><code>/product</code> partitions</a> 分区。以å‰ï¼ŒAndroid 8.x 强制将系统芯片 (SoC) 特定组件从 <code>/system</code> 分区分离到 <code>/vendor</code> 分区,而没有为从 Android 编译系统编译的 OEM 特定组件æ供专用空间。</p>
+<p>此版本支æŒä½¿ç”¨ Android 编译系统编译 <a href="/devices/bootloader/product-partitions"><code>/product</code> 分区</a>。以å‰ï¼ŒAndroid 8.x 强制将系统芯片 (SoC) 特定组件从 <code>/system</code> 分区分离到 <code>/vendor</code> 分区,而没有为从 Android 编译系统编译的 OEM 特定组件æ供专用空间。</p>
<h4 id="canonical_boot_reason_compliance">规范å¯åŠ¨åŽŸå› åˆè§„性</h4>
@@ -130,7 +130,7 @@
<h4 id="system_as_root">系统作为 Root</h4>
-<p>æ­è½½æ­¤ç‰ˆæœ¬çš„所有设备å‡å¿…须使用 <a href="/devices/bootloader/system-as-root">system-as-root</a>,它会将 <code>ramdisk.img</code> åˆå¹¶åˆ° <code>system.img</code>(亦称为 no-ramdisk),而åŽè€…åˆä½œä¸º <code>rootfs</code> 装载。</p>
+<p>æ­è½½æ­¤ç‰ˆæœ¬çš„所有设备å‡å¿…须使用 <a href="/devices/bootloader/system-as-root">system-as-root</a>,它会将 <code>ramdisk.img</code> åˆå¹¶åˆ° <code>system.img</code>(亦称为 no-ramdisk),而åŽè€…åˆä¼šä½œä¸º <code>rootfs</code> 装载。</p>
<h4 id="boot_image_header_versioning">å¯åŠ¨æ˜ åƒæ ‡å¤´ç‰ˆæœ¬æŽ§åˆ¶</h4>
@@ -173,7 +173,7 @@
<h3 id="android_compatibility_definition_document_cdd">Android 兼容性定义文档 (CDD)</h3>
-<p><a href="/compatibility/android-cdd">Android 9 兼容性定义文档</a>基于<a href="/compatibility/cdd">之å‰ç‰ˆæœ¬</a>进行了迭代更新,包括有关新功能的更新以åŠé’ˆå¯¹ä¹‹å‰æ‰€å‘布功能的è¦æ±‚åšå‡ºçš„更改。</p>
+<p><a href="/compatibility/android-cdd">Android 9 兼容性定义文档</a>基于<a href="/compatibility/cdd">之å‰ç‰ˆæœ¬</a>进行了迭代更新,包括有关新功能的更新以åŠé’ˆå¯¹ä¹‹å‰æ‰€å‘布功能的è¦æ±‚åšå‡ºçš„的更改。</p>
<h2 id="settings">设置</h2>
@@ -575,7 +575,7 @@
<ul>
<li><p><strong>PackageManagerBackupAgent</strong>:通过格å¼ç‰ˆæœ¬æŽ§åˆ¶ä¸ºæœªæ¥ç‰ˆæœ¬çš„备份数æ®æ供支æŒï¼›æ­¤å¤„的扩展程åºå¿…须与当å‰çš„æ¢å¤ä»£ç å…¼å®¹ï¼Œæˆ–éµå¾ªç±»ä¸­çš„指令(包括递增适当的常é‡ï¼‰ã€‚</p></li>
<li><p><strong>SystemBackupAgent</strong>:在此版本åŠæ›´é«˜ç‰ˆæœ¬çš„ Android 中,<code>restoreAnyVersion = false</code>。ä¸æ”¯æŒä»Žæ›´é«˜ç‰ˆæœ¬çš„ API 进行æ¢å¤ã€‚</p></li>
-<li><p><strong>SettingsBackupAgent</strong>:从此版本开始,<code>restoreAnyVersion = true</code>。
+<li><p><strong>SettingsBackupAgent</strong>:从此版本开始,<code>restoreAnyVersion = true</code>
通过验è¯ç¨‹åºæ供部分支æŒã€‚如果目标æ“作系统中存在æŸé¡¹è®¾ç½®çš„验è¯ç¨‹åºï¼Œåˆ™å¯ä»¥ä»Žæ›´é«˜ç‰ˆæœ¬çš„ API æ¢å¤è¯¥è®¾ç½®ã€‚添加任何设置都应附带该设置的验è¯ç¨‹åºã€‚请查看相关类以了解详情。</p></li>
<li><p>ROM 中包å«çš„任何<strong>自定义备份代ç†</strong>都应在备份数æ®æ ¼å¼å‘生ä¸å…¼å®¹çš„更改时递增其版本å·ï¼Œå¹¶åœ¨å…¶ä»£ç†å°šæœªå‡†å¤‡å¥½æ ¹æ®æœªæ¥ç‰ˆæœ¬çš„代ç å¤„ç†å¤‡ä»½æ•°æ®æ—¶ç¡®ä¿ <code>restoreAnyVersion = false</code>(默认值)。</p></li>
</ul>
diff --git a/zh-tw/security/bulletin/2018-07-01.html b/zh-tw/security/bulletin/2018-07-01.html
index 5c4b2e86..392363d7 100644
--- a/zh-tw/security/bulletin/2018-07-01.html
+++ b/zh-tw/security/bulletin/2018-07-01.html
@@ -31,7 +31,7 @@ Android çš„åˆä½œå¤¥ä¼´è‡³å°‘會æå‰ä¸€å€‹æœˆæ”¶åˆ°å…¬å‘Šä¸­æ‰€æœ‰å•é¡Œçš„相
在這些å•é¡Œä¸­ï¼Œæœ€åš´é‡çš„就是媒體架構中嚴é‡ç¨‹åº¦ã€Œæœ€é«˜ã€çš„安全性æ¼æ´žã€‚é ç«¯æ”»æ“Šè€…å¯åˆ©ç”¨é€™é¡žæ¼æ´žï¼Œåœ¨ç²å¾—授權的程åºç’°å¢ƒå…§é€éŽç‰¹è£½æª”案執行任何程å¼ç¢¼ã€‚<a href="/security/overview/updates-resources.html#severity">åš´é‡ç¨‹åº¦è©•å®šæ¨™æº–</a>是å‡è¨­å¹³å°èˆ‡æœå‹™çš„因應防護措施基於開發作業的需求而被關閉,或是é­åˆ°æœ‰å¿ƒäººå£«ç ´è§£ï¼Œç„¶å¾ŒæŽ¨ç®—當有人惡æ„é‹ç”¨æ¼æ´žæ™‚,使用者的è£ç½®æœƒå—到多大的影響,據此評定æ¼æ´žçš„åš´é‡ç¨‹åº¦ã€‚
</p>
<p>
-é‡å°é€™äº›æ–°ç™¼ç¾çš„æ¼æ´žï¼Œæˆ‘們目å‰å°šæœªæ”¶åˆ°ä»»ä½•å®¢æˆ¶å›žå ±ç›¸é—œçš„æ¼æ´žæ¿«ç”¨æ¡ˆä¾‹ã€‚如果想進一步瞭解 <a href="/security/enhancements/index.html">Android 安全性平å°é˜²è­·æŽªæ–½</a>å’Œ Google Play 安全防護機制如何加強 Android å¹³å°çš„安全性,請åƒé–± <a href="#mitigations">Android å’Œ Google Play 安全防護機制所æ供的因應措施</a>。
+é‡å°é€™äº›æ–°ç™¼ç¾çš„æ¼æ´žï¼Œæˆ‘們目å‰å°šæœªæ”¶åˆ°ä»»ä½•å®¢æˆ¶å›žå ±ç›¸é—œçš„æ¼æ´žæ¿«ç”¨æ¡ˆä¾‹ã€‚如果想進一步瞭解 <a href="#mitigations">Android 安全性平å°é˜²è­·æŽªæ–½</a>å’Œ Google Play 安全防護機制如何加強 Android å¹³å°çš„安全性,請åƒé–± <a href="/security/enhancements/index.html">Android å’Œ Google Play 安全防護機制所æ供的因應措施</a>。
</p>
<p class="note">
<strong>注æ„:</strong>在 <a href="/security/bulletin/pixel/2018-07-01.html">2018 å¹´ 7 月 Pixel/Nexus 安全性公告</a>中,我們æ供了 Google è£ç½®é©ç”¨çš„最新無線下載更新 (OTA) 和韌體映åƒæª”的相關資訊。
diff --git a/zh-tw/security/bulletin/2018-11-01.html b/zh-tw/security/bulletin/2018-11-01.html
new file mode 100644
index 00000000..762f9e9c
--- /dev/null
+++ b/zh-tw/security/bulletin/2018-11-01.html
@@ -0,0 +1,587 @@
+<html devsite><head>
+ <title>Android 安全性公告 - 2018 年 11 月</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<p><em>發佈日期:2018 年 11 月 5 日</em></p>
+
+<p>
+Android å®‰å…¨æ€§å…¬å‘Šåˆ—èˆ‰æœƒå° Android è£ç½®é€ æˆå½±éŸ¿çš„安全性æ¼æ´žï¼Œä¸¦èªªæ˜Žå„項相關細節。2018-11-05 之後的安全性修補程å¼ç­‰ç´šå·²è§£æ±ºäº†é€™äº›å•é¡Œã€‚è«‹åƒé–±<a href="https://support.google.com/pixelphone/answer/4457705" class="external">檢查åŠæ›´æ–° Android 版本</a>一文,瞭解如何查看è£ç½®çš„安全性修補程å¼ç­‰ç´šã€‚
+</p>
+<p>
+Android çš„åˆä½œå¤¥ä¼´è‡³å°‘會æå‰ä¸€å€‹æœˆæ”¶åˆ°å…¬å‘Šä¸­æ‰€æœ‰å•é¡Œçš„相關通知。這些å•é¡Œçš„原始碼修補程å¼å°‡æ–¼æŽ¥ä¸‹ä¾† 48 å°æ™‚內發佈到 Android 開放原始碼計劃 (AOSP) 存放å€ï¼Œç­‰åˆ°ç›¸é—œ Android 開放原始碼計劃連çµå»ºç«‹å®Œæˆå¾Œï¼Œæˆ‘們就會修訂這則公告。</p>
+<p>
+本節中最嚴é‡çš„æ¼æ´žå¯èƒ½æœƒè®“鄰近的攻擊者得以利用特製檔案在ç²å¾—授權的程åºç’°å¢ƒå…§åŸ·è¡Œä»»ä½•ç¨‹å¼ç¢¼ã€‚<a href="/security/overview/updates-resources.html#severity">åš´é‡ç¨‹åº¦è©•å®šæ¨™æº–</a>是å‡è¨­å¹³å°èˆ‡æœå‹™çš„因應防護措施基於開發作業的需求而被關閉,或是é­åˆ°æœ‰å¿ƒäººå£«ç ´è§£ï¼Œç„¶å¾ŒæŽ¨ç®—當有人惡æ„é‹ç”¨æ¼æ´žæ™‚,使用者的è£ç½®å¯èƒ½æœƒå—到多大的影響,據此評定æ¼æ´žçš„åš´é‡ç¨‹åº¦ã€‚
+</p>
+<p>
+é‡å°é€™äº›æ–°ç™¼ç¾çš„æ¼æ´žï¼Œæˆ‘們目å‰å°šæœªæ”¶åˆ°ä»»ä½•å®¢æˆ¶å›žå ±ç›¸é—œçš„æ¼æ´žæ¿«ç”¨æ¡ˆä¾‹ã€‚如果想進一步瞭解 <a href="/security/enhancements/">Android 安全性平å°é˜²è­·æŽªæ–½</a>å’Œ Google Play 安全防護機制如何加強 Android å¹³å°çš„安全性,請åƒé–± <a href="#mitigations">Android å’Œ Google Play 安全防護機制所æ供的因應措施</a>。
+</p>
+<p class="note">
+<strong>注æ„:</strong>在 <a href="/security/bulletin/pixel/2018-11-01">2018 å¹´ 11 月 Pixel/Nexus 安全性公告</a>中,我們æ供了 Google è£ç½®é©ç”¨çš„最新無線下載更新 (OTA) 和韌體映åƒæª”的相關資訊。
+</p>
+
+<h2 id="announcements">公告事項</h2>
+<p>
+我們在 Libxaac 程å¼åº«ä¸­ç™¼ç¾å¤šå€‹å®‰å…¨æ€§å•é¡Œï¼ŒåŒ…括:CVE-2018-9528ã€CVE-2018-9529ã€CVE-2018-9530ã€CVE-2018-9531ã€CVE-2018-9532ã€CVE-2018-9533ã€CVE-2018-9534ã€CVE-2018-9535ã€CVE-2018-9569ã€CVE-2018-9570ã€CVE-2018-9571ã€CVE-2018-9572ã€CVE-2018-9573ã€CVE-2018-9574ã€CVE-2018-9575ã€CVE-2018-9576ã€CVE-2018-9577 å’Œ CVE-2018-9578。</p>
+<p>我們已將這個程å¼åº«æ¨™ç¤ºç‚ºå¯¦é©—性程å¼åº«ï¼Œæ‰€æœ‰ Android æ­£å¼ç‰ˆæœ¬ä¹Ÿä¸å†åŒ…å«é€™å€‹ç¨‹å¼åº«ã€‚</p>
+
+<h2 id="mitigations">Android å’Œ Google æœå‹™å•é¡Œå› æ‡‰æŽªæ–½</h2>
+<p>
+本節概述 <a href="/security/enhancements/">Android 安全性平å°</a>å’Œ <a href="https://www.android.com/play-protect" class="external">Google Play 安全防護</a>ç­‰æœå‹™é˜²è­·æ–¹æ¡ˆæ‰€æ供的因應措施。這些措施å¯æœ‰æ•ˆé˜²ç¯„有心人士在 Android 系統上惡æ„é‹ç”¨å®‰å…¨æ€§æ¼æ´žä¾†é”到特定目的。
+</p>
+<ul>
+<li>Android å¹³å°æŒçºŒæŽ¨å‡ºæ–°çš„版本來強化安全性,因此有心人士越來越難在 Android 系統上找出æ¼æ´žåŠ ä»¥åˆ©ç”¨ã€‚我們建議所有使用者盡å¯èƒ½æ›´æ–°è‡³æœ€æ–°ç‰ˆçš„ Android。</li>
+<li>Android 安全性å°çµ„é€éŽ <a href="https://www.android.com/play-protect" class="external">Google Play 安全防護</a>主動監控濫用情形;使用這些功能的目的是在發ç¾<a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">å¯èƒ½æœ‰å®³çš„應用程å¼</a>時警告使用者。在é è¨­æƒ…æ³ä¸‹ï¼Œæ­è¼‰ <a href="http://www.android.com/gms" class="external">Google 行動æœå‹™</a>çš„è£ç½®æœƒè‡ªå‹•å•Ÿç”¨ Google Play 安全防護機制。å°æ–¼éœ€è¦å¾ž Google Play 以外的來æºå®‰è£æ‡‰ç”¨ç¨‹å¼çš„使用者來說,這項防護措施格外é‡è¦ã€‚</li>
+</ul>
+<h2 id="2018-11-01-details">2018-11-01 安全性修補程å¼ç­‰ç´š - 資安æ¼æ´žè©³æƒ…</h2>
+<p>
+下列å„節é‡å° 2018-11-01 安全性修補程å¼ç­‰ç´šé©ç”¨çš„å„項安全性æ¼æ´žæ供了詳細資訊,我們ä¾ç…§è³‡å®‰å•é¡Œæœ¬èº«æ‰€å½±éŸ¿çš„元件將å„é …æ¼æ´žåˆ†é–€åˆ¥é¡žï¼Œå¦å¤–也附上了å•é¡Œèªªæ˜Žå’Œä¸€ä»½ CVE 資訊表,其中包括了相關åƒè€ƒè³‡æ–™ã€<a href="#type">æ¼æ´žé¡žåž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">åš´é‡ç¨‹åº¦</a>,以åŠæ›´æ–°çš„ Android 開放原始碼計劃版本 (在é©ç”¨æƒ…æ³ä¸‹)。å‡å¦‚相關錯誤有公開變更,該錯誤 ID 會連çµåˆ°ç›¸å°æ‡‰çš„變更 (例如 Android 開放原始碼計劃變更清單)。如果單一錯誤有多項相關變更,您å¯ä»¥é€éŽè©²éŒ¯èª¤ ID 後é¢çš„編號連çµé–‹å•Ÿé¡å¤–çš„åƒè€ƒè³‡æ–™ã€‚</p>
+
+<h3 id="framework">架構</h3>
+<p>本節中最嚴é‡çš„æ¼æ´žå¯èƒ½æœƒè®“本機惡æ„應用程å¼åœ¨ç²å¾—授權的程åºç’°å¢ƒå…§åŸ·è¡Œä»»ä½•ç¨‹å¼ç¢¼ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>更新的 Android 開放原始碼計劃版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9522</td>
+ <td>A-112550251</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9524</td>
+ <td>A-34170870</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9525</td>
+ <td>A-111330641</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="media-framework">媒體架構</h3>
+<p>本節中最嚴é‡çš„æ¼æ´žå¯èƒ½æœƒè®“é ç«¯æ”»æ“Šè€…得以利用特製檔案在ç²å¾—授權的程åºç’°å¢ƒå…§åŸ·è¡Œä»»ä½•ç¨‹å¼ç¢¼ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>更新的 Android 開放原始碼計劃版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9527</td>
+ <td>A-112159345</td>
+ <td>RCE</td>
+ <td>最高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9531</td>
+ <td>A-112661641</td>
+ <td>RCE</td>
+ <td>最高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9536</td>
+ <td>A-112662184</td>
+ <td>EoP</td>
+ <td>最高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9537</td>
+ <td>A-112891564</td>
+ <td>EoP</td>
+ <td>最高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9521</td>
+ <td>A-111874331</td>
+ <td>RCE</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9539</td>
+ <td>A-113027383</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="system">系統</h3>
+<p>本節中最嚴é‡çš„æ¼æ´žå¯èƒ½æœƒè®“é ç«¯æ”»æ“Šè€…å­˜å–一般åªé–‹æ”¾çµ¦ç²å¾—授權的本機安è£æ‡‰ç”¨ç¨‹å¼çš„資料。</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>更新的 Android 開放原始碼計劃版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9540</td>
+ <td>A-111450417</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9542</td>
+ <td>A-111896861</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9543</td>
+ <td>A-112868088</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9544</td>
+ <td>A-113037220</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9545</td>
+ <td>A-113111784</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td rowspan="2">CVE-2018-9541</td>
+ <td rowspan="2">A-111450531</td>
+ <td>ID</td>
+ <td>中</td>
+ <td>9</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-media-framework">更新項目:媒體架構</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>更新的 Android 開放原始碼計劃版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9347</td>
+ <td>A-68664359</td>
+ <td>DoS</td>
+ <td>中</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="update-system">更新項目:系統</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>更新的 Android 開放原始碼計劃版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9457</td>
+ <td>A-72872376</td>
+ <td>EoP</td>
+ <td>中</td>
+ <td>8.0ã€8.1ã€9</td>
+ </tr>
+</tbody></table>
+
+<h2 id="2018-11-05-details">2018-11-05 安全性修補程å¼ç­‰ç´š - 資安æ¼æ´žè©³æƒ…</h2>
+<p>
+下列å„節é‡å° 2018-11-05 安全性修補程å¼ç­‰ç´šé©ç”¨çš„å„項安全性æ¼æ´žæ供了詳細資訊。我們ä¾ç…§è³‡å®‰å•é¡Œæœ¬èº«æ‰€å½±éŸ¿çš„元件將å„é …æ¼æ´žåˆ†é–€åˆ¥é¡žï¼Œå¦å¤–也附上了一些詳細資料,例如 CVEã€ç›¸é—œåƒè€ƒè³‡æ–™ã€<a href="#type">æ¼æ´žé¡žåž‹</a>ã€<a href="/security/overview/updates-resources.html#severity">åš´é‡ç¨‹åº¦</a>ã€å…ƒä»¶ (在é©ç”¨æƒ…æ³ä¸‹),和更新的 Android 開放原始碼計劃版本 (在é©ç”¨æƒ…æ³ä¸‹)。å‡å¦‚相關錯誤有公開變更,該錯誤 ID 會連çµåˆ°ç›¸å°æ‡‰çš„變更 (例如 Android 開放原始碼計劃變更清單)。如果單一錯誤有多項相關變更,您å¯ä»¥é€éŽè©²éŒ¯èª¤ ID 後é¢çš„編號連çµé–‹å•Ÿé¡å¤–çš„åƒè€ƒè³‡æ–™ã€‚</p>
+
+<h3 id="framework-05">架構</h3>
+<p>本節中最嚴é‡çš„æ¼æ´žå¯èƒ½æœƒè®“本機惡æ„應用程å¼åœ¨ç²å¾—授權的程åºç’°å¢ƒå…§åŸ·è¡Œä»»ä½•ç¨‹å¼ç¢¼ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>更新的 Android 開放原始碼計劃版本</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9523</td>
+ <td>A-112859604</td>
+ <td>EoP</td>
+ <td>高</td>
+ <td>7.0ã€7.1.1ã€7.1.2ã€8.0ã€8.1ã€9</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-9526</td>
+ <td>A-112159033</td>
+ <td>ID</td>
+ <td>高</td>
+ <td>9</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm 元件</h3>
+<p>本節中最嚴é‡çš„æ¼æ´žå¯èƒ½æœƒè®“本機惡æ„應用程å¼åœ¨ç²å¾—授權的程åºç’°å¢ƒå…§åŸ·è¡Œä»»ä½•ç¨‹å¼ç¢¼ã€‚</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>元件</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-15818</td>
+ <td>A-68992408<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/lk/commit/?id=abe4f7042cbdef928ffc152335a17150fb39b096">
+QC-CR#2078580</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>生態系統</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11995</td>
+ <td>A-71501677<br />
+ <a href="https://source.codeaurora.org/quic/la/abl/tianocore/edk2/commit/?id=e3688be47d2b72f130f90dafd24b5f5acc4684ca">
+QC-CR#2129639</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>系統啟動載入程å¼</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11905</td>
+ <td>A-112277889<br />
+ <a href="https://source.codeaurora.org/quic/la/kernel/msm-4.4/commit/?id=0cdcf0409bdad7ed91c11d7715c89acc2e521e96">
+QC-CR#2090797</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>DSP_Services</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-closed-source-components">Qualcomm å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</h3>
+<p>以下列出會影響 Qualcomm 元件的安全性æ¼æ´žï¼Œè©³æƒ…è«‹åƒè€ƒé©ç”¨çš„ Qualcomm AMSS 安全性公告或安全性警示。這些å•é¡Œçš„åš´é‡ç¨‹åº¦æ˜¯ç”± Qualcomm 直接評定。</p>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>元件</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-18317</td>
+ <td>A-78244877<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>最高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5912</td>
+ <td>A-79420111<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>最高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11264</td>
+ <td>A-109677962<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>最高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2016-10502</td>
+ <td>A-68326808<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18316</td>
+ <td>A-78240714<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18318</td>
+ <td>A-78240675<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-18315</td>
+ <td>A-78241957<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11994</td>
+ <td>A-72950294<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11996</td>
+ <td>A-74235967<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5870</td>
+ <td>A-77484722<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5877</td>
+ <td>A-77484786<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5916</td>
+ <td>A-79420492<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-5917</td>
+ <td>A-79420096<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+ <tr>
+ <td>CVE-2018-11269</td>
+ <td>A-109678529<a href="#asterisk">*</a></td>
+ <td>ç„¡</td>
+ <td>高</td>
+ <td>å°é–‰åŽŸå§‹ç¢¼å…ƒä»¶</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">常見å•é¡Œèˆ‡è§£ç­”</h2>
+<p>如果您在閱讀這篇公告後有任何疑å•ï¼Œå¯åƒè€ƒæœ¬ç¯€çš„常見å•ç­”。</p>
+<p><strong>1. 如何判斷我目å‰çš„è£ç½®è»Ÿé«”版本是å¦å·²ä¿®æ­£é€™äº›å•é¡Œï¼Ÿ</strong></p>
+<p>è«‹åƒé–±<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">檢查åŠæ›´æ–° Android 版本</a>一文,瞭解如何查看è£ç½®çš„安全性修補程å¼ç­‰ç´šã€‚</p>
+<ul>
+<li>2018-11-01 後的安全性修補程å¼ç­‰ç´šå·²è§£æ±ºäº†æ‰€æœ‰èˆ‡ 2018-11-01 安全性修補程å¼ç­‰ç´šç›¸é—œçš„å•é¡Œã€‚</li>
+<li>2018-11-05 之後的安全性修補程å¼ç­‰ç´šå®Œå…¨è§£æ±ºäº†èˆ‡ 2018-11-05 安全性修補程å¼ç­‰ç´šåŠæ‰€æœ‰å…ˆå‰ä¿®è£œç¨‹å¼ç­‰ç´šç›¸é—œçš„å•é¡Œã€‚</li>
+</ul>
+<p>æ供這些更新的è£ç½®è£½é€ å•†æ‡‰å°‡ä¿®è£œç¨‹å¼å­—串等級設定為:</p>
+<ul>
+ <li>[ro.build.version.security_patch]:[2018-11-01]</li>
+ <li>[ro.build.version.security_patch]:[2018-11-05]</li>
+</ul>
+<p><strong>2. 為什麼這篇公告有兩種安全性修補程å¼ç­‰ç´šï¼Ÿ</strong></p>
+<p>
+本公告有兩種安全性修補程å¼ç­‰ç´šï¼Œè®“ Android åˆä½œå¤¥ä¼´èƒ½å¤ éˆæ´»é‹ç”¨ï¼Œä»¥å¿«é€Ÿä¿®æ­£æŸäº›ç™¼ç”Ÿåœ¨æ‰€æœ‰ Android è£ç½®ä¸Šçš„é¡žä¼¼æ¼æ´žã€‚我們建議 Android åˆä½œå¤¥ä¼´ä¿®æ­£æœ¬å…¬å‘Šæ‰€åˆ—的所有å•é¡Œï¼Œä¸¦ä½¿ç”¨æœ€æ–°çš„安全性修補程å¼ç­‰ç´šã€‚
+</p>
+<ul>
+<li>安全性修補程å¼ç­‰ç´šç‚º 2018-11-01 çš„è£ç½®å¿…é ˆç´å…¥æ‰€æœ‰èˆ‡è©²å®‰å…¨æ€§ä¿®è£œç¨‹å¼ç­‰ç´šç›¸é—œçš„å•é¡Œï¼Œä»¥åŠåœ¨ä¹‹å‰å®‰å…¨æ€§å…¬å‘Šä¸­å›žå ±çš„所有å•é¡Œé©ç”¨çš„修正程å¼ã€‚</li>
+<li>如果è£ç½®çš„安全性修補程å¼ç­‰ç´šåœ¨ 2018-11-05 之後,就必須加入本安全性公告 (以åŠä¹‹å‰å…¬å‘Š) 中的所有é©ç”¨ä¿®è£œç¨‹å¼ã€‚</li>
+</ul>
+<p>
+我們建議åˆä½œå¤¥ä¼´å°‡æ‰€æœ‰å•é¡Œé©ç”¨çš„修補程å¼éƒ½å½™æ•´åœ¨å–®ä¸€æ›´æ–°ä¸­ã€‚
+</p>
+<p id="type">
+<strong>3.「類型ã€<em></em>欄中的項目代表什麼æ„義?</strong>
+</p>
+<p>
+在資安æ¼æ´žè©³æƒ…表格中,「類型ã€<em></em>欄中的項目代表的是安全性æ¼æ´žçš„類別。
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>縮寫</th>
+ <th>定義</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>é ç«¯ç¨‹å¼ç¢¼åŸ·è¡Œ</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>權é™å‡ç´š</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>資訊外洩</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>阻斷æœå‹™</td>
+ </tr>
+ <tr>
+ <td>ç„¡</td>
+ <td>未分類</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>4.「åƒè€ƒè³‡æ–™ã€<em></em>欄底下列出的識別碼代表什麼æ„義?</strong>
+</p>
+<p>
+資安æ¼æ´žè©³æƒ…表格中「åƒè€ƒè³‡æ–™ã€<em></em>欄底下的項目å¯èƒ½æœƒåŒ…å«ä¸€å€‹å‰ç½®å­—串,用以表示該åƒè€ƒè³‡æ–™å€¼æ‰€å±¬çš„機構或公å¸ã€‚
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>å‰ç½®å­—串</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android 錯誤 ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>5.「åƒè€ƒè³‡æ–™ã€<em></em>欄中 Android 錯誤 ID æ—邊的星號 (*) 代表什麼æ„義?</strong>
+</p>
+<p>
+在「åƒè€ƒè³‡æ–™ã€<em></em>欄中 Android 錯誤 ID æ—邊標上星號 (*) 代表該å•é¡Œä¸¦æœªå…¬é–‹ï¼Œç›¸é—œçš„更新通常是直接整åˆåœ¨æœ€æ–°çš„ Pixel/Nexus è£ç½®å°ˆç”¨é©…動程å¼çš„安è£æª”中。您å¯ä»¥å‰å¾€ <a href="https://developers.google.com/android/drivers" class="external">Google Developers 網站</a>下載這些驅動程å¼ã€‚
+</p>
+<p>
+<strong>6. 為什麼安全性æ¼æ´žæœƒå€åˆ†ç‚ºæœ¬å®‰å…¨æ€§å…¬å‘Šä»¥åŠè£ç½®åˆä½œå¤¥ä¼´çš„安全性公告,例如 Pixel/Nexus 公告?</strong>
+</p>
+<p>
+為了宣告 Android è£ç½®æœ€æ–°çš„安全性修補程å¼ç­‰ç´šï¼Œæˆ‘們必須先在這份安全性公告中刊載相關的安全性æ¼æ´žã€‚è£ç½®/åˆä½œå¤¥ä¼´å®‰å…¨æ€§å…¬å‘Šæ‰€åˆŠè¼‰çš„其他安全性æ¼æ´žå‰‡æœªå¼·åˆ¶è¦å®šå®£å‘Šå®‰å…¨æ€§ä¿®è£œç¨‹å¼ç­‰ç´šã€‚我們鼓勵 Android è£ç½®å’Œæ™¶ç‰‡çµ„製造商將旗下è£ç½®çš„其他修正刊載在自己的安全性網站上,例如 <a href="https://security.samsungmobile.com/securityUpdate.smsb" class="external">Samsung</a>ã€<a href="https://lgsecurity.lge.com/security_updates.html" class="external">LGE</a> 或是 <a href="/security/bulletin/pixel/" class="external">Pixel/Nexus</a> 安全性公告。
+</p>
+
+<h2 id="versions">版本</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>版本</th>
+ <th>日期</th>
+ <th>附註</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018 年 11 月 5 日</td>
+ <td>發佈公告。</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/zh-tw/security/bulletin/2018.html b/zh-tw/security/bulletin/2018.html
index 13996351..4c0a5c76 100644
--- a/zh-tw/security/bulletin/2018.html
+++ b/zh-tw/security/bulletin/2018.html
@@ -35,15 +35,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°‡æŽ¨å‡º
- <!--
- <a href="/security/bulletin/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-01<br />
diff --git a/zh-tw/security/bulletin/index.html b/zh-tw/security/bulletin/index.html
index 99a4db7c..fbf1f2e9 100644
--- a/zh-tw/security/bulletin/index.html
+++ b/zh-tw/security/bulletin/index.html
@@ -57,15 +57,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°‡æŽ¨å‡º
- <!--
- <a href="/security/bulletin/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-01<br />
diff --git a/zh-tw/security/bulletin/pixel/2018-11-01.html b/zh-tw/security/bulletin/pixel/2018-11-01.html
new file mode 100644
index 00000000..ca88bb31
--- /dev/null
+++ b/zh-tw/security/bulletin/pixel/2018-11-01.html
@@ -0,0 +1,249 @@
+<html devsite><head>
+ <title>Pixel/Nexus 安全性公告 - 2018 年 11 月</title>
+ <meta name="project_path" value="/_project.yaml"/>
+ <meta name="book_path" value="/_book.yaml"/>
+ </head>
+ <body>
+ <!--
+ Copyright 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ //www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<p><em>發佈日期:2018 年 11 月 5 日</em></p>
+
+<p>
+Pixel/Nexus 安全性公告列舉會å°<a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">支æ´çš„ Google Pixel å’Œ Nexus è£ç½®</a> (Google è£ç½®) 造æˆå½±éŸ¿çš„安全性æ¼æ´žå’ŒåŠŸèƒ½æ”¹å–„項目,並說明å„項相關細節。2018-11-05 之後的安全性修補程å¼ç­‰ç´šä¹Ÿå·²é‡å° Google è£ç½®è§£æ±ºäº†é€™å€‹å…¬å‘Šå’Œ 2018 å¹´ 11 月 Android 安全性公告列出的所有å•é¡Œã€‚è«‹åƒé–±<a href="https://support.google.com/pixelphone/answer/4457705" class="external">檢查åŠæ›´æ–° Android 版本</a>一文,瞭解如何查看è£ç½®çš„安全性修補程å¼ç­‰ç´šã€‚
+</p>
+<p>
+所有支æ´çš„ Google è£ç½®éƒ½æœƒæ”¶åˆ° 2018-11-05 修補程å¼ç­‰ç´šæ›´æ–°ã€‚我們建議所有客戶接å—這些è£ç½®æ›´æ–°ã€‚
+</p>
+<p class="note">
+<strong>注æ„:</strong>您å¯ä»¥å‰å¾€ <a href="https://developers.google.com/android/images" class="external">Google Developers 網站</a>å–å¾— Google è£ç½®éŸŒé«”映åƒæª”。
+</p>
+
+<h2 id="announcements">公告事項</h2>
+
+<p>
+我們除了修補 <a href="/security/bulletin/2018-11-01">2018 å¹´ 11 月 Android 安全性公告</a>中所列出的安全性æ¼æ´žï¼Œä¹Ÿé‡å°ä¸‹æ–‡åˆ—出的 Pixel å’Œ Nexus è£ç½®çš„安全性æ¼æ´žæ供修補程å¼ã€‚我們的åˆä½œå¤¥ä¼´è‡³å°‘會æå‰ä¸€å€‹æœˆæ”¶åˆ°é€™äº›å•é¡Œçš„相關通知,方便他們將相關內容ç´å…¥å…¶è£ç½®æ›´æ–°ä¸­ã€‚
+</p>
+
+<h2 id="security-patches">安全性修補程å¼</h2>
+<p>
+我們ä¾ç…§è³‡å®‰å•é¡Œæœ¬èº«æ‰€å½±éŸ¿çš„元件將å„é …æ¼æ´žåˆ†é–€åˆ¥é¡žï¼Œå¦å¤–也附上了å•é¡Œèªªæ˜Žå’Œä¸€ä»½ CVE 資訊表,其中包括了相關åƒè€ƒè³‡æ–™ã€<a href="#type">æ¼æ´žé¡žåž‹</a>ã€<a href="/security/overview/updates-resources#severity">åš´é‡ç¨‹åº¦</a>,以åŠæ›´æ–°çš„ Android 開放原始碼計劃 (AOSP) 版本 (在é©ç”¨æƒ…æ³ä¸‹)。å‡å¦‚相關錯誤有公開變更,該錯誤 ID 會連çµåˆ°ç›¸å°æ‡‰çš„變更 (例如 Android 開放原始碼計劃變更清單)。如果單一錯誤有多項相關變更,您å¯ä»¥é€éŽè©²éŒ¯èª¤ ID 後é¢çš„編號連çµé–‹å•Ÿé¡å¤–çš„åƒè€ƒè³‡æ–™ã€‚</p>
+
+<h3 id="htc-components">HTC 元件</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>元件</th>
+ </tr>
+ <tr>
+ <td>CVE-2018-9580</td>
+ <td>A-76222002<a href="#asterisk">*</a></td>
+ <td>EoP</td>
+ <td>中</td>
+ <td>系統啟動載入程å¼</td>
+ </tr>
+</tbody></table>
+
+<h3 id="qualcomm-components">Qualcomm 元件</h3>
+
+<table>
+<colgroup><col width="21%" />
+<col width="21%" />
+<col width="14%" />
+<col width="14%" />
+<col width="30%" />
+ </colgroup><tbody><tr>
+ <th>CVE</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>é¡žåž‹</th>
+ <th>åš´é‡ç¨‹åº¦</th>
+ <th>元件</th>
+ </tr>
+ <tr>
+ <td>CVE-2017-14888</td>
+ <td>A-70237718<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=d50dfd647b2396d2e2c05b7aee84d831e4a18d68">QC-CR#2119729</a></td>
+ <td>ç„¡</td>
+ <td>中</td>
+ <td>WLAN 主機</td>
+ </tr>
+ <tr>
+ <td>CVE-2017-15835</td>
+ <td>A-72957155<br />
+<a href="https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0/commit/?id=b6eeed234707244c799ae7009e67312b8bf33ccd">QC-CR#2125781</a></td>
+ <td>ç„¡</td>
+ <td>中</td>
+ <td>WLAN 主機</td>
+ </tr>
+</tbody></table>
+
+<h2 id="functional-patches">功能修補程å¼</h2>
+
+<p>在 11 月份的 OTA 網路å‡ç´šç¨‹åºä¸­ï¼Œæ‰€æœ‰æ­è¼‰ Android 9 çš„ Pixel è£ç½®éƒ½æœƒæ”¶åˆ° Android 9 更新。這個季度版本除了更新許多功能,也é‡å° Android å¹³å°çš„å„項元件和支æ´çš„ Pixel è£ç½®é€²è¡Œæ”¹å–„。</p>
+
+<p>此外,這個版本還包å«äº†ä¸‹åˆ—ä¿®æ­£ç¨‹å¼ (Android è£ç½®è£½é€ å•†éƒ½å¿…須為使用者æ供這些修正程å¼):</p>
+
+<table>
+ <tbody><tr>
+ <th>åƒè€ƒè³‡æ–™</th>
+ <th>類別</th>
+ <th>改善項目</th>
+ <th>è£ç½®</th>
+ </tr>
+ <tr>
+ <td>A-111401911</td>
+ <td>螢幕</td>
+ <td>é‡å°ä½¿ç”¨<a href="/devices/tech/display/pip">å­æ¯ç•«é¢</a>功能的è£ç½®æå‡æ•ˆèƒ½</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-109769728</td>
+ <td>架構</td>
+ <td>改善 Strongbox å°ç¨±é‡‘鑰產生è¦æ±‚</td>
+ <td>Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112198479</td>
+ <td>螢幕</td>
+ <td>é‡å°ä½¿ç”¨<a href="/devices/tech/display/pip">å­æ¯ç•«é¢</a>功能的應用程å¼æå‡æ•ˆèƒ½</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+ <tr>
+ <td>A-112714177</td>
+ <td>通知</td>
+ <td>æå‡é€šçŸ¥åŠŸèƒ½çš„穩定性</td>
+ <td>Pixel 2ã€Pixel 2 XLã€Pixel 3ã€Pixel 3 XL</td>
+ </tr>
+</tbody></table>
+
+<h2 id="common-questions-and-answers">常見å•é¡Œèˆ‡è§£ç­”</h2>
+<p>
+如果您在閱讀這篇公告後有任何疑å•ï¼Œå¯åƒè€ƒæœ¬ç¯€çš„常見å•ç­”。
+</p>
+<p>
+<strong>1. 如何判斷我目å‰çš„è£ç½®è»Ÿé«”版本是å¦å·²ä¿®æ­£é€™äº›å•é¡Œï¼Ÿ
+</strong>
+</p>
+<p>
+2018-11-05 之後的安全性修補程å¼ç­‰ç´šå®Œå…¨è§£æ±ºäº†èˆ‡ 2018-11-05 安全性修補程å¼ç­‰ç´šåŠæ‰€æœ‰å…ˆå‰ä¿®è£œç¨‹å¼ç­‰ç´šç›¸é—œçš„å•é¡Œã€‚è«‹åƒé–± <a href="https://support.google.com/pixelphone/answer/4457705#pixel_phones&nexus_devices" class="external">Pixel 與 Nexus 更新時間表</a>中的æ“作說明,瞭解如何查看è£ç½®çš„安全性修補程å¼ç­‰ç´šã€‚
+</p>
+<p id="type">
+<strong>2.「類型ã€<em></em>欄中的項目代表什麼æ„義?</strong>
+</p>
+<p>
+在資安æ¼æ´žè©³æƒ…表格中,「類型ã€<em></em>欄中的項目代表的是安全性æ¼æ´žçš„類別。
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>縮寫</th>
+ <th>定義</th>
+ </tr>
+ <tr>
+ <td>RCE</td>
+ <td>é ç«¯ç¨‹å¼ç¢¼åŸ·è¡Œ</td>
+ </tr>
+ <tr>
+ <td>EoP</td>
+ <td>權é™å‡ç´š</td>
+ </tr>
+ <tr>
+ <td>ID</td>
+ <td>資訊外洩</td>
+ </tr>
+ <tr>
+ <td>DoS</td>
+ <td>阻斷æœå‹™</td>
+ </tr>
+ <tr>
+ <td>ç„¡</td>
+ <td>未分類</td>
+ </tr>
+</tbody></table>
+<p>
+<strong>3.「åƒè€ƒè³‡æ–™ã€<em></em>欄底下列出的識別碼代表什麼æ„義?</strong>
+</p>
+<p>
+資安æ¼æ´žè©³æƒ…表格中「åƒè€ƒè³‡æ–™ã€<em></em>欄底下的項目å¯èƒ½æœƒåŒ…å«ä¸€å€‹å‰ç½®å­—串,用以表示該åƒè€ƒè³‡æ–™å€¼æ‰€å±¬çš„機構或公å¸ã€‚
+</p>
+<table>
+ <colgroup><col width="25%" />
+ <col width="75%" />
+ </colgroup><tbody><tr>
+ <th>å‰ç½®å­—串</th>
+ <th>åƒè€ƒè³‡æ–™</th>
+ </tr>
+ <tr>
+ <td>A-</td>
+ <td>Android 錯誤 ID</td>
+ </tr>
+ <tr>
+ <td>QC-</td>
+ <td>Qualcomm åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+ <tr>
+ <td>M-</td>
+ <td>MediaTek åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+ <tr>
+ <td>N-</td>
+ <td>NVIDIA åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+ <tr>
+ <td>B-</td>
+ <td>Broadcom åƒè€ƒç·¨è™Ÿ</td>
+ </tr>
+</tbody></table>
+<p id="asterisk">
+<strong>4.「åƒè€ƒè³‡æ–™ã€<em></em>欄中 Android 錯誤 ID æ—邊的星號 (*) 代表什麼æ„義?</strong>
+</p>
+<p>
+在「åƒè€ƒè³‡æ–™ã€<em></em>欄中 Android 錯誤 ID æ—邊標上星號 (*) 代表該å•é¡Œä¸¦æœªå…¬é–‹ï¼Œç›¸é—œçš„更新通常是直接整åˆåœ¨æœ€æ–°çš„ Pixel/Nexus è£ç½®å°ˆç”¨é©…動程å¼çš„安è£æª”中。您å¯ä»¥å‰å¾€ <a href="https://developers.google.com/android/nexus/drivers" class="external">Google Developers 網站</a>下載這些驅動程å¼ã€‚
+</p>
+<p>
+<strong>5. 為什麼安全性æ¼æ´žæœƒåˆ†åˆ¥åˆŠè¼‰åœ¨é€™ä»½å®‰å…¨æ€§å…¬å‘Šå’Œ Android 安全性公告?</strong>
+</p>
+<p>
+為了宣告 Android è£ç½®æœ€æ–°çš„安全性修補程å¼ç­‰ç´šï¼Œæˆ‘們必須先在 Android 安全性公告中刊載相關的安全性æ¼æ´žã€‚其他安全性æ¼æ´ž (例如本安全性公告所刊載的安全性æ¼æ´ž) 並未強制è¦å®šå®£å‘Šå®‰å…¨æ€§ä¿®è£œç¨‹å¼ç­‰ç´šã€‚
+</p>
+<h2 id="versions">版本</h2>
+<table>
+ <colgroup><col width="25%" />
+ <col width="25%" />
+ <col width="50%" />
+ </colgroup><tbody><tr>
+ <th>版本</th>
+ <th>日期</th>
+ <th>附註</th>
+ </tr>
+ <tr>
+ <td>1.0</td>
+ <td>2018 年 11 月 5 日</td>
+ <td>發佈公告。</td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/zh-tw/security/bulletin/pixel/2018.html b/zh-tw/security/bulletin/pixel/2018.html
index 88de75fb..60e7340b 100644
--- a/zh-tw/security/bulletin/pixel/2018.html
+++ b/zh-tw/security/bulletin/pixel/2018.html
@@ -35,15 +35,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°‡æŽ¨å‡º
- <!--
- <a href="/security/bulletin/pixel/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-05</td>
diff --git a/zh-tw/security/bulletin/pixel/index.html b/zh-tw/security/bulletin/pixel/index.html
index 67965943..5384dd0a 100644
--- a/zh-tw/security/bulletin/pixel/index.html
+++ b/zh-tw/security/bulletin/pixel/index.html
@@ -44,15 +44,13 @@
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2018-10-01.html">2018 年 10 月</a></td>
- <td>å³å°‡æŽ¨å‡º
- <!--
- <a href="/security/bulletin/pixel/2018-10-01.html">English</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
- <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文&nbsp;(å°ç£)</a>
- -->
+ <td>
+ <a href="/security/bulletin/pixel/2018-10-01.html">English</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ja">日本語</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ko">한국어</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=ru">руÌÑÑкий</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-cn">中文 (中国)</a> /
+ <a href="/security/bulletin/pixel/2018-10-01.html?hl=zh-tw">中文 (å°ç£)</a>
</td>
<td>2018 年 10 月 1 日</td>
<td>2018-10-05</td>