blob: e330f28a5f02d4ea6b3a3cdb42f19948cd0c0fa9 [file] [log] [blame] [view]
Jean-Baptiste Queru4c07af92011-06-22 16:41:01 -07001<!--
2 Copyright 2010 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
17# Known Issues #
18
19Even with our best care, small problems sometimes slip in. This page keeps
20track of the known issues around using the Android source code.
21
Jean-Baptiste Querudc6e9ca2012-01-05 08:06:08 -080022## Missing CTS Native XML Generator ##
23
24**Symptom**: On some builds of IceCreamSandwich and later, the following
25warning is printed early during the build:
26`/bin/bash: line 0: cd: cts/tools/cts-native-xml-generator/src/res: No
27such file or directory`
28
29**Cause**: Some makefile references that path, which doesn't exist.
30
31**Fix**: None. This is a harmless warning.
32
Jean-Baptiste Queru4c07af92011-06-22 16:41:01 -070033## Black Gingerbread Emulator ##
34
35**Symptom**: The emulator built directly from the gingerbread branch
36doesn't start and stays stuck on a black screen.
37
38**Cause**: The gingerbread branch uses version R7 of the emulator,
39which doesn't have all the features necessary to run recent versions
40of gingerbread.
41
42**Fix**: Use version R12 of the emulator, and a newer kernel that matches
43those tools. No need to do a clean build.
44
Jean-Baptiste Queru015de9c2012-04-03 08:01:11 -070045 $ repo forall platform/external/qemu -c git checkout aosp/tools_r12
Jean-Baptiste Queru4c07af92011-06-22 16:41:01 -070046 $ make
47 $ emulator -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7
Jean-Baptiste Queru015de9c2012-04-03 08:01:11 -070048
49## Emulator built on MacOS 10.7 Lion doesn't work. ##
50
51**Symptom**: The emulator (any version) built on MacOS 10.7 Lion
52and/or on XCode 4.x doesn't start.
53
54**Cause**: Some change in the development environment causes
55the emulator to be compiled in a way that prevents it from working.
56
57**Fix**: Use an emulator binary from the SDK, which is built on
58MacOS 10.6 with XCode 3 and works on MacOS 10.7.
Jean-Baptiste Querudfce7fc2012-04-19 15:16:05 -070059
60## Difficulties syncing the source code (proxy issues). ##
61
62**Symptom**: `repo init` or `repo sync` fail with http errors,
63typically 403 or 500.
64
65**Cause**: There are quite a few possible causes, most often
66related to http proxies, which have difficulties handling the
67large amounts of data getting transfered.
68
69**Fix**: While there's no general solution, using python 2.7
70and explicitly using `repo sync -j1` have been reported to
71improve the situation for some users.
Jean-Baptiste Queru8eef6f42012-04-19 15:28:26 -070072
Jean-Baptiste Queruc97e8852012-04-19 16:18:11 -070073## Difficulties syncing the source tree (VirtualBox Ethernet issues). ##
74
75**Symptom**: When running `repo sync` in some VirtualBox installations,
76the process hangs or fails with a variety of possible symptoms.
77One such symptom is
78`DownloadError: HTTP 500 (Internal Server Error: Server got itself in trouble)`.
79
80**Cause**: The default network behavior of VirtualBox is to use
81NAT (Network Addrss Translation) to connect the guest system to
82the network. The heavy network activity of repo sync triggers some
83corner cases in the NAT code.
84
85**Fix**: Configure VirtualBox to use bridged network instead of NAT.
86
Jean-Baptiste Queru8eef6f42012-04-19 15:28:26 -070087## `make snod` and emulator builds. ##
88
89**Symptom**: When using `make snod` (make system no dependencies)
90on emulator builds, the resulting build doesn't work.
91
92**Cause**: All emulator builds now run Dex optimization at build
93time by default, which requires to follow all dependencies to
94re-optimize the applications each time the framework changes.
95
96**Fix**: Locally disable Dex optimizations with
97`export WITH_DEXPREOPT=false`, delete the existing optimized
98versions with `make installclean` and run a full build to
99re-generate non-optimized versions. After that, `make snod`
100will work.
Jean-Baptiste Queru7d2ff822012-04-19 15:37:04 -0700101
102## "Permission Denied" during builds. ##
103
104**Symptom**: All builds fail with "Permission Denied", possibly
105along with anti-virus warnings.
106
107**Cause**: Some anti-virus programs mistakenly recognize some
108source files in the Android source tree as if they contained
109viruses.
110
111**Fix**: After verifying that there are no actual viruses
112involved, disable anti-virus on the Android tree. This has
113the added benefit of reducing build times.
Jean-Baptiste Querub176fae2012-04-19 15:42:44 -0700114
115## Camera, GPS and NFC don't work on Galaxy Nexus. ##
116
117**Symptom**: Camera, GPS and NFC don't work on Galaxy Nexus.
118As an example, the Camera application crashes as soon as it's
119launched.
120
121**Cause**: Those hardware peripherals require proprietary
122libraries that aren't available in the Android Open Source
123Project.
124
125**Fix**: None.
Jean-Baptiste Queru51489a62012-04-19 15:58:25 -0700126
127## Build errors related to using the wrong compiler. ##
128
129**Symptom**: The build fails with various symptoms. One
130such symptom is `cc1: error: unrecognized command line option "-m32"`
131
132**Cause**: The Android build system uses the default compiler
133in the PATH, assuming it's a suitable compiler to generate
134binaries that run on the host. Other situations (e.g. using
135the Android NDK or building the kernel) cause the default
136compiler to not be a host compiler.
137
138**Fix**: Use a "clean" shell, in which no previous
139actions could have swapped the default compiler.
Jean-Baptiste Queru50fc5ad2012-04-19 15:59:39 -0700140
141## Build errors caused by non-default tool settings. ##
142
143**Symptom**: The build fails with various symptoms, possibly
144complinaing about missing files or files that have the
145wrong format. One such symptom is `member [...] in archive is not an object`.
146
147**Cause**: The Android build system tends to use many host tools
148and to rely on their default behaviors. Some settings change
149those tools' behaviors and make them behave in ways that
150confuse the build system. Variables known to cause such
151issues are `CDPATH` and `GREP_OPTIONS`.
152
153**Fix**: Build Android in an environment that has as few
154customizations as possible.