报如下错误
li@li-HP-ProBook-4421s:~/android_src$ make
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=3.1.4.1.5.9.2.6.5
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=OPENMASTER
============================================
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
platform/bionic/libc/Android.mk:555: 警告:覆盖关于目标“out/target/product/generic/obj/lib/crtbegin_so.o”的命令
bionic/libc/Android.mk:561: 警告:忽略关于目标“out/target/product/generic/obj/lib/crtbegin_so.o”的旧命令
platform/bionic/libc/Android.mk:561: 警告:覆盖关于目标“out/target/product/generic/obj/lib/crtend_so.o”的命令
bionic/libc/Android.mk:567: 警告:忽略关于目标“out/target/product/generic/obj/lib/crtend_so.o”的旧命令
platform/bionic/libc/Android.mk:569: 警告:覆盖关于目标“out/target/product/generic/obj/lib/crtbegin_static.o”的命令
bionic/libc/Android.mk:575: 警告:忽略关于目标“out/target/product/generic/obj/lib/crtbegin_static.o”的旧命令
platform/bionic/libc/Android.mk:575: 警告:覆盖关于目标“out/target/product/generic/obj/lib/crtbegin_dynamic.o”的命令
bionic/libc/Android.mk:581: 警告:忽略关于目标“out/target/product/generic/obj/lib/crtbegin_dynamic.o”的旧命令
platform/bionic/libc/Android.mk:584: 警告:覆盖关于目标“out/target/product/generic/obj/lib/crtend_android.o”的命令
bionic/libc/Android.mk:590: 警告:忽略关于目标“out/target/product/generic/obj/lib/crtend_android.o”的旧命令
build/core/base_rules.mk:162: *** platform/bionic/libc: MODULE.TARGET.STATIC_LIBRARIES.libc_common already defined by bionic/libc。 停止。
我不知道 最后来 那句 停止 到底 是怎么回事
我追查到
build/core/base_rules.mk的 部分 代码
# Make sure that this IS_HOST/CLASS/MODULE combination is unique.
module_id := MODULE.$(if \
$(LOCAL_IS_HOST_MODULE),HOST,TARGET).$(LOCAL_MODULE_CLASS).$(LOCAL_MODULE)
ifdef $(module_id)
$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
endif
$(module_id) := $(LOCAL_PATH)
intermediates := $(call local-intermediates-dir)
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
报错的地方就是 $(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id))) 这句
但是 我还是 搞不明白。。
你可以参考官方文档的编译说明
我主要提几点,
1.JDK版本问题,Android 2.3以后是1.6 JDK的,如果你是64位的机子,编译没有问题,但是如果你是32位的机子,就要改动几个地方
external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk
把编译选项-m64改成-m32即可
2.gcc / g++ 版本问题,gcc / g++ 4.3 和 gcc / g++ 4.4,说不清会出什么问题,有时4.4会编译不通过,多试试。
3.ubuntu版本问题,最好版本是10.04,这个和它内置的软件版本有关,例如JDK等。