1. install tools
$ sudo apt-get update
$ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-devbuild-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline5-dev sharutils uboot-mkimage
default-jdk
sudo apt-get install libc6-dev-i386 gcc-multilib g++-multilib lib32ncurses5-dev ia32-libs
lib32readline5-dev lib32z-dev
注:虚拟机上安装ubuntu不适用。
2. make 32 bit
直接执行 make将出错提示如下信息:
"You are attempting to build on a 32-bit system"
修改如下:
Ø $ vim build/core/main.mk
找到:
ifneq (64,$(findstring 64,$(build_arch)))
改为:
ifneq (i686,$(findstring i686,$(build_arch)))
$(warning ************************************************************)
$(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
$(warning ************************************************************)
$(error stop)
endif
Ø 修改 LOCAL_CFLAGS
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
改为:
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32
3. questiona: issue :host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c
In file included from /usr/include/features.h:378,
from /usr/include/string.h:26,
from external/clearsilver/java-jni/j_neo_util.c:1:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 没有那个文件或目录
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libclearsilver- jni_intermediates/j_neo_util.o]错
误"
解决方法:
sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6
b: issue: host SharedLib: libneo_util (out/host/linux-x86/obj/lib/libneo_util.so)
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for
-lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for
-lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libneo_util.so] Error 1
解决方法:
apt-get install g++-multilib
c :issue: frameworks/base/core/java/android/app/ListActivity.java:319: inconvertible types
found : android.widget.AdapterView<capture of ?>
required: android.widget.ListView
onListItemClick((ListView)parent, v, position, id);
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
解决方法:
使用 jdk1.6 环境:apt-get install sun-java5-jdk