From cb2b2fcd6e35be6139157b1f401b2cc81b61679f Mon Sep 17 00:00:00 2001 From: Android Partner Docs Date: Fri, 23 Jun 2017 13:18:39 -0700 Subject: Docs: Changes to source.android.com - 159984637 Remove stale information from known issues page by daroberts - 159713438 Fixed spelling error in terminal command and removed extr... by cqn - 159634352 Fix name of SEEC driver by claym - 159628057 Remove unneeded closing tag by cqn - 159627213 Remove unneeded closing tags by cqn - 159627180 Fix minor tag nesting issue by cqn - 159627159 Fixed HTML tag nesting by cqn - 159626603 Add missing closing tags by cqn - 159626543 Remove unneeded tag by cqn - 159626515 Fix tag nesting by cqn - 159626453 Changed tag nesting issues by cqn - 159626442 Add missing tag by cqn - 159625955 Added missing paragraph tags by cqn - 159625722 Fixed header closing tag by cqn - 159625168 Delete unneeded code tag by cqn - 159624516 Add note explaining dollar sign in sample commands by claym - 159615772 Delete unneeded tags by cqn - 159615658 Added missing closing tag by cqn - 159612512 Removed a couple unneeded

tags by cqn - 159612476 Add missing

tag by cqn PiperOrigin-RevId: 159984637 Change-Id: Ib9f6f4905c548fc113dc0724e3e776ad8685a628 --- en/devices/camera/camera3_requests_methods.html | 2 +- en/devices/graphics/implement-vulkan.html | 6 +- en/devices/graphics/run-tests.html | 2 +- en/devices/input/diagnostics.html | 6 +- en/devices/input/getevent.html | 2 +- en/devices/storage/config.html | 8 +- en/devices/tech/admin/provision.html | 2 +- en/devices/tech/admin/testing-provision.html | 15 +- en/devices/tech/connect/emergency-affordance.html | 2 +- en/devices/tech/dalvik/dex-format.html | 5 +- en/devices/tech/debug/asan.html | 4 +- en/devices/tech/debug/native-crash.html | 11 +- en/devices/tech/display/hdr.html | 19 ++- en/devices/tech/ota/sign_builds.html | 4 +- .../tech/test_infra/tradefed/full_example.html | 12 +- en/devices/tv/hdmi-cec.html | 1 - en/devices/tv/reference-tv-app.html | 6 +- en/security/bulletin/2017-06-01.html | 2 +- en/source/initializing.html | 7 +- en/source/known-issues.html | 158 ++------------------- 20 files changed, 68 insertions(+), 206 deletions(-) diff --git a/en/devices/camera/camera3_requests_methods.html b/en/devices/camera/camera3_requests_methods.html index 55c0db6b..edd4dfe5 100644 --- a/en/devices/camera/camera3_requests_methods.html +++ b/en/devices/camera/camera3_requests_methods.html @@ -57,7 +57,7 @@ returned by the HAL through the process_capture_result() call. This it needs to retain for the capture processing. The HAL is responsible for waiting on and closing the buffers' fences and returning the buffer handles to the framework.

- The HAL must write the file descriptor for the input buffer's release sync fence +

The HAL must write the file descriptor for the input buffer's release sync fence into input_buffer->release_fence, if input_buffer is not NULL. If the HAL returns -1 for the input buffer release sync fence, the framework is free to immediately reuse the input buffer. Otherwise, the framework will wait on the diff --git a/en/devices/graphics/implement-vulkan.html b/en/devices/graphics/implement-vulkan.html index 918343e1..b2a5c283 100644 --- a/en/devices/graphics/implement-vulkan.html +++ b/en/devices/graphics/implement-vulkan.html @@ -80,12 +80,10 @@ image is built. The loader uses the existing HAL mechanism (see /vendor/lib/hw/vulkan.<ro.product.platform>.so /vendor/lib64/hw/vulkan.<ro.product.platform>.so -

Where <ro.product.platform> is replaced by the value of the system property of that name. For details and supported alternative @@ -175,7 +173,6 @@ implementation-defined private gralloc usage flags. When creating a swapchain, the platform asks the driver to translate the requested format and image usage flags into gralloc usage flags by calling:

-

 VkResult VKAPI vkGetSwapchainGrallocUsageANDROID(
     VkDevice            device,
@@ -184,7 +181,6 @@ VkResult VKAPI vkGetSwapchainGrallocUsageANDROID(
     int*                grallocUsage
 );
 
-

The format and imageUsage parameters are taken from the VkSwapchainCreateInfoKHR structure. The driver should fill @@ -234,7 +230,7 @@ the following data:

.sharingMode = VkSwapChainCreateInfoWSI::sharingMode .queueFamilyCount = VkSwapChainCreateInfoWSI::queueFamilyCount .pQueueFamilyIndices = VkSwapChainCreateInfoWSI::pQueueFamilyIndices -

+

Aquiring images

vkAcquireImageANDROID acquires ownership of a swapchain image diff --git a/en/devices/graphics/run-tests.html b/en/devices/graphics/run-tests.html index b0d043b2..124d7eb7 100644 --- a/en/devices/graphics/run-tests.html +++ b/en/devices/graphics/run-tests.html @@ -65,7 +65,7 @@ application package.

GLES3 Module - build/modules/gles3/deqp-gles3 + build/modules/gles3/deqp-gles3 <dst>/deqp-gles3 diff --git a/en/devices/input/diagnostics.html b/en/devices/input/diagnostics.html index 92780018..160ceaed 100644 --- a/en/devices/input/diagnostics.html +++ b/en/devices/input/diagnostics.html @@ -300,7 +300,7 @@ have a mouse but its HID descriptor says it does.)

ButtonState: 0x00000000 Down: false DownTime: 0 -
+

Here is a joystick. Notice how all of the axes have been scaled to a normalized range. The axis mapping can be configured using key layout files.

@@ -344,7 +344,7 @@ Device 18: Logitech Logitech Cordless RumblePad 2
         HAT_Y: min=-1.00000, max=1.00000, flat=0.00000, fuzz=0.00000
           scale=1.00000, offset=0.00000, highScale=1.00000, highOffset=0.00000
           rawAxis=17, rawMin=-1, rawMax=1, rawFlat=0, rawFuzz=0, rawResolution=0
-
+

At the end of the input reader dump there is some information about global configuration parameters such as the mouse pointer speed.

@@ -366,7 +366,7 @@ parameters such as the mouse pointer speed.

SwipeMaxWidthRatio: 0.2 MovementSpeedRatio: 0.8 ZoomSpeedRatio: 0.3 -
+

Things To Look For

  1. diff --git a/en/devices/input/getevent.html b/en/devices/input/getevent.html index 69746bcd..3223d8ef 100644 --- a/en/devices/input/getevent.html +++ b/en/devices/input/getevent.html @@ -93,7 +93,7 @@ adb shell su -- getevent -lp /dev/input/event1 ABS_MT_PRESSURE : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0 input props: INPUT_PROP_DIRECT - +

    Showing live events

    The following example shows a two-finger multi-touch gesture for a touchscreen using the Linux multi-touch input protocol "B". The -l diff --git a/en/devices/storage/config.html b/en/devices/storage/config.html index 91442b2f..272566f7 100644 --- a/en/devices/storage/config.html +++ b/en/devices/storage/config.html @@ -69,13 +69,13 @@ Other possible flags are nonremovable,

    Configuration details

    External storage interactions at and above the framework level are handled -through MountService. -Due to configuration changes in Android 6.0 (like the +through MountService. Due to configuration changes in Android 6.0 (like the removal of the storage_list.xml resource overlay), the configuration details -are split into two categories. +are split into two categories.

    Android 5.x and earlier

    -The device-specific storage_list.xml configuration + +

    The device-specific storage_list.xml configuration file, typically provided through a frameworks/base overlay, defines the attributes and constraints of storage devices. The <StorageList> element contains one or more <storage> elements, exactly one of which should be marked diff --git a/en/devices/tech/admin/provision.html b/en/devices/tech/admin/provision.html index e1acd3e7..47177daa 100644 --- a/en/devices/tech/admin/provision.html +++ b/en/devices/tech/admin/provision.html @@ -137,7 +137,7 @@ mimetype from the setup experience:

    <item>application/com.android.managedprovisioning</item> -

    Provisioning via Cloud Services

    +

    Provisioning via Cloud Services

    Device owner provisioning via cloud services is another method through which a device can be provisioned in device owner mode during out-of-the-box setup. The device can collect credentials (or tokens) and use them to perform a lookup diff --git a/en/devices/tech/admin/testing-provision.html b/en/devices/tech/admin/testing-provision.html index a8a219d2..af303a01 100644 --- a/en/devices/tech/admin/testing-provision.html +++ b/en/devices/tech/admin/testing-provision.html @@ -64,8 +64,8 @@ the corresponding tag. Available branches include:

    - + @@ -171,9 +171,9 @@ packages from the AfwTestHarness/tests test package directory. Common plans include:
      -
    • afw-userdebug-build. Contains all test +
    • afw-userdebug-build. Contains all test packages that require a userdebug build.
    • -
    • afw-user-build. Runs on a user build but +
    • afw-user-build. Runs on a user build but requires the test device to be set up properly, including completing the initial setup and enabling USB debugging.
    @@ -288,8 +288,6 @@ as: as: screenshot-random_number.png. This information is also logged in the host log. - -

    FAQ

    For help with questions not answered below, contact @@ -309,7 +307,8 @@ with userdebug build?

    Yes, but we recommend that you run this test plan on a user build.

    Sometimes my test fails because UI loading takes too much time. How -can I fix this?

    Configure the timeout_size setting +can I fix this?

    +

    Configure the timeout_size setting in ./android-cts/repository/testcases/afw-test.props. Valid settings are: S, M, L, XL, XXL.

    @@ -330,7 +329,7 @@ your_btn.text=your_customized_text your_btn.package=your_package your_btn.action=click -

    To define multiple widgets, separate using commas.

    +

    To define multiple widgets, separate using commas.

    The test package com.android.afwtest.NfcProvisioning (or diff --git a/en/devices/tech/connect/emergency-affordance.html b/en/devices/tech/connect/emergency-affordance.html index bbaccacf..eee981b7 100644 --- a/en/devices/tech/connect/emergency-affordance.html +++ b/en/devices/tech/connect/emergency-affordance.html @@ -217,7 +217,7 @@ connected when the lock screen is active. The emergency dialer only connects calls to the list of numbers provided by the Radio Interface Layer (RIL), through the system property 'ril.ecclist', when no SIM is installed and 'ril.ecclist<SimSlotNumber>' when a SIM is inserted -and <SimSlotNumber> is the slot ID of the default +and <SimSlotNumber> is the slot ID of the default subscriber.
    Device manufacturers using the emergency affordance feature must ensure that devices in India always enable 112 as an emergency number in the RIL.

    diff --git a/en/devices/tech/dalvik/dex-format.html b/en/devices/tech/dalvik/dex-format.html index fde14a8b..38547c97 100644 --- a/en/devices/tech/dalvik/dex-format.html +++ b/en/devices/tech/dalvik/dex-format.html @@ -350,7 +350,7 @@ uint NO_INDEX = 0xffffffff; // == -1 if treated as a signed int

    access_flags definitions

    -

    embedded in class_def_item, encoded_field, encoded_method, and +

    embedded in class_def_item, encoded_field, encoded_method, and InnerClass

    Bitfields of these flags are used to indicate the accessibility and @@ -1324,7 +1324,6 @@ may appear in a .dex file. 0 if field_ids_size == 0. The offset, if non-zero, should be to the start of the field_ids section. -

    @@ -2878,7 +2877,7 @@ address += (adjusted_opcode / DBG_LINE_RANGE)
    Branch Name -Supported Android Platform +Branch NameSupported Android Platform
    afw-test-harness-nougat-dev
    method_ids_size

    annotation_set_item

    -

    referenced from annotations_directory_item, field_annotations_item, +

    referenced from annotations_directory_item, field_annotations_item, method_annotations_item, and annotation_set_ref_item

    appears in the data section

    alignment: 4 bytes

    diff --git a/en/devices/tech/debug/asan.html b/en/devices/tech/debug/asan.html index 353aa4bd..1c12ad62 100644 --- a/en/devices/tech/debug/asan.html +++ b/en/devices/tech/debug/asan.html @@ -74,7 +74,7 @@ output and to logcat and then crashes the process.

    Due to the way ASan works, a library built with ASan cannot be used by an executable that's built without ASan.

    -

    Note: In runtime situations where an ASan library is +

    Note: In runtime situations where an ASan library is loaded into an incorrect process, you will see unresolved symbol messages starting with _asan or _sanitizer.

    @@ -155,7 +155,7 @@ the availability of symbolized libraries on the host.

    AddressSanitizer cannot see into Java code, but it can detect bugs in the JNI libraries. For that, you'll need to build the executable with ASan, which in -this case is /system/bin/app_process(32|64). This will +this case is /system/bin/app_process(32|64). This will enable ASan in all apps on the device at the same time, which is a bit stressful, but nothing that a 2GB RAM device cannot handle.

    diff --git a/en/devices/tech/debug/native-crash.html b/en/devices/tech/debug/native-crash.html index c1658cc5..00f72cd0 100644 --- a/en/devices/tech/debug/native-crash.html +++ b/en/devices/tech/debug/native-crash.html @@ -46,7 +46,7 @@ using one of the Android-specific fatal logging types), but they all involve calling abort. A call to abort basically signals the calling thread with SIGABRT, so a frame showing "abort" in libc.so plus SIGABRT are the things to look for in the debuggerd output to -recognize this case. +recognize this case.

    As mentioned above, there may be an explicit "abort message" line. But you @@ -83,7 +83,7 @@ backtrace: More recent versions call tgkill(2) directly from abort, so there are fewer stack frames for you to -skip over before you get to the interesting frames: +skip over before you get to the interesting frames:

     pid: 25301, tid: 25301, name: crasher  >>> crasher <<<
    @@ -155,6 +155,7 @@ href="http://man7.org/linux/man-pages/man3/fopen.3.html">fopen(3) or
     opendir(3)
     call actually succeeded first.
    +

    Here's an example of readdir: @@ -192,7 +193,7 @@ offset sizeof(int) + sizeof(size_t) + sizeof(dirent*) into struct DIR, which on a 32-bit device is 4 + 4 + 4 = 12 = 0xc, so you found the bug: readdir was passed a null pointer by the caller. At this point you can paste the stack into the stack tool to find out -where in logcat this happened. +where in logcat this happened.

       struct DIR {
    @@ -396,7 +397,7 @@ ip 00000006 sp ff96ad18 lr f700ced5 pc f700dc98 cpsr 400b0010
     
     

    The register dump shows the content of the CPU registers at the time the signal was received. (This section varies wildly between ABIs.) How useful -these are will depend on the exact crash.

    +these are will depend on the exact crash.

     backtrace:
    @@ -464,7 +465,7 @@ that can be recognized by looking at the maps include:

    will show the BuildId (if present) in Android M and later, so you can see exactly which version of your code crashed. (Platform binaries include a BuildId by default since Android M. NDK r12 and later automatically pass --Wl,--build-id to the linker too.)

    +-Wl,--build-id to the linker too.)

     ab163000-ab163fff r--      3000      1000  /system/xbin/crasher
    diff --git a/en/devices/tech/display/hdr.html b/en/devices/tech/display/hdr.html
    index f85ff1da..53e4ae8f 100644
    --- a/en/devices/tech/display/hdr.html
    +++ b/en/devices/tech/display/hdr.html
    @@ -167,9 +167,9 @@ array if HDR is not supported by the display.
  2. Decoder

    -

    Applications shall use the existing +

    Applications shall use the existing -CodecCapabilities.profileLevels API to verify support for the +CodecCapabilities.profileLevels API to verify support for the new HDR capable profiles:

    Dolby-Vision

    @@ -385,10 +385,12 @@ that matches the display's color volume.
  3. Determine the color, mastering, and potential dynamic metadata for the blended scene.
  4. Convert the resulting blended scene to the derived color -space/volume.
+space/volume. + +
  • If displaying directly to the display, convert the resulting blended scene to the required display signals to produce that scene. -
  • +

    Display discovery

    @@ -407,16 +409,19 @@ its HDR capability through HDMI EDID as defined in CTA-861.3 section 4.2. -
  • The following EOTF mapping shall be used:
      +
    • The following EOTF mapping shall be used: +
      • ET_0 Traditional gamma - SDR Luminance Range: not mapped to any HDR type
      • ET_1 Traditional gamma - HDR Luminance Range: not mapped to any HDR type
      • -
      • ET_2 SMPTE ST 2084 - mapped to HDR type HDR10
    • +
    • ET_2 SMPTE ST 2084 - mapped to HDR type HDR10
    • +
    +
  • The signaling of Dolby Vision or HLG support over HDMI is done as defined by their relevant bodies.
  • Note that the HWC2 API uses float desired luminance values, so the 8-bit -EDID values must be translated in a suitable fashion.
  • +EDID values must be translated in a suitable fashion.

    Decoders

    diff --git a/en/devices/tech/ota/sign_builds.html b/en/devices/tech/ota/sign_builds.html index fbc0d718..06106755 100644 --- a/en/devices/tech/ota/sign_builds.html +++ b/en/devices/tech/ota/sign_builds.html @@ -33,9 +33,9 @@ holds true both for updating user apps by overwriting the .apk, and for overriding a system app with a newer version installed under /data.
  • If two or more applications want to share a user ID (so they can share -data, etc.), they must be signed with the same key.
  • +data, etc.), they must be signed with the same key.
  • OTA update packages must be signed with one of the keys expected by the -system or the installation process will reject them.
  • +system or the installation process will reject them.

    Release keys

    diff --git a/en/devices/tech/test_infra/tradefed/full_example.html b/en/devices/tech/test_infra/tradefed/full_example.html index f2bbb704..32b6b28f 100644 --- a/en/devices/tech/test_infra/tradefed/full_example.html +++ b/en/devices/tech/test_infra/tradefed/full_example.html @@ -151,7 +151,7 @@ example/helloworld: Runs the hello world test tf> run example/helloworld 05-12 13:21:21 I/TestInvocation: Starting invocation for target stub on build 0 on device 004ad9880810a548 Hello, TF World! - +

    Interacting with a device (D, R)

    So far, our HelloWorldTest isn't doing anything interesting. Tradefed's @@ -294,7 +294,7 @@ Hello, TF World! I have device 004ad9880810a548 05-16 21:07:07 I/XmlResultReporter: Saved device_logcat log to /tmp/0/inv_2991649128735283633/device_logcat_6999997036887173857.txt 05-16 21:07:07 I/XmlResultReporter: Saved host_log log to /tmp/0/inv_2991649128735283633/host_log_6307746032218561704.txt 05-16 21:07:07 I/XmlResultReporter: XML test result file generated at /tmp/0/inv_2991649128735283633/test_result_536358148261684076.xml. Total tests 1, Failed 1, Error 0 - +

    Notice the log message stating that an XML file has been generated; the generated file should look like this:

    @@ -365,7 +365,7 @@ full class name of FileLogger:

    <result_reporter class="com.android.tradefed.result.XmlResultReporter" /> <logger class="com.android.tradefed.log.FileLogger" /> </configuration> - +

    Now, rebuild and run the helloworld example again:

    @@ -374,7 +374,7 @@ tf >run example/helloworld
     05-16 21:38:21 I/XmlResultReporter: Saved device_logcat log to /tmp/0/inv_6390011618174565918/device_logcat_1302097394309452308.txt
     05-16 21:38:21 I/XmlResultReporter: Saved host_log log to /tmp/0/inv_6390011618174565918/host_log_4255420317120216614.txt
     …
    -
    +

    The log message indicates the path of the host log, which, when viewed, should contain your HelloWorldTest log message:

    @@ -453,7 +453,7 @@ Printing help for only the important options. To see help for all options, use t
     
       'file' logger options:
         --log-level-display  the minimum log level to display on stdout. Must be one of verbose, debug, info, warn, error, assert. Default: error.
    -
    +

    Note the message about "printing only the important options." To reduce option help clutter, TF uses the Option#importance attribute to @@ -500,7 +500,7 @@ stdout, in addition to being logged to a file:

    tf> run example/helloworld --log-level-display info … 05-24 18:53:50 I/HelloWorldTest: Hello, TF World! I have device 004ad9880810a548 - +

    That's all, folks!

    As a reminder, if you're stuck on something, the diff --git a/en/devices/tv/hdmi-cec.html b/en/devices/tv/hdmi-cec.html index 6510901d..6532bf76 100644 --- a/en/devices/tv/hdmi-cec.html +++ b/en/devices/tv/hdmi-cec.html @@ -115,7 +115,6 @@ PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=4

     PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=0
    -

      diff --git a/en/devices/tv/reference-tv-app.html b/en/devices/tv/reference-tv-app.html index db4b1763..7a35de56 100644 --- a/en/devices/tv/reference-tv-app.html +++ b/en/devices/tv/reference-tv-app.html @@ -98,7 +98,7 @@ different one listed in the table above.

       . build/envsetup.sh
      -apas LiveTv x86
      +tapas LiveTv x86
       make LiveTv
       
      @@ -151,7 +151,7 @@ adb shell am instrument \

      Functional Tests

      -$ adb shell logcat -c
      +adb shell logcat -c
       m LiveTv TVTestInput TVFuncTests -j20 &&\
       adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\
       adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \
      @@ -173,7 +173,7 @@ adb shell am instrument \
       

      The Jank tests look for dropped frames and delays in rendering.

      -$ adb shell logcat -c
      +adb shell logcat -c
       m LiveTv TVTestInput TVJankTests -j20 &&\
       adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\
       adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk &&\
      diff --git a/en/security/bulletin/2017-06-01.html b/en/security/bulletin/2017-06-01.html
      index 02a2578a..27b60035 100644
      --- a/en/security/bulletin/2017-06-01.html
      +++ b/en/security/bulletin/2017-06-01.html
      @@ -645,7 +645,7 @@ href="https://source.codeaurora.org/quic/la/kernel/msm-3.18/commit/?id=7c4d5736d
          QC-CR#2009231
          EoP
          Moderate
      -   Secure execution environment communication driver
      +   Secure Execution Environment Communicator driver
         
         
          CVE-2017-8239
      diff --git a/en/source/initializing.html b/en/source/initializing.html
      index 7e87f5e1..e2236185 100644
      --- a/en/source/initializing.html
      +++ b/en/source/initializing.html
      @@ -21,13 +21,16 @@
             limitations under the License.
         -->
       
      -
      -
       

      This section describes how to set up your local work environment to build the Android source files. You will need to use Linux or Mac OS. Building under Windows is not currently supported.

      For an overview of the entire code-review and code-update process, see Life of a Patch.

      +

      Note: All commands in this site are preceded +by a dollar sign ($) to differentiate them from output or entries within files. +You may use the Click to copy feature at the top right of each command +box to copy all lines without the dollar signs or triple-click each line to +copy it individually without the dollar sign.

      Choosing a Branch

      Some of the requirements for your build environment are determined by which version of the source code you plan to compile. See diff --git a/en/source/known-issues.html b/en/source/known-issues.html index 90c95f8d..e72de555 100644 --- a/en/source/known-issues.html +++ b/en/source/known-issues.html @@ -1,6 +1,6 @@ - Known Issues + Source Sync Issues @@ -21,132 +21,11 @@ limitations under the License. --> +

      Even with our best care, small problems sometimes slip in. This page details + some known issues you may encounter while trying to sync the Android source code. - -

      Even with our best care, small problems sometimes slip in. This page keeps -track of the known issues around using the Android source code.

      - -

      Build issues

      - -

      Missing CellBroadcastReceiver in toro builds

      -

      Symptom

      On AOSP builds for toro (up to Jelly Bean 4.2.1), -CellBroadcastReceiver doesn't get included in the system.

      - -

      Cause:

      There's a typo in vendor/samsung/toro/device-partial.mk, -where PRODUCT_PACKAGES has the K replaced by an H. -

      Fix: Use the latest packages for 4.2.2, or manually fix the typo.

      - -

      Missing CTS Native XML Generator

      -

      Symptom: On some builds of IceCreamSandwich and later, the following -warning is printed early during the build: -/bin/bash: line 0: cd: cts/tools/cts-native-xml-generator/src/res: No -such file or directory

      -

      Cause: Some makefile references that path, which doesn't exist.

      -

      Fix: None. This is a harmless warning.

      - -

      Black Gingerbread Emulator

      -

      Symptom: The emulator built directly from the gingerbread branch -doesn't start and stays stuck on a black screen.

      -

      Cause: The gingerbread branch uses version R7 of the emulator, -which doesn't have all the features necessary to run recent versions -of gingerbread.

      -

      Fix: Use version R12 of the emulator, and a newer kernel that matches -those tools. No need to do a clean build.

      -
      -repo forall platform/external/qemu -c git checkout aosp/tools_r12
      -make
      -emulator -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7
      -
      - -

      Emulator built on MacOS 10.7 Lion doesn't work.

      -

      Symptom: The emulator (any version) built on MacOS 10.7 Lion -and/or on XCode 4.x doesn't start.

      -

      Cause: Some change in the development environment causes -the emulator to be compiled in a way that prevents it from working.

      -

      Fix: Use an emulator binary from the SDK, which is built on -MacOS 10.6 with XCode 3 and works on MacOS 10.7.

      - -

      WITH_DEXPREOPT=true and emulator builds.

      -

      Symptom: When conducting partial builds or syncs (make system no dependencies) -on emulator builds, the resulting build doesn't work.

      -

      Cause: All emulator builds now run Dex optimization at build -time by default, which requires to follow all dependencies to -re-optimize the applications each time the framework changes.

      -

      Fix: Locally disable Dex optimizations by entering the following command:

      -
      export WITH_DEXPREOPT=false
      -

      Delete the existing optimized version by entering the following command:

      -
      make installclean
      -

      Run a full build to re-generate non-optimized versions. After that, partial builds will work.

      - -

      "Permission Denied" during builds.

      -

      Symptom: All builds fail with "Permission Denied", possibly -along with anti-virus warnings.

      -

      Cause: Some anti-virus programs mistakenly recognize some -source files in the Android source tree as if they contained -viruses.

      -

      Fix: After verifying that there are no actual viruses -involved, disable anti-virus on the Android tree. This has -the added benefit of reducing build times.

      - - -

      Symptom: The build fails with various symptoms. One -such symptom is cc1: error: unrecognized command line option "-m32"

      -

      Cause: The Android build system uses the default compiler -in the PATH, assuming it's a suitable compiler to generate -binaries that run on the host. Other situations (e.g. using -the Android NDK or building the kernel) cause the default -compiler to not be a host compiler.

      -

      Fix: Use a "clean" shell, in which no previous -actions could have swapped the default compiler.

      - -

      Build errors caused by non-default tool settings.

      -

      Symptom: The build fails with various symptoms, possibly -complaining about missing files or files that have the -wrong format. One such symptom is member [...] in archive is not an object.

      -

      Cause: The Android build system tends to use many host tools -and to rely on their default behaviors. Some settings change -those tools' behaviors and make them behave in ways that -confuse the build system. Variables known to cause such -issues are CDPATH and GREP_OPTIONS.

      -

      Fix: Build Android in an environment that has as few -customizations as possible.

      - -

      Build error with 4.0.x and earlier on MacOS 10.7.

      -

      Symptom: Building IceCreamSandwich 4.0.x (and older -versions) fails on MacOS 10.7 with errors similar to this: -Undefined symbols for architecture i386: "_SDL_Init"

      -

      Cause: 4.0.x is not compatible with MacOS 10.7.

      -

      Fix: Either downgrade to MacOS 10.6, or use the master -branch, which can be built on MacOS 10.7.

      -
      -repo init -b master
      -repo sync
      -
      - -

      Build error on MacOS with XCode 4.3.

      -

      Symptom: All builds fail when using XCode 4.3.

      -

      Cause: XCode 4.3 switched the default compiler from -gcc to llvm, and llvm rejects code that used to be -accepted by gcc.

      -

      Fix: Use XCode 4.2.

      - -

      Build error with 4.0.x and earlier on Ubuntu 11.10.

      -

      Symptom: Building IceCreamSandwich 4.0.x (and older -versions) on Ubuntu 11.10 and newer fails with errors similar to this: -<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by default]

      -

      Cause: Ubuntu 11.10 uses a version of gcc where that symbol -is defined by default, and Android also defines that symbol, -which causes a conflict.

      -

      Fix: Either downgrade to Ubuntu 10.04, or use the master -branch, which can be compiled on Ubuntu 11.10 and newer.

      -
      -repo init -b master
      -repo sync
      -
      - -

      Source sync issues

      - -

      Difficulties syncing the source code (proxy issues).

      +

      +Difficulties syncing the source code (proxy issues)

      Symptom: repo init or repo sync fail with http errors, typically 403 or 500.

      Cause: There are quite a few possible causes, most often @@ -156,18 +35,8 @@ large amounts of data getting transferred.

      and explicitly using repo sync -j1 have been reported to improve the situation for some users.

      -

      Difficulties syncing the source tree (VirtualBox Ethernet issues).

      -

      Symptom: When running repo sync in some VirtualBox installations, -the process hangs or fails with a variety of possible symptoms. -One such symptom is -DownloadError: HTTP 500 (Internal Server Error: Server got itself in trouble).

      -

      Cause: The default network behavior of VirtualBox is to use -NAT (Network Address Translation) to connect the guest system to -the network. The heavy network activity of repo sync triggers some -corner cases in the NAT code.

      -

      Fix: Configure VirtualBox to use bridged network instead of NAT.

      - -

      Difficulties syncing the source tree (DNS issues).

      +

      +Difficulties syncing the source tree (DNS issues)

      Symptom: When running repo sync, the process fails with various errors related to not recognizing the hostname. One such error is <urlopen error [Errno -2] Name or service not known>.

      @@ -193,7 +62,8 @@ eee.fff.ggg.hhh android.googlesource.com don't change, and if they do and you can't connect you'll have to resolve those hostnames again and edit etc/hosts accordingly.

      -

      Difficulties syncing the source tree (TCP issues).

      +

      +Difficulties syncing the source tree (TCP issues)

      Symptom: repo sync hangs while syncing, often when it's completed 99% of the sync.

      Cause: Some settings in the TCP/IP stack cause difficulties @@ -204,15 +74,5 @@ nor fails.

      On MacOS, disable the rfc1323 extension in the network settings.

      -

      Runtime issues

      -

      Camera and GPS don't work on Galaxy Nexus.

      -

      Symptom: Camera and GPS don't work on Galaxy Nexus. -As an example, the Camera application crashes as soon as it's -launched.

      -

      Cause: Those hardware peripherals require proprietary -libraries that aren't available in the Android Open Source -Project.

      -

      Fix: None.

      - -- cgit v1.2.3