diff options
author | Android Partner Docs <noreply@android.com> | 2018-02-26 16:22:26 -0800 |
---|---|---|
committer | Clay Murphy <claym@google.com> | 2018-02-26 18:38:53 -0800 |
commit | 7a4e60bdebfa9c7ebf0a953770da06c29488d1ef (patch) | |
tree | 021e37ca44f1f03fc9b76d2c5f46866be1418139 /en | |
parent | d5e0ee3300d7176fb17595ce3e7c7d18703a9f31 (diff) | |
download | source.android.com-7a4e60bdebfa9c7ebf0a953770da06c29488d1ef.tar.gz |
Docs: Changes to source.android.com
- 187099260 Update wording around package level inheritance rules. by Android Partner Docs <noreply@android.com>
- 187049276 Devsite localized content from translation request d5454d... by Android Partner Docs <noreply@android.com>
- 187034078 Updated broken links to debian files by Christina Nguyen <cqn@google.com>
- 186828031 Document the current abort stack, where we've shaved off ... by Android Partner Docs <noreply@android.com>
- 186781359 Devsite localized content from translation request 38d16c... by Android Partner Docs <noreply@android.com>
- 186765463 Change update_engine log file location and add info about... by Christina Nguyen <cqn@google.com>
- 186680947 Add paragraph about building on Linux by Android Partner Docs <noreply@android.com>
- 186481923 Devsite localized content from translation request 70c39d... by Android Partner Docs <noreply@android.com>
- 186476322 Correct typo (Github > GitHub) by Danielle Roberts <daroberts@google.com>
PiperOrigin-RevId: 187099260
Change-Id: I9dc6de150efa78fc5c186249cee6121bedb25419
Diffstat (limited to 'en')
-rw-r--r-- | en/devices/architecture/hidl/versioning.html | 8 | ||||
-rw-r--r-- | en/devices/tech/debug/ftrace.html | 2 | ||||
-rw-r--r-- | en/devices/tech/debug/native-crash.html | 59 | ||||
-rw-r--r-- | en/devices/tech/ota/ab/index.html | 65 | ||||
-rw-r--r-- | en/setup/initializing.html | 8 | ||||
-rw-r--r-- | en/setup/requirements.html | 7 |
6 files changed, 81 insertions, 68 deletions
diff --git a/en/devices/architecture/hidl/versioning.html b/en/devices/architecture/hidl/versioning.html index fbfd60fa..13bce259 100644 --- a/en/devices/architecture/hidl/versioning.html +++ b/en/devices/architecture/hidl/versioning.html @@ -491,8 +491,8 @@ must be true:</p> <ol> <li>"Previous minor version is valid": <code>package@major.(minor-1)</code> must be defined and follow the same rule A (none of -<code>package@major.0</code> through <code>package@major.(major-2)</code> -are defined) or rule B (if it is an uprev from <code>@major.(major-2)</code>); +<code>package@major.0</code> through <code>package@major.(minor-2)</code> +are defined) or rule B (if it is an uprev from <code>@major.(minor-2)</code>); <br><br> AND <br><br> @@ -627,10 +627,8 @@ combination of interface-level inheritance and building of UDTs by composition. backwards-compatible inheritance rules are as follows:</p> <ol> -<li>All interfaces of the parent package are inherited from by interfaces in the +<li>All top-level interfaces of the parent package are inherited from by interfaces in the child package.</li> -<li>All data types of the parent package are present in the new package and can -be handled by the (possibly reimplemented) methods from the old package.</li> <li>New interfaces may also be added the new package (no restrictions about relationships to other interfaces in other packages).</li> <li>New data types may also be added for use by either new methods of uprev'ed diff --git a/en/devices/tech/debug/ftrace.html b/en/devices/tech/debug/ftrace.html index 2fbaba4b..c4f8bbcd 100644 --- a/en/devices/tech/debug/ftrace.html +++ b/en/devices/tech/debug/ftrace.html @@ -106,7 +106,7 @@ cat /d/tracing/trace > /data/local/tmp/trace_output <p>The trace_output gives the trace in text form. To visualize it using Catapult, get the <a href="https://github.com/catapult-project/catapult/tree/master/">Catapult -repository</a> from Github and run trace2html:</p> +repository</a> from GitHub and run trace2html:</p> <pre class="devsite-terminal devsite-click-to-copy"> catapult/tracing/bin/trace2html ~/path/to/trace_file diff --git a/en/devices/tech/debug/native-crash.html b/en/devices/tech/debug/native-crash.html index 00f72cd0..686af070 100644 --- a/en/devices/tech/debug/native-crash.html +++ b/en/devices/tech/debug/native-crash.html @@ -49,15 +49,40 @@ plus SIGABRT are the things to look for in the <code>debuggerd</code> output to recognize this case.</p> <p> -As mentioned above, there may be an explicit "abort message" line. But you +As mentioned above, there may be an explicit "abort message" line. You should also look in the <code>logcat</code> output to see what this thread logged before -deliberately killing itself, because the basic abort primitive doesn't accept a -message. +deliberately killing itself, because unlike assert(3) or high level fatal logging +facilities, abort(3) doesn't accept a message. </p> + +<p> +Current versions of Android inline the <code><a +href="http://man7.org/linux/man-pages/man2/tgkill.2.html">tgkill(2)</a></code> +system call, so their stacks are the easiest to read, with the call to abort(3) +at the very top: +</p> +<pre class="devsite-click-to-copy"> +pid: 4637, tid: 4637, name: crasher >>> crasher <<< +signal 6 (<i style="color:Orange">SIGABRT</i>), code -6 (SI_TKILL), fault addr -------- +<i style="color:Orange">Abort message</i>: 'some_file.c:123: some_function: assertion "false" failed' + r0 00000000 r1 0000121d r2 00000006 r3 00000008 + r4 0000121d r5 0000121d r6 ffb44a1c r7 0000010c + r8 00000000 r9 00000000 r10 00000000 r11 00000000 + ip ffb44c20 sp ffb44a08 lr eace2b0b pc eace2b16 +backtrace: + #00 pc 0001cb16 /system/lib/<i style="color:Orange">libc.so</i> (<i style="color:Orange">abort</i>+57) + #01 pc 0001cd8f /system/lib/libc.so (__assert2+22) + #02 pc 00001531 /system/bin/crasher (do_action+764) + #03 pc 00002301 /system/bin/crasher (main+68) + #04 pc 0008a809 /system/lib/libc.so (__libc_init+48) + #05 pc 00001097 /system/bin/crasher (_start_main+38) +</pre> + <p> -Older versions of Android (especially on 32-bit ARM) followed a convoluted path -between the original abort call (frame 4 here) and the actual sending of the -signal (frame 0 here): +Older versions of Android followed a convoluted path between the original abort call (frame 4 here) +and the actual sending of the signal (frame 0 here). This was especially true on 32-bit ARM, +which added <code>__libc_android_abort</code> (frame 3 here) to the other platforms' sequence of +<code>raise</code>/<code>pthread_kill</code>/<code>tgkill</code>: </p> <pre class="devsite-click-to-copy"> pid: 1656, tid: 1656, name: crasher >>> crasher <<< @@ -80,28 +105,6 @@ backtrace: #09 pc 00000abc /system/xbin/crasher </pre> <p> -More recent versions call <code><a -href="http://man7.org/linux/man-pages/man2/tgkill.2.html">tgkill(2)</a></code> -directly from <code>abort</code>, so there are fewer stack frames for you to -skip over before you get to the interesting frames:</p> - -<pre class="devsite-click-to-copy"> -pid: 25301, tid: 25301, name: crasher >>> crasher <<< -signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- - r0 00000000 r1 000062d5 r2 00000006 r3 00000008 - r4 ffa09dd8 r5 000062d5 r6 000062d5 r7 0000010c - r8 00000000 r9 00000000 sl 00000000 fp ffa09f0c - ip 00000000 sp ffa09dc8 lr eac63ce3 pc eac93f0c cpsr 000d0010 -backtrace: - #00 pc 00049f0c /system/lib/libc.so (tgkill+12) - #01 pc 00019cdf /system/lib/libc.so (abort+50) - #02 pc 000012db /system/xbin/crasher (maybe_abort+26) - #03 pc 000015b7 /system/xbin/crasher (do_action+414) - #04 pc 000020d5 /system/xbin/crasher (main+100) - #05 pc 000177a1 /system/lib/libc.so (__libc_init+48) - #06 pc 000010e4 /system/xbin/crasher (_start+96) -</pre> -<p> You can reproduce an instance of this type of crash using: <code>crasher abort</code> </p> diff --git a/en/devices/tech/ota/ab/index.html b/en/devices/tech/ota/ab/index.html index c1b70856..48a9fea5 100644 --- a/en/devices/tech/ota/ab/index.html +++ b/en/devices/tech/ota/ab/index.html @@ -245,31 +245,31 @@ <h4 id="update_engine_source">Update engine source</h4> - <p> - The <code>update_engine</code> source is located in - <code><a href="https://android.googlesource.com/platform/system/update_engine/" class="external">system/update_engine</a></code>. - The A/B OTA dexopt files are split between <code>installd</code> and - a package manager: - </p> + <p> + The <code>update_engine</code> source is located in + <code><a href="https://android.googlesource.com/platform/system/update_engine/" class="external">system/update_engine</a></code>. + The A/B OTA dexopt files are split between <code>installd</code> and + a package manager: + </p> - <ul> - <li> - <code><a href="https://android.googlesource.com/platform/frameworks/native/+/master/cmds/installd/" class="external-link">frameworks/native/cmds/installd/</a></code>ota* - includes the postinstall script, the binary for chroot, the - installd clone that calls dex2oat, the post-OTA move-artifacts - script, and the rc file for the move script. - </li> - <li> - <code><a href="https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/OtaDexoptService.java" class="external-link">frameworks/base/services/core/java/com/android/server/pm/OtaDexoptService.java</a></code> - (plus <code><a href="https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/OtaDexoptShellCommand.java" class="external-link">OtaDexoptShellCommand</a></code>) - is the package manager that prepares dex2oat commands for - applications. - </li> - </ul> + <ul> + <li> + <code><a href="https://android.googlesource.com/platform/frameworks/native/+/master/cmds/installd/" class="external-link">frameworks/native/cmds/installd/</a></code>ota* + includes the postinstall script, the binary for chroot, the + installd clone that calls dex2oat, the post-OTA move-artifacts + script, and the rc file for the move script. + </li> + <li> + <code><a href="https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/OtaDexoptService.java" class="external-link">frameworks/base/services/core/java/com/android/server/pm/OtaDexoptService.java</a></code> + (plus <code><a href="https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/OtaDexoptShellCommand.java" class="external-link">OtaDexoptShellCommand</a></code>) + is the package manager that prepares dex2oat commands for + applications. + </li> + </ul> - <p> - For a working example, refer to <code><a href="https://android.googlesource.com/device/google/marlin/+/nougat-dr1-release/device-common.mk" class="external-link">/device/google/marlin/device-common.mk</a></code>. - </p> + <p> + For a working example, refer to <code><a href="https://android.googlesource.com/device/google/marlin/+/nougat-dr1-release/device-common.mk" class="external-link">/device/google/marlin/device-common.mk</a></code>. + </p> <h4 id="update_engine_logs">Update engine logs</h4> @@ -282,24 +282,29 @@ <ul> <li><a - href="https://android-review.googlesource.com/c/platform/system/update_engine/+/486618"> + href="https://android-review.googlesource.com/c/platform/system/update_engine/+/486618"> Change 486618</a></li> <li><a - href="https://android-review.googlesource.com/c/platform/system/core/+/529080"> + href="https://android-review.googlesource.com/c/platform/system/core/+/529080"> Change 529080</a></li> <li><a - href="https://android-review.googlesource.com/c/platform/system/update_engine/+/529081"> + href="https://android-review.googlesource.com/c/platform/system/update_engine/+/529081"> Change 529081</a></li> <li><a - href="https://android-review.googlesource.com/c/platform/system/sepolicy/+/534660"> + href="https://android-review.googlesource.com/c/platform/system/sepolicy/+/534660"> Change 534660</a></li> + <li><a + href="https://android-review.googlesource.com/c/platform/system/update_engine/+/594637"> + Change 594637</a></li> </ul> <p>These changes save a copy of the most recent <code>update_engine</code> log to - <code>/data/misc/update_engine_log/update_engine.log</code>. Users - with the <strong>log</strong> group ID will be able to access the file - system logs. + <code>/data/misc/update_engine_log/update_engine.<var>YEAR</var>-<var>TIME</var></code>. + In addition to the current log, the five most recent logs are saved + under <code>/data/misc/update_engine_log/</code>. Users + with the <strong>log</strong> group ID will be able to access the + file system logs.</p> <h3 id="bootloader-interactions">Bootloader interactions</h3> diff --git a/en/setup/initializing.html b/en/setup/initializing.html index aa857f4d..518a1d98 100644 --- a/en/setup/initializing.html +++ b/en/setup/initializing.html @@ -81,16 +81,16 @@ found not to work on 14.04 using the instructions below.</em></p> <ol> <li> <p>Download the <code>.deb</code> packages for 64-bit architecture from -<a href="http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/">archive.ubuntu.com</a>:</p> +<a href="http://old-releases.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/">old-releases.ubuntu.com</a>:</p> <ul> <li><a -href="http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb">openjdk-8-jre-headless_8u45-b14-1_amd64.deb</a> +href="http://old-releases.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb">openjdk-8-jre-headless_8u45-b14-1_amd64.deb</a> with SHA256 <code>0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0</code></li> <li><a -href="http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb">openjdk-8-jre_8u45-b14-1_amd64.deb</a> +href="http://old-releases.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb">openjdk-8-jre_8u45-b14-1_amd64.deb</a> with SHA256 <code>9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849</code></li> <li><a -href="http://archive.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb">openjdk-8-jdk_8u45-b14-1_amd64.deb</a> +href="http://old-releases.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb">openjdk-8-jdk_8u45-b14-1_amd64.deb</a> with SHA256 <code>6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c</code></li> </ul> </li> diff --git a/en/setup/requirements.html b/en/setup/requirements.html index 69a60a27..e95cbb20 100644 --- a/en/setup/requirements.html +++ b/en/setup/requirements.html @@ -145,6 +145,13 @@ older versions of Android.</p> SDK</li> </ul> + <p><b>Note</b>: consider building on GNU/Linux, not another + operating system. The Android build system normally uses ART, + running on the build machine, to pre-compile system dex files. Since + ART is able to run only on Linux, the build system skips this + pre-compilation step on non-Linux operating systems, resulting in an + Android build with reduced performance.</p> + <h4 id=jdk>JDK</h4> <p>See <a href="initializing.html#installing-the-jdk">Installing the JDK</a> |