Ubuntu下Android4.4源码--下载与编译

源码下载
1. sudo apt-get install curl
2. sudo apt-get install git-core
3. $ mkdir ~/bin
4. $ PATH=~/bin:$PATH
5. curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
注意:repo的版本不同会在repo init的时候报错:gpg: 无法检查签名:找不到公钥之类的错误
6. $ chmod a+x ~/bin/repo

7. $ mkdir android4.4

8. $ cd android4.4

9. $ ./repo init -u https://android.googlesource.com/platform/manifest

10. $ ./repo sync

repo sync 遇到如下错误:

fatal: HTTP request failed

error: Cannot fetch platform/tools/motodev

error: Cannot fetch platform/frameworks/base

error: Cannot fetch platform/prebuilts/sdk

error: Exited sync due to fetch errors

解决方法:编辑/etc/hosts文件

$sudo vim /etc/hosts

74.125.31.82 www.googlesource.com

74.125.31.82 android.googlesource.com

203.208.46.172 cache.pack.google.com

59.24.3.173cache.pack.google.com



源码编译:

注意:Android4.4的编译需要更高版本的jdk, 如 1.6.0_06升级到1.6.0_45
从谷歌上下下来的源码总是报错:
/usr/lib64/gcc/x86_64-linux-gnu/4.4/../../../../include/c++/4.4/exception_ptr.h:143:13: error: unknown type name 'type_info'
const type_info
之类的错误,后来从115上下载了别人上传的源码,终于编译通过了。
1. source build/envsetup.sh
2. lunch
3. 1
4. make -j2
遇到的错误:
out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_DSCP.c:18:37: fatal error: linux/netfilter/xt_dscp.h: No such file or directory
compilation terminated.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_DSCP.o] 错误 1
make: *** 正在等待未完成的任务....
后面也会报错很多linux/netfilter/这个里面文件的错误,都是文件的大小写不同造成的。如xt_DSCP.h,估计是我下载的代码在解压的时候出现了一些问题。
编译成功后在out/target/product/generic/中会生成一些img文件
5. make sdk

遇到的错误:
Module 'bluetooth-health' in PRODUCT_PACKAGES has nothing to install!。 停止。
使用这个命令编译:make PRODUCT-sdk-sdk
sdk编译成功:Package SDK: out/host/linux-x86/sdk/android-sdk_eng.toolpc_linux-x86.zip

6. 运行模拟器
命令:$ emulator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值