Android4.1 Jelly Bean ubuntu10.04/64环境下 源码编译 初初级

首先交代一下自己本不是IT 行业,也没有编程基础,而且刚接触Android和Ubuntu,小白一枚,

花了将近半个月的时间,重复安装ubuntu、重复下载源码、重复编译,才成功了一次。

现在总结如下:

1.windows7下安装ubuntu系统

用一个磁盘分区软件(分区助手专业版5.0)分出100g的空间,

//上一次使用了60g,编译时报错,说满了,在win7下格了60g重来,

//格掉后,会发现开机啥啥丢失,win7都进不去了,再找个U盘安装老毛桃修复一下引导就O了;

//(老毛桃地址:http://www.laomaotao.net/ )

下载Ubuntu10.04/64bit 地址: http://releases.ubuntu.com/lucid/

文件名是 ubuntu-10.04.4-desktop-amd64.iso

利用UltraISO(地址:http://www.onlinedown.net/soft/614.htm

将iso文件写入U盘,本本开机设置由U盘启动,进入Ubuntu的安装向导,

(非U盘的其他安装方式请自行google)

安装好UB,第一件事就是获得root权限,并用root帐号登录。

获得过程如下:

终端输入(左上角 应用程序>附件>终端,你也可以右击把它放置到上面的面板上便于以后启动):

sudo passwd root

输入初始账户密码,输入时是没有显示提示的,输入完回车就行了,

然后提示你输入两遍root账户的密码,之后重启选其他,填完root后再用刚才的密码登录就O了;

第二件事修改hosts文件:去这里 http://115.com/file/bebp8ddp# 下载hosts,因为你是root账户,所以可以把里面的内容复制粘贴到etc文件夹下的hosts文件里

再之,就是更改UB的软件源(系统>系统管理>软件源,中国那个地方我换成163了,重新载入一下),然后重启系统更新管理器(系统>系统管理>更新管理器),会花一段很长的时间安装,完毕后提示重启。

之后,UB就算搞定了。(当然,root帐号下chrome的安装、系统字体的修改、输入法的安装等一系列小问题都是需要花时间去解决的,小问题直接google就能搞定了)

2. ubuntu下配置源码编译环境

基本参考google官方教程(http://source.android.com/source/initializing.html,如果说打不开官网链接,那基本就是hosts文件没有更新),实际操作中,有一些细节与官网描述稍有不同:

第一步:安装JDK

这里按照官网的方法,搞不定(重启后输入java -version, 霹雳巴拉一大推,反正就是搞不定),只能google一个手动安装方式(可参考 http://13428668762.blog.51cto.com/3319384/794150);

第二步:安装其他功能件

在终端中执行(这是UB10.04的,至于10.10 11.10 等请参照官网)

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 lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils xsltproc

第三步:配置USB权限(我理解这个是直接刷手机的,所以你没有真机用来刷的话,可以不用配置了吧?但不确定是不是这个理解)

打开 /etc/udev/rules.d/51-android.rules 文件,没有的话,自己新建一个。

把下面的代码复制进去,但是要把username改为root(这个改名,也不是很清楚是不是正确的,因为还没有涉及到真机刷,但改了这个文件,eclipse貌似就能连上GN了,这个存疑,待高手补充)

# adb protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>" 

# fastboot protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>" # adb protocol on crespo/crespo4g (Nexus S) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>" # fastboot protocol on crespo/crespo4g (Nexus S) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>" # adb protocol on stingray/wingray (Xoom) SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>" # fastboot protocol on stingray/wingray (Xoom) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>" # adb protocol on maguro/toro (Galaxy Nexus) SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>" # fastboot protocol on maguro/toro (Galaxy Nexus) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>" # adb protocol on panda (PandaBoard) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>" # fastboot protocol on panda (PandaBoard) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>" # usbboot protocol on panda (PandaBoard) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>" # usbboot protocol on panda (PandaBoard ES) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"

第四步:设置ccache(鄙人跳过没弄)

第五步:使用一个隔离的输出文件路径(鄙人跳过没弄)

第六步:安装Repo

终端中依次输入:

mkdir ~/bin

PATH=~/bin:$PATH

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

chmod a+x ~/bin/repo

第七步:初始化Repo客户端

终端中输入:

mkdir WORKING_DIRECTORY

(这个Working_directory按照自己喜欢到文件名来,比如Android_source... ...)

cd WORKING_DIRECTORY

(记得打开你刚设置名字的那个文件夹)

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

第八步:把源码同步过来

终端输入:

repo sync

源码貌似有6G左右?晚上挂机下载,或者带到公司下呗(若有中断,我是重启后从第六步接着来的)

第九步:认证源码

终端输入: 

gpg --import

接着输入 

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.2.2 (GNU/Linux) mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7 8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq /HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5 jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4 MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9 b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+ OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM= =Wi5D -----END PGP PUBLIC KEY BLOCK-----

接着Ctrl+D就认证完了。

第十步:初始化环境及编译

你创建的那个文件夹下,终端依次输入:

source build/envsetup.sh  

lunch full-eng

make -j4

(注:-j4 a -jN argument, and it's common to use a number of tasks N that's between 1 and 2 times the number of hardware threads on the computer being used for the build. E.g. on a dual-E5520 machine (2 CPUs, 4 cores per CPU, 2 threads per core), the fastest builds are made with commands betweenmake -j16 and make -j32.)

之后便是漫长的编译过程,我一开始按照官网的make -j4挂了一个晚上,早上起来发现内存满了,完全无进度,google后发现可能是多线程的问题,之后再改成make,不到一个小时就编译完成了,在这个过程中,没有出现任何中断等killed,实属不易,因为在12.04/32 10.04/32 下编译出现n多问题,google来google去,解决一个又冒出一个,层出不穷,碉堡满满.. ..

总之,整个过程是相当艰辛的,但结果是极其鸡血的。

因为小白一枚,前后花了半个月的时间,真正操作起来,顺利的话,三天应该足够了,

希望这个总结能给大家提供一些参考,文中错讹之处,还请各位不吝指出。

——07/13/2012



转载于:https://my.oschina.net/yaoyuan131617/blog/66949

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值