編譯Android源碼包
編譯Android系統。
㈡ 如何編輯和調試android源碼
在源碼中,存在idegen模塊,該模塊專門用來為idea工具生成系統源碼的project.
在開始編譯該模塊之前,首先確保你已經編譯過Android源碼了,如果沒有,可以參考上篇文章進行編譯.
和編譯普通的模塊一樣,我們用mmm命令編譯idegen.在開始編譯之前,檢查out/host/linux-x86/framework/目錄下是否存在idegen.jar文件,存在則說明你已經編譯過該模塊,否者,則需要編譯.執行如下命令即可:
soruce build/envsetup.sh
mmm development/tools/idegen/
sudo ./development/tools/idegen/idegen.sh123123
其中mmm development/tools/idegen/執行完成後會生成idegen.jar,而sodo ./development/tools/idegen/idegen.sh則會在源碼目錄下生成IEDA工程配置文件:android.ipr,android.iml及android.iws.
簡單的說明一下這三個文件的作用:
android.ipr:通常是保存工程相關的設置,比如編譯器配置,入口,相關的libraries等
android.iml:則是主要是描述了moles,比如moles的路徑,依賴關系等.
android.iws:則主要是包含了一些個人工作區的設置.
㈢ windows下如何編譯自己寫的android源碼
再電腦上查看android源碼,需要搭建android開發環境:
1、jdk下載並安裝
2、Eclipse編譯器下載安裝,並安裝ADT插件和android SDK
待編譯環境搭建完成,導入android工程源碼,就可以順利打開了!
㈣ 如何編譯android手機源碼
編譯android系統源碼准備工作:
下載android源碼
在windows上用gitbash ,git clone 下載代碼
在linux上這樣下載
創建~/bin目錄,用來存放repo程序,如下:
$ cd ~
$ mkdir bin
初始化repo
repo是android對git的一個封裝,簡化了一些git的操作。
創建工程目錄:
$ mkdir android
$ cd android
下載repo腳本並使其可執行:
$ curl http://android.git.kernel.org/repo >~/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系統,推薦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環境
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
是環境變數生效
編譯android源碼,並得到~/android/out目錄
$ cd ~/andoird
$ make
這一過程很久。
這就編譯結束了
㈤ 如何用ubuntu編譯android 源碼
點擊任務欄中的「應用程序」-----「附件」------「終端」,打開終端命令行關機,英文版本的系統操作就如下圖所示
進入到下載好的Android4.4源碼目錄中,小編的源碼目錄就在宿主目錄下的android4.4中,如下圖
為了提高編譯的效率,我們最好先設置一下編譯器的高速緩存從而加快編譯速度,使用下面的命令
prebuilts/misc/linux-x86/ccache/ccache -M 50G
注意事項:
1、前提是已經在 .bashrc文件中添加:export USE_CCACHE = 1
2、ccache是一個可執行文件
3、-M 50G 兩個參數表示設置50G大小的空間作為緩存,這個數值可以根據自己時間硬碟空間大小繼續調整
㈥ 如何單獨編譯Android源代碼中的模塊
Android源碼目錄下的build/envsetup.sh文件,描述編譯的命令
- m: Makes from the top of the tree.
- mm: Builds all of the moles in the current directory.
- mmm: Builds all of the moles in the supplied directories.
要想使用這些命令,首先需要在android源碼根目錄執行. build/envsetup.sh 腳本設置環境
m:編譯所有的模塊
mm:編譯當前目錄下的模塊,當前目錄下要有Android.mk文件
mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件
下面舉個例子說明,假設我要編譯android下的\hardware\libhardware_legacy\power模塊,當前目錄為源碼根目錄,方法如下:
1、. build/envsetup.sh
2、mmm hardware/libhardware_legacy/power/
編譯完後 運行 make snod
會重新將你改過的模塊打入到system.img中
㈦ 如何單獨編譯Android源碼中的模塊
第一次下載好Android源代碼工程後,我們通常是在Android源代碼工程目錄下執行make命令,經過漫長的等待之後,就可以得到Android系統鏡像system.img了。以後如果我們修改了Android源代碼中的某個模塊或者在Android源代碼工程新增一個自己的模塊,是不是還是執行make命令呢?答案是否定的,Google為我們准備了另外的命令來支持編譯單獨的模塊,以及重新打包system.img的命令。在繼續學習Android源代碼之前,就讓我們先來看看這個命令吧。
一. 首先在Android源代碼目錄下的build目錄下,有個腳本文件envsetup.sh,執行這個腳本文件後,就可以獲得一些有用的工具: USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh 注意,這是一個source命令,執行之後,就會有一些額外的命令可以使用: - croot: Changes directory to the top of the tree. - m: Makes from the top of the tree. - mm: Builds all of the moles in the current directory. - mmm: Builds all of the moles in the supplied directories. - cgrep: Greps on all local C/C++ files. - jgrep: Greps on all local Java files. - resgrep: Greps on all local res/*.xml files. - godir: Go to the directory containing a file. 這些命令的具體用法,可以在命令的後面加-help來查看,這里我們只關注mmm命令,也就是可以用它來編譯指定目錄的所有模塊,通常這個目錄只包含一個模塊。
二. 使用mmm命令來編譯指定的模塊,例如Email應用程序: USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/ 編譯完成之後,就可以在out/target/proct/generic/system/app目錄下看到Email.apk文件了。Android系統自帶的App都放在這具目錄下。另外,Android系統的一些可執行文件,例如C編譯的可執行文件,放在out/target/proct/generic/system/bin目錄下,動態鏈接庫文件放在out/target/proct/generic/system/lib目錄下,out/target/proct/generic/system/lib/hw目錄存放的是硬體抽象層(HAL)介面文件。
三. 編譯好模塊後,還要重新打包一下system.img文件,這樣我們把system.img運行在模擬器上時,就可以看到我們的程序了。 USER-NAME@MACHINE-NAME:~/Android$ make snod
四. 參照Ubuntu上下載、編譯和安裝Android最新源代碼一文介紹的方法運行模擬器: USER-NAME@MACHINE-NAME:~/Android$ emulator 這樣一切就搞定了。