From 120213e1018e0669f1d32ecf5e00b94f1cff459d Mon Sep 17 00:00:00 2001
From: Clay Murphy Even with our best care, small problems sometimes slip in. This page keeps
track of the known issues around using the Android source code. SymptomMissing CellBroadcastReceiver in toro builds
+Build issues
+
+Missing CellBroadcastReceiver in toro builds
PRODUCT_PACKAGES
has the K replaced by an H.
Fix: Use the latest packages for 4.2.2, or manually fix the typo.
-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.
-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, @@ -54,65 +56,16 @@ those tools. No need to do a clean build.
$ make $ emulator -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7 -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.
-Symptom: repo init
or repo sync
fail with http errors,
-typically 403 or 500.
Cause: There are quite a few possible causes, most often -related to http proxies, which have difficulties handling the -large amounts of data getting transfered.
-Fix: While there's no general solution, using python 2.7
-and explicitly using repo sync -j1
have been reported to
-improve the situation for some users.
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 Addrss 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.
-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>
.
Cause: Some DNS systems have a hard time coping with the -high number of queries involved in syncing the source tree -(there can be several hundred requests in a worst-case scenario).
-Fix: Manually resolve the relevant hostnames, and hard-code -those results locally.
-You can resolve them with the nslookup
command, which will give
-you one numerical IP address for each of those (typically in the
-"Address" part of the output).
$ nslookup googlesource.com
-$ nslookup android.googlesource.com
-
-You can then hard-code them locally by editing /etc/hosts
, and
-adding two lines in that file, of the form:
aaa.bbb.ccc.ddd googlesource.com
-eee.fff.ggg.hhh android.googlesource.com
-
-Note that this will only work as long as the servers' addresses
-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.
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
-in some network environments, such that repo sync
neither completes
-nor fails.
Fix: On linux, sysctl -w net.ipv4.tcp_window_scaling=0
. On
-MacOS, disable the rfc1323 extension in the network settings.
make snod
and emulator builds.Symptom: When using make snod
(make system no dependencies)
+
+
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 @@ -120,9 +73,9 @@ re-optimize the applications each time the framework changes.
Fix: Locally disable Dex optimizations with
export WITH_DEXPREOPT=false
, delete the existing optimized
versions with make installclean
and run a full build to
-re-generate non-optimized versions. After that, make snod
+re-generate non-optimized versions. After that, partial builds
will work.
Symptom: All builds fail with "Permission Denied", possibly along with anti-virus warnings.
Cause: Some anti-virus programs mistakenly recognize some @@ -131,15 +84,7 @@ 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: 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.
-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 @@ -149,7 +94,7 @@ 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.
-Symptom: The build fails with various symptoms, possibly
complinaing about missing files or files that have the
wrong format. One such symptom is member [...] in archive is not an object
.
CDPATH
and GREP_OPTIONS
.
Fix: Build Android in an environment that has as few customizations as possible.
-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"
$ repo init -b master
$ repo sync
-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.
-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]
$ repo init -b master
$ repo sync
+
+Symptom: repo init
or repo sync
fail with http errors,
+typically 403 or 500.
Cause: There are quite a few possible causes, most often +related to http proxies, which have difficulties handling the +large amounts of data getting transfered.
+Fix: While there's no general solution, using python 2.7
+and explicitly using repo sync -j1
have been reported to
+improve the situation for some users.
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 Addrss 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.
+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>
.
Cause: Some DNS systems have a hard time coping with the +high number of queries involved in syncing the source tree +(there can be several hundred requests in a worst-case scenario).
+Fix: Manually resolve the relevant hostnames, and hard-code +those results locally.
+You can resolve them with the nslookup
command, which will give
+you one numerical IP address for each of those (typically in the
+"Address" part of the output).
$ nslookup googlesource.com
+$ nslookup android.googlesource.com
+
+You can then hard-code them locally by editing /etc/hosts
, and
+adding two lines in that file, of the form:
aaa.bbb.ccc.ddd googlesource.com
+eee.fff.ggg.hhh android.googlesource.com
+
+Note that this will only work as long as the servers' addresses
+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.
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
+in some network environments, such that repo sync
neither completes
+nor fails.
Fix: On linux, sysctl -w net.ipv4.tcp_window_scaling=0
. On
+MacOS, disable the rfc1323 extension in the network settings.
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