android 的系統編譯
系統 ubuntu10.10
2.3 gingerbread的編譯
1)sudo apt-get install bison
2)下載jdk-6u27-linux-i586.bin,解壓。設定環境變數
在/etc/profile 後面添加
export JAVA_HOME=/home/amx/java/jdk1.6.0_27
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
3)/bin/bash: g++:找不到命令
解決:sudo apt-get install g++
4)external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: 沒有那個檔案或目錄
解決:sudo apt-get install zlib1g-dev
5)/bin/bash: flex:找不到命令
解決:sudo apt-get install flex
6)/usr/bin/ld: cannot find -lncurses
解決:sudo apt-get install libncurses5-dev
7)prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55: fatal error: X11/Xlib.h: 沒有那個檔案或目錄
解決:sudo apt-get install libx11-dev
8)sh: gperf: not found
解決:sudo apt-get install gperf
產生路徑:
./out/target/product/generic/ramdisk.img
./out/target/product/generic/system.img
./out/target/product/generic/userdata.img
./prebuilt/android-arm/kernel/kernel-qemu
1.5 cupcake 的編譯
1)frameworks/base/tools/aidl/AST.cpp:10: error: 'fprintf' was not declared in this scope的錯誤
解決辦法:
下載gcc-4.3和g++-4.3: apt-get install gcc-4.3 g++-4.3
大約十多兆,然後進入/usr/bin
cd /usr/bin
建個軟串連
ln -s gcc-4.3 gcc
ln -s g++-4.3 g++
然後進入android目錄下,執行make,就可以了。
2)重複檔案的錯誤 ,重複資料刪除的檔案。對於xml 和dom 目錄重複的檔案 刪除dom對應的檔案
1、java.util.zip.ZipException: duplicate entry: hyts_Foo.c 錯誤
view plainprint?
- java.util.zip.ZipException: duplicate entry: hyts_Foo.c
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法:
這個問題是hyts_Foo.c檔案重複,在根目錄尋找哪裡重複,然後將其刪除保留一個
$ find . -name hyts_Foo.c
./libcore/luni/src/test/resources/hyts_Foo.c
./libcore/support/src/test/resources/hyts_Foo.c
$ rm libcore/luni/src/test/resources/hyts_Foo.c
再次 make 即可
2、java.util.zip.ZipException: duplicate entry: staffNS.xml 錯誤
view plainprint?
- java.util.zip.ZipException: duplicate entry: staffNS.xml
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法同上
3、java.util.zip.ZipException: duplicate entry: staff2.dtd 錯誤
view plainprint?
- java.util.zip.ZipException: duplicate entry: staff2.dtd
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
同上
4、java.util.zip.ZipException: duplicate entry: xhtml1-strict.dtd錯誤
view plainprint?
- java.util.zip.ZipException: duplicate entry: xhtml1-strict.dtd
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
- java.util.zip.ZipException: duplicate entry: staff2.xml 錯誤
解決辦法同上
5、java.util.zip.ZipException: duplicate entry: staff2.xml錯誤
view plainprint?
- java.util.zip.ZipException: duplicate entry: staff2.xml
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法同上
6、java.util.zip.ZipException: duplicate entry: hc_staff.xml 錯誤view plainprint?
- java.util.zip.ZipException: duplicate entry: hc_staff.xml
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法同上
7、java.util.zip.ZipException: duplicate entry: staff.xml 錯誤view plainprint?
- java.util.zip.ZipException: duplicate entry: staff.xml
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法同上
8、java.util.zip.ZipException: duplicate entry: staff.dtd 錯誤view plainprint?
- java.util.zip.ZipException: duplicate entry: staff.dtd
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法同上
9、java.util.zip.ZipException: duplicate entry: staffNS.dtd 錯誤
view plainprint?
- java.util.zip.ZipException: duplicate entry: staffNS.dtd
- at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
- at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)
- at sun.tools.jar.Main.addFile(Main.java:713)
- at sun.tools.jar.Main.update(Main.java:567)
- at sun.tools.jar.Main.run(Main.java:202)
- at sun.tools.jar.Main.main(Main.java:1149)
- make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar] Error 1
- make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar'
解決辦法同上