ubuntu12.04编译android4.0.4

来源:互联网 发布:淘宝客服常遇到的问题 编辑:程序博客网 时间:2024/05/16 07:45

今天儿解决了几个编译问题,现在已经编译成功啦

Created filesystem with 939/16384 inodes and 40058/65536 blocks
Install system fs image: out/target/product/mini210/system.img
out/target/product/mini210/system.img+ total size is 268435456
root@winter-PC:/home/winter/tiny210/android4.0.3/android-4.0.3_r1# export PATH=$PATH:/home/winter/tiny210/android4.0.3/android-4.0.3_r1/out/host/linux-x86/bin/



原地址

http://hi.baidu.com/hyemiletoe/item/0403f331f12017179cc65ed9


1.
You are attempting to build with the incorrect version
of java.
Your version is: java version "1.6.0_24".
The correct version is: Java SE 1.6.
build/core/main.mk:131: *** stop。
解决方法:安装Java SE 1.6.33
sudo   update-alternatives  --install  /usr/bin/java java /usr/lib/jvm/jdk1.6.0_33/bin/java  1
sudo   update-alternatives  --config java
sudo   update-alternatives  --config javac

2.
make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] 错误 1
解决方法:
gedit build/core/combo/HOST_linux-x86.mk
HOST_GLOBAL_CFLAGS+=-D_FORTTFY_SOURCE=0
改为:
HOST_GLOBAL_CFLAGS+=-U_FORTTFY_SOURCE -D_FORTTFY_SOURCE=0

3.
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libMesa_intermediates/src/glsl/linker.o] 错误 1
make: *** 正在等待未完成的任务....
解决方法:
gedit external/mesa3d/src/glsl/linker.cpp
在头文件段中,添加#include<stddef.h>

4.
In file included from external/oprofile/libpp/arrange_profiles.cpp:24:0:
external/oprofile/libpp/format_output.h:94:22: 错误: reference ‘counts’ cannot be declared ‘mutable’ [-fpermissive]
解决办法: 
external/oprofile/libpp/format_output.h 
把: 
mutable counts_t & counts; 
改为: 
counts_t & counts; 
5.
host C++: liboprofile_pp <= external/oprofile/libpp/callgraph_container.cpp
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/liboprofile_pp_intermediates/arrange_profiles.o] 错误 1
make: *** 正在等待未完成的任务....
解决办法:
使用gcc4.4.6版本进行编译
通 过gcc -v命令可以发现gcc库在/usr/lib/gcc/i686-linux-gnu目录下,该目录下有当前系统支持的各种版本gcc库 。在安装gcc 4.4前该目录下是没有4.4目录的,安装gcc 4.4后该目录下就会多出4.4这个目录,且该4.4目录下有各种相应库文件。
Ubuntu 32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则编译时可能会出错。
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4

装完后在/usr/bin目录下
$ ls -l gcc*
lrwxrwxrwx 1 root root      7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
发现gcc 链接到gcc-4.6,  需要将它改为链接到gcc-4.4 :
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
同理
ls -l g++*
lrwxrwxrwx 1 root root      7 2011-08-14 15:17 g++ -> g++-4.6
-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4
-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6
需要将g++链接改为g++-4.4:
/usr/bin$ sudo mv g++ g++.bak
/usr/bin$sudo ln -s g++-4.4 g++

再查看gcc和g++版本号:
gcc -v
g++ -v
均显示gcc version 4.4.6 ,说明gcc 4.4安装成功。

6.
In file included from /usr/include/fcntl.h:252,
                 from frameworks/base/media/mtp/MtpDevice.cpp:33:
In function ‘int open(const char*, int, ...)’,
    inlined from ‘bool android::MtpDevice::readObject(android::MtpObjectHandle, const char*, int, int)’ at frameworks/base/media/mtp/MtpDevice.cpp:670:
/usr/include/i386-linux-gnu/bits/fcntl2.h:51: 错误: 调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments
host C++: libmtp <= frameworks/base/media/mtp/MtpObjectInfo.cpp
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libmtp_intermediates/MtpDevice.o] 错误 1
make: *** 正在等待未完成的任务....
解决方法:
gcc 新版本编译器对语法检查严格,gedit frameworks/base/media/mtp/MtpDevice.cpp 里面:
open函数中增加一个参数:0777

int fd = ::open(destPath, O_RDWR | O_CREAT | O_TRUNC,0777);
7.
target Dex: android.core.tests.libcore.package.org.no-core-tests-res
make: *** [out/target/common/obj/APPS/android.core.tests.libcore.package.com.no-core-tests-res_intermediates/noproguard.classes-with-local.dex] 已杀死
make: *** 正在等待未完成的任务....
解决方法:主要原因是内存不够,解决办法可以是增加虚拟机的内存,或者是增加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

# sudo dd if=/dev/zero of=/boot/swapfile bs=1024 count=4194304
记录了4194304+0 的读入
记录了4194304+0 的写出
4294967296字节(4.3 GB)已复制,779.381 秒,5.5 MB/秒
# sudo mkswap -v1 /boot/swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=defdb7d7-aa80-4777-b1d3-4e9f6d5d4103

附图片:

玩编译,也许只是太空虚了吧.....



原创粉丝点击