Merge "Docs: Changes to source.android.com"
diff --git a/en/_book.yaml b/en/_book.yaml
index a2875e9..ada73e7 100644
--- a/en/_book.yaml
+++ b/en/_book.yaml
@@ -58,7 +58,7 @@
     - 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 16798cd..6f3811d 100644
--- a/en/compatibility/cts/downloads.html
+++ b/en/compatibility/cts/downloads.html
@@ -31,102 +31,102 @@
 <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 2309a69..a01cb72 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 9bdee4f..53c47e7 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 8400040..167e2d5 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 53f17f2..ca052f1 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 a61706e..631ccc4 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 43f7e10..cb506a8 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 586f043..fa7f6aa 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 d465474..3f07146 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 0000000..393f223
--- /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 f6bf073..11aaf85 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 8d184c2..5240ba6 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 e5d75aa..52d5f54 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 bf3c9f7..5113821 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>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>
-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>
+  <h2 id="nomenclature">Nomenclature</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>Throughout this document, the term "device" and "peripheral" are used in a
+  very precise manner:</p>
 
-<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>
+  <ul>
+    <li><em>Device</em> refers to the Android device.</li>
 
-<table>
+
+    <li><em>Peripheral</em> refers to an external USB audio peripheral
+    connected to the Android device.</li>
+  </ul>
+
+
+  <h2 id="recommended-peripherals">Mandated peripherals</h2>
+
+
+  <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>
+
+
+  <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%">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>
+      <td width="50%">Post-connect screen, with record test running.</td>
 
-<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>
-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>
-
-<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>
+      <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="record-loopback-test">Record (loopback) test</h3>
+  <h3 id="headset-buttons-test">Headset buttons 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="abstract">Abstract</h4>
 
-<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>
+  <p>This test verifies the <strong>media/transport</strong> buttons on the
+  recommended headset are correctly recognized.</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>
+  <h4 id="process">Process</h4>
 
-<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>
-  <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>
 
+  <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 6ec60f4..2b66c18 100644
--- a/en/compatibility/tests/development/jar.md
+++ b/en/compatibility/tests/development/jar.md
@@ -33,7 +33,7 @@
 [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 0891ffa..ddd8377 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>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 AfW Test Harness
+<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 @@
 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 @@
 <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 @@
 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 @@
 (<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 @@
 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 @@
 </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 918f89e..8f91f9f 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 a67fb83..f1c1677 100644
--- a/en/devices/tech/connect/esim-modem-requirements.md
+++ b/en/devices/tech/connect/esim-modem-requirements.md
@@ -24,22 +24,40 @@
 
 ## 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 @@
 
 ### 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.
+
+### (Optional) Implement setSimSlotsMapping API in IRadioConfig HAL v1.0
+
+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.
+
+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
 
-These are general modem logging requirements to properly debug eSIM issues.
+These are general modem logging requirements for debugging eSIM issues.
 
-### Provide PC based tools to capture detailed modem logs
+### Log capture
 
-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.
-
-Logging shall support capture IP packets on all network interfaces.
-
-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 55c517d..2c3308c 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 @@
 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 5c5699f..e9929d7 100644
--- a/en/security/bulletin/2018-09-01.html
+++ b/en/security/bulletin/2018-09-01.html
@@ -400,45 +400,6 @@
 </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 9bfd16a..bd9f38e 100644
--- a/en/security/bulletin/2018-11-01.html
+++ b/en/security/bulletin/2018-11-01.html
@@ -305,64 +305,6 @@
 </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 @@
     <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 1cf0b6a..8feee59 100644
--- a/en/security/bulletin/2018.html
+++ b/en/security/bulletin/2018.html
@@ -38,15 +38,13 @@
  </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 e11d196..3b13b8d 100644
--- a/en/security/bulletin/index.html
+++ b/en/security/bulletin/index.html
@@ -70,15 +70,13 @@
  </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 ecdadb1..5d6d8e6 100644
--- a/en/security/bulletin/pixel/2018-11-01.html
+++ b/en/security/bulletin/pixel/2018-11-01.html
@@ -66,6 +66,34 @@
 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 93e0b21..a785488 100644
--- a/en/security/bulletin/pixel/2018.html
+++ b/en/security/bulletin/pixel/2018.html
@@ -40,15 +40,13 @@
  </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 9cebd9b..f89274e 100644
--- a/en/security/bulletin/pixel/index.html
+++ b/en/security/bulletin/pixel/index.html
@@ -60,15 +60,13 @@
  </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 28e0708..cb795c7 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 @@
 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 @@
 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 ddf945c..bc9ad88 100644
--- a/en/setup/contribute/code-style.html
+++ b/en/setup/contribute/code-style.html
@@ -208,7 +208,7 @@
 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 545f93f..31f53d2 100644
--- a/en/setup/start/build-numbers.html
+++ b/en/setup/start/build-numbers.html
@@ -241,6 +241,20 @@
   </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 ad5a81a..5e42ed7 100644
--- a/en/setup/start/p-release-notes.md
+++ b/en/setup/start/p-release-notes.md
@@ -77,7 +77,7 @@
 
 #### 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 148c2da..b84adcd 100644
--- a/ja/security/bulletin/2018-07-01.html
+++ b/ja/security/bulletin/2018-07-01.html
@@ -30,7 +30,7 @@
 下記の問題のうち最も重大度の高いものは、メディア フレームワークに重大なセキュリティの脆弱性があるため、リモートの攻撃者が特別に細工したファイルを使用して、特権プロセス内で任意のコードを実行するおそれがあることです。<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 2786776..4368b15 100644
--- a/ja/security/bulletin/2018-08-01.html
+++ b/ja/security/bulletin/2018-08-01.html
@@ -29,7 +29,7 @@
 下記の問題のうち最も重大度の高いものは、リモートの攻撃者が特別に細工したファイルを使用して、特権プロセス内で任意のコードを実行するおそれのある重大なセキュリティの脆弱性です。<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 b42c537..5ddd45e 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 @@
 <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 37f07a3..6b75640 100644
--- a/ja/security/bulletin/2018-10-01.html
+++ b/ja/security/bulletin/2018-10-01.html
@@ -29,7 +29,7 @@
 下記の問題のうち最も重大度が高いものは、フレームワークに重大なセキュリティの脆弱性があるため、リモートの攻撃者が特別に細工したファイルを使用して、特権プロセス内で任意のコードを実行できるようになるおそれがあることです。<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 0000000..3059327
--- /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 f62705e..32b3cd6 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 2a76f51..9f64e87 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 cf53d36..cf4f4db 100644
--- a/ja/security/bulletin/pixel/2018-05-01.html
+++ b/ja/security/bulletin/pixel/2018-05-01.html
@@ -551,7 +551,7 @@
 <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 fb8e7a5..77e9fb0 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 d5bae81..1ff26d1 100644
--- a/ja/security/bulletin/pixel/2018-10-01.html
+++ b/ja/security/bulletin/pixel/2018-10-01.html
@@ -165,7 +165,7 @@
 <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 0000000..bf2e842
--- /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 8392cdd..6818a39 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 cdff3a9..6daae3f 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 a3653af..9370830 100644
--- a/ko/security/bulletin/2018-07-01.html
+++ b/ko/security/bulletin/2018-07-01.html
@@ -375,147 +375,147 @@
   <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 @@
    <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 7013377..e588755 100644
--- a/ko/security/bulletin/2018-10-01.html
+++ b/ko/security/bulletin/2018-10-01.html
@@ -44,8 +44,8 @@
 <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 0000000..650d0de
--- /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 a3c4ea5..0260e64 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 961dfe2..4a51984 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 @@
     <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 @@
       <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 917d54f..6027da5 100644
--- a/ko/security/bulletin/pixel/2018-05-01.html
+++ b/ko/security/bulletin/pixel/2018-05-01.html
@@ -38,7 +38,7 @@
 업데이트됩니다. 모든 고객은 기기에서 이 업데이트를 수락하는 것이 좋습니다.
 </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 1c9f578..659d0ef 100644
--- a/ko/security/bulletin/pixel/2018-06-01.html
+++ b/ko/security/bulletin/pixel/2018-06-01.html
@@ -38,9 +38,9 @@
 업데이트됩니다. 모든 고객은 기기에서 이 업데이트를 수락하는 것이 좋습니다.
 </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 @@
   <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 @@
   <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 @@
     <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 @@
   <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 @@
   <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 @@
     <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 @@
   <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 @@
   <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 @@
   <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 @@
   <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 @@
   <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 @@
     <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 aab555a..7c1c105 100644
--- a/ko/security/bulletin/pixel/2018-10-01.html
+++ b/ko/security/bulletin/pixel/2018-10-01.html
@@ -183,7 +183,7 @@
 드라이버에 포함되어 있습니다.
 </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 0000000..f8ab56f
--- /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 91f0ebf..e153343 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 a84bf38..b373c4a 100644
--- a/ko/security/bulletin/pixel/index.html
+++ b/ko/security/bulletin/pixel/index.html
@@ -29,7 +29,7 @@
 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 @@
  </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 0724da9..d0afc3e 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 899b67f..89a2200 100644
--- a/ru/security/bulletin/2018-08-01.html
+++ b/ru/security/bulletin/2018-08-01.html
@@ -274,8 +274,7 @@
   <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 @@
 </tbody></table>
 
 <h3 id="qualcomm-components">Компоненты Qualcomm</h3>
-<p>Самая серьезная уязвимость</p>
+<p>Самая серьезная уязвимость позволяет злоумышленнику, не обладающему дополнительными правами на выполнение кода, удаленно раскрывать информацию.</p>
 
 <table>
   <colgroup><col width="21%" />
@@ -336,7 +335,7 @@
 </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 @@
 <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 @@
 </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 5ed7b18..febf453 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 @@
   </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 db2d464..8b0ac6e 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 0000000..cf7c563
--- /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 60b2c16..f8c3a77 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 0aac331..07225d1 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 c887433..c658221 100644
--- a/ru/security/bulletin/pixel/2018-01-01.html
+++ b/ru/security/bulletin/pixel/2018-01-01.html
@@ -725,7 +725,7 @@
   </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 af5888c..21a575e 100644
--- a/ru/security/bulletin/pixel/2018-02-01.html
+++ b/ru/security/bulletin/pixel/2018-02-01.html
@@ -536,7 +536,7 @@
   </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 9b14b13..bba3198 100644
--- a/ru/security/bulletin/pixel/2018-03-01.html
+++ b/ru/security/bulletin/pixel/2018-03-01.html
@@ -621,7 +621,7 @@
   </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 98ba589..e3a5835 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 @@
   </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 9f2dc2e..7d851af 100644
--- a/ru/security/bulletin/pixel/2018-05-01.html
+++ b/ru/security/bulletin/pixel/2018-05-01.html
@@ -537,7 +537,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-06-01.html b/ru/security/bulletin/pixel/2018-06-01.html
index b759617..67daedb 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 60d88ef..6dd0700 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 dc23432..149a5b0 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#2169715</a></td>
     <td>ПП</td>
     <td>Средний</td>
-    <td>Драйвер diag</td>
+    <td>Драйвер DIAG</td>
   </tr>
   <tr>
     <td>CVE-2018-5904</td>
@@ -486,7 +486,7 @@
 <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 @@
   </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 055a48e..4337ea6 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 bcbfa06..51145d6 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 0000000..7cfd192
--- /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 c4bf1c4..67792eb 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 cb4731b..4cb2e1a 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 0000000..bb4b20d
--- /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 b5c1a75..dc4e11e 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 0c56bb6..a339626 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 @@
 
 <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 @@
 <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 @@
 <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 ffcff01..9b70e4e 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 0a5876c..592728f 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 @@
 
 <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>
-
-<p><img src="/compatibility/cts/images/sensor_fusion_assembly_fixed_rail.png" width="350" alt="安装好的导轨"/><br />
-<strong>图 10.</strong> 安装在盒子顶部和底部的导轨</p></li>
 </ol>
 
-<h3 id="step_4_attach_lighting">第 4 步:固定灯具</h3>
+<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="450" alt="安装好的导轨"/><br />
+<strong>图 10.</strong> 安装在盒子顶部和底部的滑动板导轨</p></li>
+</ol>
+
+<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 791f6bc..98efb1d 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 2339eff..5afd525 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 @@
     <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 08e4695..9cbb72d 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 08f0799..0b28710 100644
--- a/zh-cn/compatibility/cts/verifier.html
+++ b/zh-cn/compatibility/cts/verifier.html
@@ -57,14 +57,14 @@
 <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 @@
 <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 @@
 <ul>
 <li>如果这两条线与目标图案上的垂直线是对齐的(误差控制在几个像素内),则针对选定分辨率报告的视野是准确的。
 </li>
-<li>如果没有对齐,则报告的视野将不准确。要进行更正,请调整屏幕底部的滑块,直到叠加层尽可能紧密地与目标图案对齐。当叠加层和目标图案图片对齐时,所显示的视野将近似于正确的值。报告的视野应在校准值的 +/- 1 度范围内。</li>
+<li>如果没有对齐,则意味着所报告的视野不准确。要进行更正,请调整屏幕底部的滑块,直到叠加显示的垂直线尽可能与目标图案对齐。当叠加显示的垂直线和目标图案图片对齐时,所显示的视野将近似于正确的值。报告的视野与校准值的误差应在 +/- 1 度范围内。</li>
 </ul>
 </li>
-<li>按后退按钮,并为 DUT 支持的所有图片分辨率重复运行校准测试。</li>
+<li>按后退按钮,以同样的方法校准测试 DUT 所支持的所有图片分辨率。</li>
 </ol>
 </li>
 </ol>
@@ -163,12 +163,12 @@
 <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 468d616..2a18f1d 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 5403ff4..830466e 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 0000000..0f63584
--- /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 d1b558b..06e46c1 100644
--- a/zh-cn/compatibility/vts/index.html
+++ b/zh-cn/compatibility/vts/index.html
@@ -42,7 +42,7 @@
     <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 0d03604..6ffab22 100644
--- a/zh-cn/compatibility/vts/performance.html
+++ b/zh-cn/compatibility/vts/performance.html
@@ -289,8 +289,7 @@
 
 </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 @@
 </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 fd36b92..7ada0ae 100644
--- a/zh-cn/compatibility/vts/shell-commands.html
+++ b/zh-cn/compatibility/vts/shell-commands.html
@@ -44,7 +44,7 @@
 <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 f397bdc..47693bd 100644
--- a/zh-cn/devices/architecture/hidl-java/index.html
+++ b/zh-cn/devices/architecture/hidl-java/index.html
@@ -59,6 +59,7 @@
 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 a48fc3c..518daf0 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 c7f248e..8b33252 100644
--- a/zh-cn/devices/bootloader/partitions-images.html
+++ b/zh-cn/devices/bootloader/partitions-images.html
@@ -26,8 +26,8 @@
 </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 @@
 </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 @@
 您可以在以下位置找到 <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 @@
 </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 f96f3e2..eb2d068 100644
--- a/zh-cn/devices/bootloader/unlock-trusty.html
+++ b/zh-cn/devices/bootloader/unlock-trusty.html
@@ -37,7 +37,7 @@
 </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 @@
 </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 6dc4714..65fb903 100644
--- a/zh-cn/devices/sensors/versioning.html
+++ b/zh-cn/devices/sensors/versioning.html
@@ -119,7 +119,7 @@
   </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 8226555..ef691bf 100644
--- a/zh-cn/devices/tech/admin/ota-updates.html
+++ b/zh-cn/devices/tech/admin/ota-updates.html
@@ -55,7 +55,7 @@
       </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 @@
       </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 b373bcc..f05b6e6 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 0319b0d..47496cc 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 89de033..5e6bf3b 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 @@
 </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 @@
   <col width="30%" />
   </colgroup><tbody><tr>
     <th>CVE</th>
-    <th>参考内容</th>
+    <th>参考编号</th>
     <th>类型</th>
     <th>严重程度</th>
     <th>已更新的 AOSP 版本</th>
@@ -83,7 +83,7 @@
 </tbody></table>
 
 <h3 id="media-framework">媒体框架</h3>
-<p>这一部分中最严重的漏洞可让远程攻击者利用蓄意创建的文件通过特权进程执行任意代码。</p>
+<p>这一部分中最严重的漏洞可让远程攻击者利用特制的文件通过特权进程执行任意代码。</p>
 
 <table>
   <colgroup><col width="21%" />
@@ -93,7 +93,7 @@
   <col width="30%" />
   </colgroup><tbody><tr>
     <th>CVE</th>
-    <th>参考内容</th>
+    <th>参考编号</th>
     <th>类型</th>
     <th>严重程度</th>
     <th>已更新的 AOSP 版本</th>
@@ -136,7 +136,7 @@
 </tbody></table>
 
 <h3 id="system">系统</h3>
-<p>这一部分中最严重的漏洞可让远程攻击者利用蓄意创建的文件通过特权进程执行任意代码。</p>
+<p>这一部分中最严重的漏洞可让远程攻击者利用特制的文件通过特权进程执行任意代码。</p>
 
 <table>
   <colgroup><col width="21%" />
@@ -146,7 +146,7 @@
   <col width="30%" />
   </colgroup><tbody><tr>
     <th>CVE</th>
-    <th>参考内容</th>
+    <th>参考编号</th>
     <th>类型</th>
     <th>严重程度</th>
     <th>已更新的 AOSP 版本</th>
@@ -183,7 +183,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 代码更改列表),我们会将 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 @@
   <col width="30%" />
   </colgroup><tbody><tr>
     <th>CVE</th>
-    <th>参考内容</th>
+    <th>参考编号</th>
     <th>类型</th>
     <th>严重程度</th>
     <th>组件</th>
@@ -236,7 +236,7 @@
 </tbody></table>
 
 <h3 id="qualcomm-components">Qualcomm 组件</h3>
-<p>这一部分中最严重的漏洞可让邻近区域内的攻击者利用蓄意创建的文件通过特权进程执行任意代码。</p>
+<p>这一部分中最严重的漏洞可让邻近区域内的攻击者利用特制的文件通过特权进程执行任意代码。</p>
 
 <table>
   <colgroup><col width="21%" />
@@ -246,7 +246,7 @@
   <col width="30%" />
   </colgroup><tbody><tr>
     <th>CVE</th>
-    <th>参考内容</th>
+    <th>参考编号</th>
     <th>类型</th>
     <th>严重程度</th>
     <th>组件</th>
@@ -302,7 +302,7 @@
   <col width="30%" />
   </colgroup><tbody><tr>
     <th>CVE</th>
-    <th>参考内容</th>
+    <th>参考编号</th>
     <th>类型</th>
     <th>严重程度</th>
     <th>组件</th>
@@ -471,7 +471,7 @@
 </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 @@
   </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 @@
   </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 9307b3c..39eec1b 100644
--- a/zh-cn/security/bulletin/2018-08-01.html
+++ b/zh-cn/security/bulletin/2018-08-01.html
@@ -70,7 +70,9 @@
   <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 @@
   <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 @@
   <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 @@
   <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 @@
   <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 @@
   </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 3d1e7cd..c6f5d74 100644
--- a/zh-cn/security/bulletin/2018-09-01.html
+++ b/zh-cn/security/bulletin/2018-09-01.html
@@ -754,7 +754,7 @@
 <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 323d6c6..0f97e60 100644
--- a/zh-cn/security/bulletin/2018-10-01.html
+++ b/zh-cn/security/bulletin/2018-10-01.html
@@ -67,7 +67,8 @@
   </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 @@
   </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 @@
   </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 0000000..c1b7bf5
--- /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 be126f0..9c252aa 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 298e7e3..1e56566 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 37fb9ff..96a8142 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 @@
   <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 @@
    <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 @@
    <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 @@
    <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 87703d9..1695d50 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 e99584f..1cdd45d 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 ee83ed1..c76f157 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 1d6273c..5b742fb 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 0000000..b1623f8
--- /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 795b45d..243614a 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 c3c1893..40717bd 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 53194cb..2622f3f 100644
--- a/zh-cn/security/encryption/file-based.html
+++ b/zh-cn/security/encryption/file-based.html
@@ -50,7 +50,7 @@
 这种区分能够使工作资料更加安全,因为这样一来,加密不再只基于启动密码,从而能够同时保护多位用户。
 </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 @@
   </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 @@
 </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 f4cab2c..d3d8786 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 c1acae5..40e5143 100644
--- a/zh-cn/security/selinux/concepts.html
+++ b/zh-cn/security/selinux/concepts.html
@@ -81,7 +81,7 @@
 </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 34c3692..eaf1f49 100644
--- a/zh-cn/security/selinux/validate.html
+++ b/zh-cn/security/selinux/validate.html
@@ -60,10 +60,10 @@
 <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 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 6d74547..3f3cda1 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 fa06052..6e72c8f 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 @@
 <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 448f264..a4b1be2 100644
--- a/zh-cn/setup/develop/repo.html
+++ b/zh-cn/setup/develop/repo.html
@@ -48,7 +48,7 @@
 <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 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 f3537f2..745c0d8 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 b3b7be0..12835d7 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 5c4b2e8..392363d 100644
--- a/zh-tw/security/bulletin/2018-07-01.html
+++ b/zh-tw/security/bulletin/2018-07-01.html
@@ -31,7 +31,7 @@
 在這些問題中,最嚴重的就是媒體架構中嚴重程度「最高」的安全性漏洞。遠端攻擊者可利用這類漏洞,在獲得授權的程序環境內透過特製檔案執行任何程式碼。<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 0000000..762f9e9
--- /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 1399635..4c0a5c7 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 99a4db7..fbf1f2e 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 0000000..ca88bb3
--- /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 88de75f..60e7340 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 6796594..5384dd0 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>