在android源碼根目錄下,執行以下三步即可編譯android:
1. . build/envsetup.sh #這個腳本用來設置android的編譯環境;
2. lunch #選擇編譯目標
3. make #編譯android整個系統
android平臺提供了幾個命令用於編譯,分別爲:
1. make: 不帶任何參數則是編譯整個系統,編譯時間比較長,初次編譯使用此命令。
make MediaProvider: 單個模塊編譯,會把該模塊及其依賴的其他模塊一起編譯(會搜索整個源代碼來定位MediaProvider模塊所使用的Android.mk文件,還要判斷該模塊依賴的其他模塊是否有修改);
eg:make services:編譯系統服務及相關的模塊;
make bootimg:生成boot.img;
make -j 8:該指令通過-j
參數來設置參與編譯的線程數量,以提高編譯速度。
2. mmm packages/providers/MediaProvider: 編譯指定目錄下的模塊,但不編譯它所依賴的其它模塊;
3. mm: 編譯當前目錄下的模塊,它和mmm一樣,不編譯依賴模塊; 這種編譯方式一般需要cd進入packages/providers/MediaProvider目錄,然後執行mm指令;
4. mma: 編譯當前目錄下的模塊及其依賴項
。
以上三個命令都可以用-B選項來重新編譯所有目標文件。