日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

(转)编译Android源码的全过程

發(fā)布時(shí)間:2023/12/20 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)编译Android源码的全过程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在網(wǎng)上看到一篇編譯android源碼的文章,照著做挺行的,?

通過參考網(wǎng)上的相關(guān)資料,我編譯Android源碼的步驟如下:?

??? * 1 我的系統(tǒng)是Ubuntu 8.04?
??? * 2 系統(tǒng)上必須安裝以下工具(摘自網(wǎng)上的資料):?
??????
?????? sudo apt-get install build-essential?
?????? sudo apt-get install make?
?????? sudo apt-get install gcc?
?????? sudo apt-get install g++?
?????? sudo apt-get install libc6-dev?
??????
?????? sudo apt-get install flex?
?????? sudo apt-get install bison?
?????? sudo apt-get install patch?
?????? sudo apt-get install texinfo?
?????? sudo apt-get install libncurses-dev?
??????
?????? sudo apt-get install git-core gnupg? //(gnupg系統(tǒng)可能已自帶)?
?????? sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl?
?????? sudo apt-get install ncurses-dev?
?????? sudo apt-get install zlib1g-dev?
?????? sudo apt-get install valgrind(可選,有21M大,我覺得一般人是用不到的)?
?????? sudo apt-get install python2.5 (實(shí)際上不用裝,Ubuntu 8.04 已經(jīng)自帶)?
?????? sudo apt-get install sun-java5-jdk?
??????
?????? 注意:?
?????? a. 不要用 sun-java6-jdk, 不然在make sdk, 具體來說是make doc這一步中, 遇到這個(gè)錯(cuò)誤:?
???????? Docs droiddoc: out/target/common/docs/dx?
???????? javadoc: error - In doclet class DroidDoc, method start has thrown an?
???????? exception java.lang.reflect.InvocationTargetException?
???????? com.sun.tools.javac.code.Symbol$CompletionFailure: class file for?
???????? sun.util.resources.OpenListResourceBundle not found?
?????? b. 網(wǎng)上資料說需要設(shè)置環(huán)境變量, 但我并沒有設(shè)置:?
??????? export ANDROID_JAVA_HOME=$JAVA_HOME?
???????
?????? c. 網(wǎng)上并沒有提及要安裝ncurses-dev, 但安裝之前我編譯過程中會(huì)出現(xiàn)編譯錯(cuò)誤.?
??????
??? * 3 建立android源碼的存放目錄?
?????? $ mkdir ~/open_src?
?????? $ mkdir ~/open_src/android?
?????? $ cd ~/open_src/android?
?????? $ mkdir bi?
??? * 4 下載repo腳本,放到~/open_src/android/bin目錄下,加上可執(zhí)行權(quán)?

????????? $ curl http://android.git.kernel.org/repo > repo?
????????? $ sudo mv repo ~/open_src/android/bin?
????????? $ sudo chmod a+x ~/open_src/android/bin/repo?

??? * 5 在源碼存放目錄android中執(zhí)行?
?????? $ ~/open_src/android/bin/repo init -u git://android.git.kernel.org/platform/manifest.git?
?????? //中間會(huì)提示輸入電子郵件什么的,如果你打算要提交patch的話,用google accounts注冊(cè)過的郵箱?
??????
??? * 6 在android目錄中執(zhí)行repo sync就可以開始下載源碼了.?
?????? 我們也可以從其他地方把源碼復(fù)制到android目錄, 而我正是這么做的.?
??? * 7 編譯源碼, 并得到~/open_src/android/out 目錄?
?????? 在命令行執(zhí)行make命令:?
?????? $make?
?????? 這是一個(gè)很漫長(zhǎng)的過程, 等吧......?
??? * 8 測(cè)試運(yùn)行?
?????? 8.1 先設(shè)置環(huán)境變量:?
??????? 打開~/.bashrc文件, 并在最后添加下面兩行:?
??????? export PATH=$PATH:~/open_src/android/out/host/linux-x86/bin?
??????? export ANDROID_PRODUCT_OUT=~/open_src/android/out/target/product/generic?
??????
?????? 8.2 運(yùn)行模擬器:?
??????? emulator --debug-init -skin QVGA-L? //可能會(huì)提示unknown option: --debug-init, 去掉--debug-init即可?
??????? 或者直接執(zhí)行emulator, 這樣使用的是默認(rèn)的皮膚?
??????
?????? 如果最后能進(jìn)入到系統(tǒng)并看到一個(gè)大時(shí)鐘, 說明就大功告成了.?
??????
??????
??? * 9 后續(xù)編譯:?

?????????? 先在android目錄下執(zhí)行?
?????????? $ . build/envsetup.sh?
?????????? 然后你就會(huì)多出幾個(gè)可用的命令。在改了Contacts聯(lián)系人項(xiàng)目后,可以簡(jiǎn)單的執(zhí)行一下命令來單獨(dú)編譯這個(gè)部分:?
?????????? $mmm packages/apps/Contacts/?
????????? 為了可以直接測(cè)試改動(dòng),需要生成新的system.img,在android目錄下執(zhí)行:?
?????????? $ make snod?
????????? 當(dāng)然,如果你改動(dòng)的是emulator或者其它外圍相關(guān)的,而非系統(tǒng)內(nèi)部的東西,就不只是要重新生成system.img了?
http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957749.aspx?
http://hi.baidu.com/garnetttt/blog/item/13426d222f72b3ae4623e8f3.html

轉(zhuǎn)載于:https://www.cnblogs.com/greywolf/archive/2013/04/19/3031184.html

總結(jié)

以上是生活随笔為你收集整理的(转)编译Android源码的全过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。