如题我下完源代码想全部进行编译:
报如下错误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是1.5的,有的是1.6(6)
      

  2.   

    http://source.android.com/source/index.html
    你可以参考官方文档的编译说明
    我主要提几点,
    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等。
      

  3.   


    总结的挺好 但还是没有解决我的问题啊!
    官方网站我看了感觉基本没有关于编译源代码编译方面介绍啊!
    都是关于代码下载和代码提交啊
    还有
    我看了
    我的jdk 是 1.6
    gcc是  4.5
    还是 编译不过
      

  4.   

    还是请高手帮我看看
    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)这段 代码到底什么意思啊?