首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

关于android源代码编译的有关问题

2013-09-05 
关于android源代码编译的问题如题我下完源代码想全部进行编译:报如下错误li@li-HP-ProBook-4421s:~/androi

关于android源代码编译的问题
如题我下完源代码想全部进行编译:
报如下错误

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))) 这句
但是 我还是 搞不明白。。

期待高手指一条明路阿!


[解决办法]
有的版本需要的JDK是1.5的,有的是1.6(6)
[解决办法]
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等。
[解决办法]

引用:
http://source.android.com/source/index.html
你可以参考官方文档的编译说明
我主要提几点,
1.JDK版本问题,Android 2.3以后是1.6 JDK的,如果你是64位的机子,编译没有问题,但是如果你是32位的机子,就要改动几个地方
external/clearsilver/cgi/Android.mk
external/clearsilv……


这几点总结的真好 的确是 

热点排行