本文做爲 Android Framework 學習的開篇,主要介紹了在Mac環境下的源碼下載、編譯、運行、導入閱讀、調試等步驟。裏面更可能是整理不一樣文章的信息,因爲是一些配置較多的東西,因此這篇文章更可能是記錄和供參考。php
10.12.6
8.3.3
我以前的系統是 Mac
10.13
,後來在編譯的過程當中遇到各類問題,雖然大部分都解決了,可是在後面的虛擬機運行中又遇到HAXM not support
等問題,因此最後選擇降級系統。Max系統降級能夠參考該文章 手欠MacBook升級OS V10.13失敗,教你蘋果系統降級自救的方法html
而後用一塊移動硬盤專門存放源碼。這裏要對硬盤進行分區,分區類型選擇 Mac OS 擴展(區分大小寫,日誌式)
。大概要分出 250GB
大小。java
參見 github-android-open-source-project-analysis(2 下載repo工具 、3 下載源碼)android
下載完成後進入源碼目錄,開始編譯。首先要切換shell,要使用 bash
進行編譯git
chsh -s /bin/bash
複製代碼
清空以前build的文件程序員
make clobber
複製代碼
編譯須要設置環境變量和選擇打出image的版本github
source build/envsetup.sh
lunch aosp_x86_64-userdebug //打出的img小一點 虛擬機運行起來快一點
make -j8 //根據個人cpu線程數決定
複製代碼
若是出現 JDK 沒有設置的錯誤,則運行shell
export ANDROID_JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
複製代碼
參考 macOS(Sierra 10.12)上Android源碼(AOSP)的下載、編譯與導入到Android Studio - 編譯bash
參考 Android FrameWork學習(一)Android 7.0系統源碼下載\編譯架構
當修改了部分模塊後,不須要總體從新編譯,只須要編譯想應模塊便可。
編譯須要設置環境變量和選擇打出image的版本
source build/envsetup.sh
lunch aosp_x86_64-userdebug
mmm ./packages/experimental/HelloAndroid/
make snod
複製代碼
參考 進擊的程序員-1.6.1 導入單獨編譯模塊的mmm命令
虛擬機運行
emulator -partition-size 4096 -memory 2048
複製代碼
先生成項目文件
source build/envsetup.sh
mmm development/tools/idegen/
./development/tools/idegen/idegen.sh
複製代碼
參考 Android FrameWork學習(二)Android系統源碼調試
跳轉問題:dependence順序要提到最上面
參考 Android FrameWork學習(二)Android系統源碼調試
https://blog.csdn.net/itachi85/article/details/54695046