編譯android系統(tǒng)源碼準備工作:

平泉網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),平泉網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為平泉上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的平泉做網(wǎng)站的公司定做!
下載android源碼
在windows上用gitbash ,git clone 下載代碼
在linux上這樣下載
創(chuàng)建~/bin目錄,用來存放repo程序,如下:
$ cd ~
$ mkdir bin
初始化repo
repo是android對git的一個封裝,簡化了一些git的操作。
創(chuàng)建工程目錄:
$ mkdir android
$ cd android
下載repo腳本并使其可執(zhí)行:
$ curl ~/bin/repo
$ chmod a+x ~/bin/repo
repo初始化:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在此過程中需要輸入名字和email地址。初始化成功后,會顯示:
repo initialized in /android
在~/android下會有一個.repo的隱藏目錄。
5)同步源代碼
$ repo sync
這一步要很久很久。
安裝linux系統(tǒng),推薦ubuntu,圖形界面
安裝編譯需要的支持包
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
安裝java6.0
$ sudo apt-get install sun-java6-jdk
配置java環(huán)境
sudo gedit ~/.bashrc
末尾加上
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
sudo source ~/.bashrc
是環(huán)境變量生效
編譯android源碼,并得到~/android/out目錄
$ cd ~/andoird
$ make
這一過程很久。
這就編譯結(jié)束了
創(chuàng)建文件 IMyApiService
文件路徑 frameworks/base/core/java/android/os/
定義了一個計算和的方法。
在frameworks/base/Android.mk
LOCAL_SRC_FILES最后加入
創(chuàng)建文件 MyApiService.java
文件路徑 frameworks/base/core/java/com/android/server/
實現(xiàn)aidl的接口,計算參數(shù)和。
(1)Context添加服務(wù)名
文件路徑 frameworks/base/core/java/android/content/Context.java
添加
(2)添加啟動服務(wù)
文件路徑 frameworks/base/services/java/com/android/server/SystemServer.java
在startOtherServices方法中添加
創(chuàng)建 MyApiManager.java文件
文件路徑 frameworks/base/core/java/android/app/
文件路徑 frameworks/base/core/java/android/app/ContextImpl
添加registerService
記住make update-api
編譯打包完成后,燒寫新的固件。
jar主要為了在android studio編譯環(huán)境中MyApiManager報錯導(dǎo)致編譯不通過問題。
也可以導(dǎo)入frameworks jar包或使用反射。
在源碼目錄packages/app下新建MyJar文件夾
并新建目錄com/myapi/(包名)
在目錄com/myapi/新建文件MyApi.java
具體Android.mk語法這里不做解釋,可以自行查閱
在MyApi目錄下直接運行mm編譯命令(記得先source build/envsetup.sh)
待編譯完成后,jar生成目錄
out/target/common/obj/JAVA_LIBRARIES/Myapi_intermediates/javalib.jar
可更改為其他名稱。
1、通過 ubuntu 軟件中心安裝 wine;
2、通過 ubuntu 軟件中心安裝 winetricks;
3、通過 winetricks 在 shell中輸入: winetricks mfc42
1、通過 wine windows 的方式啟動代理服務(wù)器
2、設(shè)置瀏覽器代理服務(wù)器
3、設(shè)置shell代理服務(wù)器:
在shell中輸入 sudo gedit /etc/bash.bashrc
在文件 /etc/bash.bashrc 中添加
通過shell安裝如下的組件:
1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
2、新建一個存放源碼的目錄,如:mkdir ~/andorid/source
3、在源碼目錄中輸入命令:repo init -u -b android-4.0.1_r1
其中: android-4.0.1_r1是android源碼的版本,更多的版本可以通過下面的方式查詢:
4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值為:
git://Android.git.linaro.org/
通過如下的指令來設(shè)置郵箱和用戶名
git config --global user.name "your name" ----修改用戶名git config --global user.email "your email" ----修改email
5、在source目錄下輸入指令:repo sync
便開始了代碼的下載
方便他人亦是方便自己,如果覺得還行就點下下邊的投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!
工具/原料
Android adt
源碼包
方法/步驟
打開sdk的路徑,以我自己的為例,具體路徑為:E:\adt-bundle-windows-x86-20140321\sdk
把源碼包解壓后放到上一步的sdk目錄下,我的源碼包為:sources-19_r02,
選中Java代碼中的代碼,如String a = "bb",這行中的String,按住ctrl,同事單擊鼠標左鍵,這是eclipse中出現(xiàn) “Attach Source...”或者“Change Attached Source...”
單擊“Attach Source...”或者“Change Attached Source...”,這是eclipse彈出“Source Attachment Configuration”,
單擊“Source Attachment Configuration”,選中路徑為 E:\adt-bundle-windows-x86-20140321\sources-19_r02 的這個文件夾,確定。這時候就完成了Android源碼的導(dǎo)入了。
大概有10G的源代碼,一Byte一個字符,也就是說有超過100億個字符,每行按標準80字符來算的話,超過1億行。開放的WinXP系統(tǒng)有2億行,從數(shù)量級上來看的話,應(yīng)該差不多。Android 4.4,是由Google公司制作和研發(fā)的代號為KitKat的手機操作系統(tǒng),于北京時間2013年9月4日凌晨對外公布了該Android新版本的名稱,為Android 4.4(代號 KitKat 奇巧)。據(jù)悉,該代號來自雀巢的KitKat巧克力。"Kit Kat"原本是雀巢公司的一款巧克力名稱。谷歌表示,他們非常感謝雀巢授權(quán)使用該名稱,但使用的時候會將中間的空格去掉。Android 4.4 KitKat針對RAM占用進行了優(yōu)化,甚至可以在一些僅有512MB RAM的老款手機上流暢運行。它也進一步優(yōu)化了系統(tǒng)在低配硬件上的運行效果, 支持內(nèi)核同頁合并 KSM,zRAM 交換,似乎是為了更好地在眾多智能穿戴設(shè)備上運行。
是指sdk的源碼,還是android操作系統(tǒng)的源碼,不過都有10G左右,另外sdk的源碼是用git管理的,一次下載后,用git check就可以切換到各個版本。Android SDK是用于開發(fā)Android上JAVA應(yīng)用程序的,另外發(fā)布Android NDK,可以添加一些C語言寫的鏈接庫,至于Linux代碼,可以在Android源代碼中找到(SDK程序中只有編譯好的測試映像)。應(yīng)用程序開發(fā)用不到Linux代碼(搞嵌入式開發(fā)才會用到,而SDK不負責底層開發(fā))。
當我們在eclipse中開發(fā)android程序的時候,往往需要看源代碼(可能是出于好奇,可能是讀源碼習慣),那么如何查看Android源代碼呢?
比如下面這種情況
假設(shè)我們想?yún)⒖碅ctivity類的源代碼,按著Ctrl鍵,左擊它,現(xiàn)實的結(jié)果卻看不到代碼的,提示的信息便是“找不到Activity.class文件”。
此時點擊下面的按鈕,“Change Attached Source…”,選擇android源代碼所在位置,便彈出圖三的對話框。
第一種是選擇工作目錄,即已經(jīng)存在的android應(yīng)用程序源代碼。
第二種分兩種方式
(1)選擇External File…按鈕,添加Jar格式文件或者zip格式文件路徑;
(2)選擇External Floder…按鈕,添加文件夾所在路徑。
下面問題就來了,源代碼在哪里?不能憑空產(chǎn)生阿。
可以通過Android SDK Manager進行源代碼下載;(推薦該種方法),如圖四
勾選Source for Android SDK,進行下載即可。
此外也可通過其他途徑下載,網(wǎng)上有很多共享的資源。
這里選擇第二種方式的(2)方法,選擇源碼所在目錄(即圖四下載源代碼目錄所在路徑),如圖五
點擊“OK”按鈕,此時,Activity文件便能夠查看源代碼了,如圖六。
這樣就大功告成了!!!
網(wǎng)頁題目:android系統(tǒng)源碼,android系統(tǒng)源碼修改與刷機
轉(zhuǎn)載來源:http://chinadenli.net/article43/dseeoes.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、服務(wù)器托管、定制開發(fā)、動態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)