1. 下载好代码后,进入代码目录
(1) source build/envsetup.sh
(2)lunch
选择一个(我选择的1 generic-eng)
(3)make
2. 中间编译报错:
(1)第一个问题
参考如下文章
http://blog.csdn.net/t80t90s/article/details/7700118
错误2:
host C++: libutils <= frameworks/base/libs/utils/RefBase.cpp
frameworks/base/libs/utils/RefBase.cpp: In member function ‘void android::RefBase::weakref_type::trackMe(bool, bool)’:
frameworks/base/libs/utils/RefBase.cpp:483:67: error: passing ‘const android::RefBase::weakref_impl’ as ‘this’ argument of ‘void android::RefBase::weakref_impl::trackMe(bool, bool)’ discards qualifiers [-fpermissive]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 错误 1
解决:
gedit frameworks/base/libs/utils/Android.mk
Change the line:
LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)
To:
LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) –fpermissive (注意-fpermissive中的“-”是无输入法下的“-”)
参考如下文章:
http://blog.csdn.net/bailyzheng/article/details/11544889
Android编译源码时出现的:<命令行>:0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror]
<span style="font-size:14px;">修改build/core/combo/HOST_linux-x86.mk 61行,将 HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0 修改成 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 Android源码换服务器了,具体的看<a target=_blank target="_blank" href="http://source.android.com/source/downloading.html" style="text-decoration: none;">http://source.android.com/source/downloading.html</a></span>