需要安装的一些库,有如下一些:
sudo apt-get install git-core gnupg flex bison gperf build-essential
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown
libxml2-utils xsltproc
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
(上述是参考:《TE&OK6410开发板Android2.3.4用户手册11.pdf》关于编译android源码的部分内容)
1.
You are attempting to build on a 32-bit system.
Only 64-bit build environments are supported beyond froyo/2.2
./external/clearsilver/cgi/Android.mk
./external/clearsilver/java-jni/Android.mk
./external/clearsilver/util/Android.mk
./external/clearsilver/cs/Android.mk
四个文件中的
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
注释掉,或者将“64”换成“32”
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32
然后,将./build/core/main.mk 中的
ifneq (64,$(findstring 64,$(build_arch)))
改为:
ifneq (i686,$(findstring i686,$(build_arch)))
2.
sh: gperf: not found:
sudo apt-get install gperf
3.
MediaScanner.cpp:84: error: invalid conversion from ‘const char*
gcc版本太高,安装gcc4.3
4.
HTTPStream.cpp:136: error: ‘USHRT_MAX’ was not declared in this scope...
解决方案:
不要编译simulator版本,编译generic的版本。
不要编译simulator版本,编译generic的版本。
上述不编译generic版本的话,不知道模拟器是否识别,最终编译成功(最后验证的时候,发现是模拟器运行,可以直接成功的,多虑了)