编译android源码5---编译android源码

工具:64位ubuntu操作系统、android源码、jdk6

安装win7 、ubuntu双系统参考: http://blog.csdn.net/a15262901392/article/details/50687830

1.设置一下编译器的高速缓存

cd /media/M_hM_=M_M_dM__M_6/Download/442/prebuilts/misc/linux-x86/ccache

chmod 777 ccache

apt-get install ccache

ccache -M 50G

2. lunch(选择编译平台)

lunch sdk-eng


3.导入一些编译Android源码所需的环境变量和其它参数

cd /media/M_hM_=M_M_dM__M_6/Download/442(android目录)

执行source build/envsetup.sh

4.编译

make -j16

5.出错解决

1.权限不够

解决方案:

安装:sudo apt-get install ntfs-config sudo apt-get install gksu 建立挂载

2./bin/bash:bison:未找到命令

解决方案:$ sudo apt-get install bison

3./bin/bash: xsltproc: 未找到命令

解决方案:sudo apt-get install xsltproc

4.prebuilts/tools/gcc-sdk/g++: 行 40: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-g++: 没有那个文件或目录

解决方案:sudo apt-get install gcc-multilib

5.make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] 错误 127

解决方案:sudo apt-get install flex

6.make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1

在32位下编译,直接make就可以了
在64位下编译,会出一些错误,需要额外安装一些包:
     A, 没有gnu/stubs-32.h文件:
      /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: 没有该文件或目录
      make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
解决方法:
确定你的系统是x86_64 GNU/Linux
       # uname -a
       Linux mm-desktop 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008 x86_64 GNU/Linux
安装libc6-dev-i386
     sudo apt-get install libc6-dev-i386

     B。找不到-lstdc++
     /usr/bin/ld: cannot find -lstdc++
解决方法:
安装 g++-multilib,lib32z1-dev 和 lib32ncurses5-dev
      apt-get install g++-multilib  lib32z1-dev lib32ncurses5-dev

7. sh: gperf: not found

calling gperf failed: 32512 at ./makeprop.pl line 140.

方法:sudo apt-get install gperf

8.make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_connmark.o] Error 1

分析原因:我是在windows下用rar解压tar包的

解决办法:到linux/netfilter/下发现确实没有xt_connmark.h文件,重新在linux下解压源码的tar

9.make: *** [out/target/product/generic/system/etc/apns-conf.xml] 错误 127

解决:sudo apt-get install libxml2-utils

10.g++: internal compiler error: Killed (program cc1plus)

解决:内存不足

命令:free 可以查看可用内存

6.编译成功

7.运行android编译源码

参考:http://blog.csdn.net/a15262901392/article/details/50734229





官网:http://source.android.com/source/building.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值