IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當(dāng)前位置: > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > Android系統(tǒng)移植與平臺開發(fā)(一)
Android系統(tǒng)移植與平臺開發(fā)(一)
時間:2016-12-12作者:華清遠(yuǎn)見

一、Android4.0系統(tǒng)的下載與編譯

Android系統(tǒng)的下載與編譯,Google的官方網(wǎng)站上已經(jīng)給出了詳細(xì)的說明,請參照Android的官方網(wǎng)址: //source.android.com/source/index.html

內(nèi)容主要分為:
        1. 準(zhǔn)備Android下載與編譯環(huán)境
        2. 下載源碼
        3. 編譯源碼及內(nèi)核源碼

下面我們依次來說明其步驟及注意事項。

1. 準(zhǔn)備Android下載與編譯環(huán)境

Android源碼的編譯Google只給出了在類Unix系統(tǒng),確切的說是Ubuntu及MacOS上的詳細(xì)過程,我們下面只描述Ubuntu上的編譯過程。

1.1硬件環(huán)境:

足夠快的PC機(jī),如果有條件,好是使用實體PC

內(nèi)存少1G,硬盤少要30GB

注:也可以使用Vmware或VirtualBox等虛擬機(jī)軟件,但是編譯速度太慢,至于內(nèi)存,如果小于1G,在編譯系統(tǒng)時可能會出錯。

1.2軟件環(huán)境

我們使用Ubuntu12.04作為編譯主機(jī)系統(tǒng),(官方不建議使用Ubuntu12.04版本),由于Android系統(tǒng)里代碼大部分是由Java語言寫的,所以必然要安裝JDK,不過,不同的版本,對JDK的版本有不同的要求:

在Gingerbread(2.3.x) 版本及其之后版本,使用JDK6.0,并且使用64位系統(tǒng)編譯

在Gingerbread(2.3.x) 以前版本,使用JDK5.0,并且可以在32位系統(tǒng)上編譯

注:當(dāng)然我們通過修改一些配置文件,在32位系統(tǒng)上編譯,但是不能保證編譯出來的系統(tǒng)將來能否不出問題。

JDK6.0建議直接從SUN公司的網(wǎng)站上下載://java.sun.com/javase/downloads/

安裝編譯時依賴的包:
        $ sudo apt-get install git-core gnupg flex bison gperfbuild-essential \
        zip curl libc6-dev libncurses5-dev:i386x11proto-core-dev \
        libx11-dev:i386 libreadline6-dev:i386libgl1-mesa-glx:i386 \
        libgl1-mesa-dev g++-multilib mingw32 tofrodos \
        python-markdown libxml2-utils xsltproc zlib1g-dev:i386

執(zhí)行下面的命令:
        $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/libGL.so

2. 下載Android4.0及Goldfish源碼

2.1 下載并初始化repo工具

依次執(zhí)行下面的命令:         $ mkdir ~/bin
        $ PATH=~/bin:$PATH
        通過curl命令下載repo工具:
        $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
        給repo工具加下執(zhí)行權(quán)限:
        $ chmod a+x ~/bin/repo
        創(chuàng)建我們的源碼目錄:
        $ mkdir WORKING_DIRECTORY
        $ cd WORKING_DIRECTORY
        初始化repo工具,準(zhǔn)備訪問google源碼倉庫:
        $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
        有的時候使用上面的命令不能連接android服務(wù)器,我們可以使用下面的命令連接:
        $ repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1
        這個時候,要保證您的ubuntu能夠上網(wǎng),并且能正常連接到Android服務(wù)器,在初始化完repo工具后,會讓你輸入gmail郵箱及用戶名驗證。

2.2下載Android源碼

通過執(zhí)行下面的命令,開始下載Android源碼:
        $repo sync
        如果你的PC機(jī)足夠給力,可以在命令后面加上–jn,n表示多個線程同時下載,可以提高下載速度。
        然后是漫長的等待,Android4.0.1的源碼大概有6GB左右,一般1~2個晚上的時間。
        有的時候,網(wǎng)絡(luò)可能會斷,我們可以使用下面的腳本來進(jìn)行下載,當(dāng)連接出錯時,會自動下載。
        #!/bin/bash
        PATH=~./bin:$PATH
        repo init-u https://android.googlesource.com/a/platform/manifest-b android-4.0.1_r1
        repo sync
        while [ $? = 0
        ]; do
        echo" **Error: sync failed, re-sync again"
        sleep 5
        repo sync
        done

2.3其它源碼下載源

前面所述的下載步驟是Google放出一官方版本的Android代碼,它里面通常只有模擬器和部分和Google有合作關(guān)系設(shè)備的源碼,如果要想編譯一個目標(biāo)設(shè)備的Android4.0.1系統(tǒng),我們肯定要對其進(jìn)行定制,不過有一些知名的設(shè)備生產(chǎn)廠商或第三方廠商,也會開源針對自己設(shè)備的Android系統(tǒng),如:三星,高通等,比較專業(yè)的,網(wǎng)址如下: www.linaro.org

linaro網(wǎng)站主要是ARM的芯片的新Android解決方案,如:基于三星獵戶座芯片的origen開發(fā)板,基于TI的OMAP系統(tǒng)芯片的PandaBoard板,基于Nova A9500 ARM 雙核Cortex A9的snowball開發(fā)板等。

如果從上述網(wǎng)站上下載源碼,要根據(jù)上述網(wǎng)站的說明進(jìn)行相關(guān)操作。

2.4 下載模擬器Goldfish內(nèi)核源碼

Google在開發(fā)Android系統(tǒng)的同時,使用qemu開發(fā)了針對每個版本的一個模擬器,這大大降低了開發(fā)人員的開發(fā)成本,便于Android技術(shù)的推廣。qemu是一個開源的模擬處理器軟件,而Google使用qemu模擬的是ARM926ej-S的Goldfish處理器,如果開發(fā)人員在沒有目標(biāo)開發(fā)板的情況下,要對硬件進(jìn)行操作的話,必然要去操作Android底層的驅(qū)動,我們可以使用模擬器的內(nèi)核源碼。

ø下載Goldfish內(nèi)核源碼

首先進(jìn)入到Android的源碼目錄,創(chuàng)建源碼目錄kernel:
        $ cd WORKING_DIRECTORY
        $ mkdir kernel
        從Android的遠(yuǎn)程源碼倉庫下載源碼:
        $git clone //android.googlesource.com/kernel/goldfish.git
        當(dāng)然,如果你要編譯指定目標(biāo)平臺的kernel的話,也可以從指定的倉庫里下載,官方給出了下列處理器的kernel:
        $ git clone https://android.googlesource.com/kernel/common.git
        $ git clone https://android.googlesource.com/kernel/exynos.git
        $ git clone https://android.googlesource.com/kernel/goldfish.git
        $ git clone https://android.googlesource.com/kernel/msm.git
        $ git clone https://android.googlesource.com/kernel/omap.git
        $ git clone https://android.googlesource.com/kernel/samsung.git
        $ git clone https://android.googlesource.com/kernel/tegra.git

大概幾十分鐘后,下載完了,如下圖所示:

在kernel目錄下產(chǎn)生一個goldfish目錄,進(jìn)入到該目錄下:
        $ cd goldfish
        $ ls -al

通過ls–al命令查看當(dāng)前目錄,可以看到隱藏的.git。

通過git branch –a來查看所以分支:
        $ git branch -a

通過git checkout來得到源碼:
        $ git checkout remotes/origin/android-goldfish-2.6.29

如下圖所示,當(dāng)前目錄下出現(xiàn)了Linux內(nèi)核源碼的目錄結(jié)構(gòu):

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達(dá)個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 宁波必沃纺织机械有限公司—优质针织电脑横机专业制造商 | 氧化膜测厚仪-瓶壁测厚仪-QNIX菲尼克斯膜厚仪-深圳市时代之峰科技有限公司 | 免费的PPT幻灯片演示制作软件,动画视频及课件制作软件 - Focusky万彩演示大师官网 | 杀菌剂_除藻剂_杀菌灭藻剂_1227杀菌剂_中北精细化工 | 十树品牌策划—品牌战略、品牌策划、品牌定位、品牌设计、包装设计、品牌营销-上海十树品牌管理咨询有限公司官网 | 四川蜀易控科技有限公司-酒店客房控制系统-智慧酒店智能化客房控制系统生产厂家 | 上海同田生物技术有限公司-逆流色谱供应商和应用技术服务商 | 钎头_球齿钎头_一字钎头 - 铜陵狮达矿山机械有限公司 | 山东凯达起重机械有限公司-单梁行车,龙门吊,提梁机,门式起重机,悬臂起重机 | 粮食烘干机|玉米烘干机|稻谷烘干机|小麦烘干机|大型连续烘干塔|500吨连续烘干塔|钢板仓|-郑州新光矿山机械制造有限公司 | 湖南长沙手术室、实验室、无尘室、洁净室、无尘车间的净化工程装修公司-福临建设 | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 永康风水大师选风水先生老徐 - 徐根法 | 真空烘箱-高低温试验箱-防爆烘箱-防爆高低温试验箱-老化房-恒温恒湿箱-高低温试验箱-高低温冲击试验箱厂家—上海标承实验仪器有限公司 | 精品中文字幕在线观看,粉嫩av一区二区三区,最近中文字幕在线看免费视频,亚洲高清在线观看,日本一区二区视频手机免费看,国产黄色小视频,亚洲高清免费视频,国产精品一区二区欧美视频,亚洲人免费视频,亚洲视频在线观看免费,国产免费高清综合视频,中文字幕永久在线 | 一体式电磁流量计_分体式电磁流量计_卫生级电磁流量计_卫生型电磁流量计_电池供电电磁流量计_卡箍式电磁流量计_废水电磁流量计_德克森仪表(淮安)有限公司官网 | 首页|广东蒙泰高新纤维股份有限公司|丙纶细旦丝|丙纶异形丝|丙纶FDY网络丝 - 广东蒙泰高新纤维股份有限公司 | 潍坊特钢集团有限公司 | 全自动圆木多片锯_立式圆木多片锯价格_大型圆木多片锯厂家-邢台友创机械制造有限公司 | 自动封箱机_纸箱封箱机_封箱机厂家-青岛百高包装器材有限公司 | 山东淄博海杰化工有限公司-淄博海杰化工_NP-10、OP-10、吐温80、司盘80、磺酸、油酸等乳化剂 | 郑州月嫂|月嫂培训|月嫂服务|郑州布卢家政服务有限公司 | 生物质蒸发器_燃气蒸发器_燃气锅炉价格|厂家直销-山东泰锅锅炉设备有限公司 | 监控工程,安防监控公司,北京监控安装,北京安装监控,安装摄像头,北京监控维保,监控施工,北京监控维修,监控弱电工程,监控器安装,监控维护保养,监控工程设计,北京监控设备维修,监控报警安装,北京北方合力科技有限公司 | 真空工业炉-真空油淬炉-真空气淬炉-高温石墨化炉-江苏华弘真空科技有限公司 | 制砂机-合金-耐磨锤头-耐磨衬板-铸造件厂家-巩义市豫园宏宇铸造有限公司 | 葫芦岛市鹏翔农药化工科技有限公司-苦参碱可溶液剂-氯氰菊酯乳油-阿维菌素乳油 | 绝缘油介电强度测试仪|d33压电测试仪|准静态d33压电测量仪厂家直销-上海蓝巢电气有限公司【官网】 | 模具水垢清洗机_模具管路清洗机_模具专用清洗机-苏州意德特机械有限公司 | 三轴伺服机械手_五轴伺服机械手_注塑机械手_东莞市浩能自动化机械有限公司 | 螺带混合机|卧式螺带混合机|双动力混合机-无锡鑫海干燥粉体设备有限公司 | 青山套筒_直螺纹钢筋连接套筒加工_全灌浆套筒灌浆料_半灌浆套筒生产-衡水安达机械设备有限公司 | 郑州邦达电气有限公司| 智能电地暖_电地暖安装_电地暖价格-西安秦星暖通工程有限公司 | -盐城市精工阀门有限公司| 文君阁-提供生活百科,日常生活健康小常识,生活小窍门,百科知识大全 | 转轴测试机-按键寿命测试机-连接器插拔力试验机-深圳市丹荣检测 转盘萃取塔,DMF回收塔生产厂家-无锡弘鼎华化工设备有限公司 | 上海网站建设-上海网站制作-网站设计-上海做网站公司-SEO优化推广-咏熠软件 | 石英砂过滤器_砂滤器_石家庄工泉水处理科技有限公司 | 重庆木门_重庆木门十大品牌_重庆套装门_重庆烤漆门_重庆套装门十大品牌_重庆木门一线品牌_重庆川田木门 | 液体灌装机-酱料灌装机-全自动灌装机-旋盖机-铝箔封口机-贴标机厂家-迈特威自动化设备(天津)有限公司" |