fishonesea

android 驱动,移植,qq群:91386163 推荐《Android深度探索(卷1):HAL与驱动开发》
  博客园  :: 首页  :: 新随笔  :: 管理

android 2.3.4 编译中出错和解决办法

Posted on 2014-10-29 00:07  fishonesea  阅读(323)  评论(0编辑  收藏  举报
需要安装的一些库,有如下一些:
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.
shgperfnot 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的版本。
上述不编译generic版本的话,不知道模拟器是否识别,最终编译成功(最后验证的时候,发现是模拟器运行,可以直接成功的,多虑了)