android4.00错误,编译器应该为4.4
来源:互联网 发布:百度大数据足球分析 编辑:程序博客网 时间:2024/05/16 14:07
1.编译前的准备工作
请确认以下包的版本是否OK:
1.1 gcc4.4,而不是gcc4.6,如果是4.6,需要安装gcc4.4,命令如下:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
cd /usr/bin
ls -l gcc*
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
ls -l g++*
sudo mv g++ g++.bak
sudo ln -s g++-4.4 g++
gcc -v
g++ -v
1.2 python2.5-2.7,ubuntu12.04版本,默认的python版本是2.7,所以,这个没什么问题
1.3 java版本微1.6.0,而不是openJDK,前面我已经删除了openJDK的安装包,所以这里应该没有才对。
2. 编译源码
按照官方的提示,依次执行如下命令:
source build/envsetup.sh
lunch full-eng
make -j4
建议:最后一条命令使用make showcommands,这样可以显示编译命令,使得编译的时候,屏幕没有输出的时候,不会感觉无聊。
3.编译错误处理
3.1 错误:You are attempting to build with the incorrect version of java.
解决方法:sudo update-alternatives --config java,同时最好确认下javac和jar命令。
3.2 错误:make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] 错误 1
make: *** 正在等待未完成的任务....
解决方法:修改源码目录下/build/core/combo/HOST_linux-x86.mk文件:
将以下语句
HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
修改为
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
3.3 错误:make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libMesa_intermediates/src/glsl/linker.o] 错误 1
解决方法:
gedit external/mesa3d/src/glsl/linker.cpp
在头文件段中,添加#include <stddef.h>
3.4 错误:make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/liboprofile_pp_intermediates/arrange_profiles.o]
解决方法:确认你使用的gcc和g++的4.4版本,而不是更高的版本。
3.5 错误:make: *** [out/target/common/obj/APPS/CtsVerifier_intermediates/classes-full-debug.jar]
解决方法:sudo update-alternatives --config javac,选择jdk1.6.0,而不是openjdk。
3.6 错误:make: *** [out/target/common/obj/APPS/android.core.tests.libcore.package.com.no-core-tests-res_intermediates / noproguard.classes-with-local.dex] Killed
解决方法:此问题是因为编译android4.0需要4GB的RAM或SWAP空间,而ubuntu默认的1GB的,所以,增加swap空间即可,执行命令如下:
sudo dd if=/dev/zero of=/boot/swapfile bs=1024 count=4194304
sudo mkswap -v1 /boot/swapfile
sudo swapon /boot/swapfile
free
sudo vi /etc/fstab
/boot/swapfile swap swap defaults 1 1
4. 编译成功
4.1 编译成功之后,会在out/target/product/generic下面看到system.img,ramdisk.img,userdata.img
4.2 但是我编译成功之后,在终端运行emulator命令,却提示:
No command 'emulator' found, did you mean:
Command 'qemulator' from package 'qemulator' (universe)
emulator: command not found
解决方法:
重新运行以下命令:
source build/envsetup.sh
lunch full-eng
4.3 emulator运行截图
- android4.00错误,编译器应该为4.4
- vc编译器不允许将构造函数设为私有,应该为公有
- Android4.4.4 Gif 透明色错误
- EVC 3.0 奇怪错误:是否为编译器bug?
- Build Android4.0.3错误
- 关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- 关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- android4.4.4设备报 java.lang.VerifyError错误。
- 编译器错误:CS0426
- 内存条与编译器错误
- VC6编译器错误汇总
- VC 编译器错误大全
- 编译器错误 CS0445
- 编译器错误消息: CS0433
- 编译器错误 C2511
- Vs2005编译器错误
- java 编译器版本错误
- ActionScript 3.0 编译器错误
- 103 - Stacking Boxes
- 惠普Integrity i4 开始不再支持OPENVMS 8.4 ! OpenVMS 廉颇老矣!
- hdu 1673
- Debug使用手册
- PHP解决Xss跨域攻击以及sql注入等危险字符串方案类库
- android4.00错误,编译器应该为4.4
- oracle之schedule job
- win8\win8.1 Python&OpenCV配置
- 很好的网站
- android 简单的原生Camera实现
- C++静态成员数据—定义、初始化
- MFC的消息机制的实现原理和消息处理的过程
- 运维笔记-snmp的安装配置
- 斐波那契数列数列的实现