下載、編譯和測試android源代碼linux
配置android源代碼下載環境android
1,建立一個用於存放下載腳本文件(repo)的目錄(可將該腳本文件一放到任何目錄中)git
2,下載repo腳本文件(用於下載android源代碼)架構
Repo文件其實是用Python腳本對git的封裝,主要是爲了簡化下載android源代碼的操做。工具
3,建立用於存放android源代碼的目錄測試
4,初始化ui
5,開始下載android源代碼spa
下載android源代碼中的一部分 有兩種方法:xml
方法1,使用repo sync命令blog
<android源代碼目錄>/bootable/recovery(執行命令前仍然須要使用repo init初始化)
獲取工程名:當執行repo init命令初始化的過程當中,會在當前目錄生成一個隱藏目錄.repo。在該目錄中,manifest.xml 該文件包含了當前android源代碼版本庫中包含的全部工程的列表,其中每一行表示一個工程,其中path屬性表示工程的路徑,name屬性表示工程名。repo sync命令後跟的是name屬性的值
方法2,使用git clone命令
以上兩者區別:repo sync會在當前目錄生成一個隱藏目錄.repo,存放了源代碼所需的所有信息,且下載指定工程的源代碼會按照實際的路徑存放。而git clone只會創建工程目錄,並不會創建層次路徑結構
編譯android源代碼
1,初始化編譯環境 #cource build/envsetup.sh
mm命令必須進入指定工程的目錄進行編譯,mmm命令能夠源代碼目錄結構中的任何一級目錄編譯任意指定的工程,只須要指定工程路徑便可。
2,選擇目標
3,編譯android源代碼
# make -jn 使用多個CPU內核進行編譯,提升編譯效率
Out目錄中
Host目錄只要是一些庫和工具,target目錄中包含common和product
下載和編譯Linux內核源代碼
安裝android內核的編譯環境
配置Linux內核源代碼根目錄下的Makefile文件
ARCH ?= arm
CROSS_COMPILE?= arm-none-linux-gnueabi-
ARCH變量表示將Linux源代碼編譯成可在arm架構上運行的Linux內核。
CROSS_COMPILE變量表示交叉編譯器的前綴。
http://www.cnblogs.com/875825a/