第一次编译aosp的android源码,问题很多,有些文件拒绝访问时,需要对这些文件的权限进行设置。
============================================
find:`frameworks/base/frameworks/base/docs/html':Nosuchfileordirectory
find:`out/target/common/docs/gen':Nosuchfileordirectory
find:`frameworks/base/frameworks/base/docs/html':Nosuchfileordirectory
find:`out/target/common/docs/gen':Nosuchfileordirectory
find:`frameworks/base/frameworks/base/docs/html':Nosuchfileordirectory
find:`out/target/common/docs/gen':Nosuchfileordirectory
find:`frameworks/base/frameworks/base/docs/html':Nosuchfileordirectory
find:`out/target/common/docs/gen':Nosuchfileordirectory
find:`frameworks/base/frameworks/base/docs/html':Nosuchfileordirectory
find:`out/target/common/docs/gen':Nosuchfileordirectory
Makefile:1279:***mixedimplicitandnormalrules.Stop.
Makefile:1279:***mixedimplicitandnormalrules.Stop.
Makefile:1279:***mixedimplicitandnormalrules.Stop.
***glibcdetected***make:free():invalidnextsize(fast):0x0000000008d1b330***
=======Backtrace:=========
find提示的内容可以忽略,最终还是可以编译成功,另外有有一个错误是提示没有g++,直接sudoapt-getinstallg++即可;下面是一些具体的错误以及最后的解决办法:
错误:消除***glibcdetected***make:free():invalidnextsize(fast):
解决:make-3.81.tar.gz(之前安装的3.82,这个版本貌似有问题)
错误:/usr/include/gnu/stubs.h:7:fatalerror:gnu/stubs-32.h:Nosuchfileordirectory
解决:$sudoapt-getinstalllibc6-dev-i386
错误:external/clearsilver/cgi/cgi.c:22:fatalerror:zlib.h:Nosuchfileordirectory
解决:$sudoapt-getinstallzlib1g-dev
错误:Lex:aidl<=frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash:flex:commandnotfound
make:***[out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp]Error127
解决:$sudoapt-getinstallflex
错误:bison-d-oout/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cppframeworks/base/tools/aidl/aidl_language_y.y
/bin/bash:bison:commandnotfound
make:***[out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp]Error127
解决:sudoapt-getinstallbison
错误:/usr/bin/ld:cannotfind-lstdc++
collect2:ldreturned1exitstatus
make:***[out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp]Error1
解决:sudoln-s/usr/lib32/libstdc++.so.6/usr/lib32/libstdc++.so
(Howeverthishelped:sudoln-s/usr/lib32/libstdc++.so.6/usr/lib32/libstdc++.soWastryingtocompile32bitsoftwarewithan64bitenvironment.)
错误:development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp:22:fatalerror:GL/glx.h:Nosuchfileordirectory
compilationterminated.
make:***[out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon_intermediates/GLDispatch.o]Error1
解决:sudoapt-getinstalllibgl1-mesa-dev
错误:/usr/bin/ld:cannotfind-lz
collect2:ldreturned1exitstatus
make:***[out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt]Error1
解决:缺少lib32z1-dev安装即可:apt-getinstalllib32z1-dev
错误:targetJava:CtsVerifier(out/target/common/obj/APPS/CtsVerifier_intermediates/classes)
cts/apps/CtsVerifier/src/com/android/cts/verifier/PassFailButtons.java:191:onCreateDialog(int,android.os.Bundle)inandroid.app.ActivitycannotimplementonCreateDialog(int,android.os.Bundle)incom.android.cts.verifier.PassFailButtons.PassFailActivity;attemptingtoassignweakeraccessprivileges;waspublic
privatestatic
^
1error
make:***[out/target/common/obj/APPS/CtsVerifier_intermediates/classes-full-debug.jar]Error41
解决:
参考资料
1.http://thesoftwarerogue.blogspot.jp/
2./group/android-building/browse_thread/thread/14023f6d53d16921
3./questions/353983/how-do-i-install-the-sun-java-sdk-in-ubuntu-11-10-oneric
4./source/initializing.html
5./content/12/0314/11/474846_194227428.shtml
有人说问题是系统自动使用的是OpenJdk,而应该参照4中使用sun的jdk,编译Gingerbread以上版本使用JDK6,而Froyo以及以下旧版本使用JDK5。但我与2中说的一样,我修改来JDK之后依然没有解决,现在使用5中的办法来尝试。
经过长时间的等待,终于完成来aosp的编译,最后出现:
Targetsystemfsimage:out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
Installsystemfsimage:out/target/product/generic/system.img
Installedfilelist:out/target/product/generic/installed-files.txt
***************************************************************************************************************************
:0:0:note:thisisthelocationofthepreviousdefinition
hostStaticLib:libOpenglCodecCommon(out/host/linux-x86/obj/STATIC_LIBRARIES/li
bOpenglCodecCommon_intermediates/libOpenglCodecCommon.a)
hostSharedLib:libOpenglRender(out/host/linux-x86/obj/lib/libOpenglRender.so)
/usr/bin/ld:cannotfind-lX11
collect2:ldreturned1exitstatus
make:***[out/host/linux-x86/obj/lib/libOpenglRender.so]Error1
解决方法:$sudoln-s/usr/lib/i386-linux-gnu/libX11.so.6/usr/lib/i386-linux-gnu/libX11.so
*****************************************************************************************
hostStaticLib:libGLcommon(out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon
_intermediates/libGLcommon.a)
hostSharedLib:libGLES_CM_translator(out/host/linux-x86/obj/lib/libGLES_CM_tra
nslator.so)
/usr/bin/ld:cannotfind-lGL
collect2:ldreturned1exitstatus
make:***[out/host/linux-x86/obj/lib/libGLES_CM_translator.so]Error1
解决方法:sudoln-s/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2/usr/lib/libGL.so
*************************************************************************************************************************
Targetramdisk:out/target/product/smdkv210/ramdisk.img
targetStrip:libutils(out/target/product/smdkv210/obj/lib/libutils.so)
mkimage-Aarm-Olinux-Tramdisk-Cnone-a0x30A00000-n"ramdisk"-dout/target/product/smdkv210/ramdisk.imgout/target/product/smdkv210/ramdisk-uboot.img
/bin/bash:mkimage:commandnotfound
make:***[out/target/product/smdkv210/ramdisk.img]Error127
make:***Deletingfile`out/target/product/smdkv210/ramdisk.img'
sudoapt-getinstalluboot-mkimage
****************************************************************************************************************************
undefinedreferenceto'android::benchmark(charconst*,int,int,int)'
webcore_test(out/target/product/generic/obj/EXECUTABLES/webcore_test_intermediates/LINKED/webcore_test)
经过验证
touchexternal/webkit/Source/WebKit/android/benchmark/*
make
可以解决问题