Jean-Baptiste Queru | 4c07af9 | 2011-06-22 16:41:01 -0700 | [diff] [blame] | 1 | <!-- |
| 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 | |
| 19 | Even with our best care, small problems sometimes slip in. This page keeps |
| 20 | track of the known issues around using the Android source code. |
| 21 | |
Jean-Baptiste Queru | dc6e9ca | 2012-01-05 08:06:08 -0800 | [diff] [blame] | 22 | ## Missing CTS Native XML Generator ## |
| 23 | |
| 24 | **Symptom**: On some builds of IceCreamSandwich and later, the following |
| 25 | warning is printed early during the build: |
| 26 | `/bin/bash: line 0: cd: cts/tools/cts-native-xml-generator/src/res: No |
| 27 | such 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 Queru | 4c07af9 | 2011-06-22 16:41:01 -0700 | [diff] [blame] | 33 | ## Black Gingerbread Emulator ## |
| 34 | |
| 35 | **Symptom**: The emulator built directly from the gingerbread branch |
| 36 | doesn't start and stays stuck on a black screen. |
| 37 | |
| 38 | **Cause**: The gingerbread branch uses version R7 of the emulator, |
| 39 | which doesn't have all the features necessary to run recent versions |
| 40 | of gingerbread. |
| 41 | |
| 42 | **Fix**: Use version R12 of the emulator, and a newer kernel that matches |
| 43 | those tools. No need to do a clean build. |
| 44 | |
Jean-Baptiste Queru | 015de9c | 2012-04-03 08:01:11 -0700 | [diff] [blame] | 45 | $ repo forall platform/external/qemu -c git checkout aosp/tools_r12 |
Jean-Baptiste Queru | 4c07af9 | 2011-06-22 16:41:01 -0700 | [diff] [blame] | 46 | $ make |
| 47 | $ emulator -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7 |
Jean-Baptiste Queru | 015de9c | 2012-04-03 08:01:11 -0700 | [diff] [blame] | 48 | |
| 49 | ## Emulator built on MacOS 10.7 Lion doesn't work. ## |
| 50 | |
| 51 | **Symptom**: The emulator (any version) built on MacOS 10.7 Lion |
| 52 | and/or on XCode 4.x doesn't start. |
| 53 | |
| 54 | **Cause**: Some change in the development environment causes |
| 55 | the 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 |
| 58 | MacOS 10.6 with XCode 3 and works on MacOS 10.7. |
Jean-Baptiste Queru | dfce7fc | 2012-04-19 15:16:05 -0700 | [diff] [blame] | 59 | |
| 60 | ## Difficulties syncing the source code (proxy issues). ## |
| 61 | |
| 62 | **Symptom**: `repo init` or `repo sync` fail with http errors, |
| 63 | typically 403 or 500. |
| 64 | |
| 65 | **Cause**: There are quite a few possible causes, most often |
| 66 | related to http proxies, which have difficulties handling the |
| 67 | large amounts of data getting transfered. |
| 68 | |
| 69 | **Fix**: While there's no general solution, using python 2.7 |
| 70 | and explicitly using `repo sync -j1` have been reported to |
| 71 | improve the situation for some users. |
Jean-Baptiste Queru | 8eef6f4 | 2012-04-19 15:28:26 -0700 | [diff] [blame] | 72 | |
| 73 | ## `make snod` and emulator builds. ## |
| 74 | |
| 75 | **Symptom**: When using `make snod` (make system no dependencies) |
| 76 | on emulator builds, the resulting build doesn't work. |
| 77 | |
| 78 | **Cause**: All emulator builds now run Dex optimization at build |
| 79 | time by default, which requires to follow all dependencies to |
| 80 | re-optimize the applications each time the framework changes. |
| 81 | |
| 82 | **Fix**: Locally disable Dex optimizations with |
| 83 | `export WITH_DEXPREOPT=false`, delete the existing optimized |
| 84 | versions with `make installclean` and run a full build to |
| 85 | re-generate non-optimized versions. After that, `make snod` |
| 86 | will work. |
Jean-Baptiste Queru | 7d2ff82 | 2012-04-19 15:37:04 -0700 | [diff] [blame] | 87 | |
| 88 | ## "Permission Denied" during builds. ## |
| 89 | |
| 90 | **Symptom**: All builds fail with "Permission Denied", possibly |
| 91 | along with anti-virus warnings. |
| 92 | |
| 93 | **Cause**: Some anti-virus programs mistakenly recognize some |
| 94 | source files in the Android source tree as if they contained |
| 95 | viruses. |
| 96 | |
| 97 | **Fix**: After verifying that there are no actual viruses |
| 98 | involved, disable anti-virus on the Android tree. This has |
| 99 | the added benefit of reducing build times. |
Jean-Baptiste Queru | b176fae | 2012-04-19 15:42:44 -0700 | [diff] [blame] | 100 | |
| 101 | ## Camera, GPS and NFC don't work on Galaxy Nexus. ## |
| 102 | |
| 103 | **Symptom**: Camera, GPS and NFC don't work on Galaxy Nexus. |
| 104 | As an example, the Camera application crashes as soon as it's |
| 105 | launched. |
| 106 | |
| 107 | **Cause**: Those hardware peripherals require proprietary |
| 108 | libraries that aren't available in the Android Open Source |
| 109 | Project. |
| 110 | |
| 111 | **Fix**: None. |
Jean-Baptiste Queru | 51489a6 | 2012-04-19 15:58:25 -0700 | [diff] [blame^] | 112 | |
| 113 | ## Build errors related to using the wrong compiler. ## |
| 114 | |
| 115 | **Symptom**: The build fails with various symptoms. One |
| 116 | such symptom is `cc1: error: unrecognized command line option "-m32"` |
| 117 | |
| 118 | **Cause**: The Android build system uses the default compiler |
| 119 | in the PATH, assuming it's a suitable compiler to generate |
| 120 | binaries that run on the host. Other situations (e.g. using |
| 121 | the Android NDK or building the kernel) cause the default |
| 122 | compiler to not be a host compiler. |
| 123 | |
| 124 | **Fix**: Use a "clean" shell, in which no previous |
| 125 | actions could have swapped the default compiler. |