64位Ubuntu下下载编译Android4.3源码

一. 下载源码

1. 安装所需软件:

git-core curl 不啦不啦...

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc gcc-multilib  lib32readline5-dev lib32z-dev 
2. 为了顺利下载源码,添加hosts

203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com

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.173 cache.pack.google.com
3. 获取repo

3.1 新建一个bin目录

mkdir ~/bin

3.2 下载repo

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
3.3  给repo执行权限

chmod a+x ~/bin/repo
4. 开始下载源码

4.1 新建一个放置源码的文件夹

mkdir android4.3
cd android4.3

4.2 开始下载

~/bin/repo init -u https://android.googlesource.com/platform/manifest -b android-4.3_r2.1
其中 android-4.3_r2.1是4.3的一个分支

repo sync

等待下载完成......超级漫长...下班开始等一晚上差不多了...

期间可能遇到各种问题,请移步这里

Fetching projects: 100% (329/329), done.    
Checking out files: 100% (9390/9390), done.out files:  44% (4162/9390)     
Checking out files: 100% (6764/6764), done.out files:   0% (2/6764)     
Checking out files: 100% (24607/24607), done.ut files:  40% (10053/24607)     
Checking out files: 100% (18696/18696), done.ut files:   1% (357/18696)     
Checking out files: 100% (361/361), done.ng out files:  48% (175/361)     
Checking out files: 100% (175/175), done.ng out files:  43% (76/175)     
Checking out files: 100% (2407/2407), done. out files:   1% (39/2407)     
Checking out files: 100% (137/137), done.ng out files:  44% (61/137)     
Checking out files: 100% (40775/40775), done.ut files:  14% (5947/40775)     
Checking out files: 100% (93/93), done.  
Checking out files: 100% (450/450), done.  
Checking out files: 100% (5265/5265), done. out files:  35% (1853/5265)     
Checking out files: 100% (13/13), done.king out files:  15% (2/13)     
Syncing work tree: 100% (329/329), done.   
看到这个就说明下载完成了,呼呼...

二. 编译源码

1. 初始化

source build/envsetup.sh
2. 选择编译设备(关于这个设备,google官方有说明,本人是小白,一知半解的说...),

详见http://source.android.com/source/building-running.html#choose-a-target

lunch
3. 开始编译!

make -j4
有x个核就是make -j2*x

又是漫长的等待,不过和下载源码不是一个数量级的~~~

看到:

Install: out/target/product/generic/system/app/Browser.odex  
Install: out/target/product/generic/system/app/Browser.apk  
build/tools/generate-notice-files.py  out/target/product/generic/obj/NOTICE.txt  out/target/product/generic/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" out/target/product/generic/obj/NOTICE_FILES/src  
Combining NOTICE files into HTML  
Combining NOTICE files into text  
Installed file list: out/target/product/generic/installed-files.txt  
Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img  
Running:  mkyaffs2image -f out/target/product/generic/system out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img  
Install system fs image: out/target/product/generic/system.img  
生成img了有木有~~~~~~~~~~~

4. 跑跑试试?

emulator -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7 -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img


出现了.......

下载期间遇到了无数问题, google之解决掉了,把链接放上来供大家参考

http://source.android.com/source/initializing.html 这个是google的官方文档,很有用

比如下载代码的时候卡死在了Receiving objects上, 官方解决办法是

http://source.android.com/source/downloading.html#troubleshooting-network-issues

又如下载返回error: Exited sync due to fetch errors...是由于使用的是公用网络,google对ip做了限制,解决办法是使用自己的帐号认证

http://source.android.com/source/downloading.html#using-authentication

话说老罗的这篇文章是很有价值的

http://blog.csdn.net/luoshengyang/article/details/6559955

先写这么多,小白一枚,请多指教




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值