將Android系統源碼匯入Android studio的方法,androidstudio
Android源碼目錄結構如下:
|-- Makefile
|-- abi (applicationbinary interface,應用程式二進位介面,產生libgabi++.so相關庫檔案)
|-- art (google在4.4後加入用來代替Dalvik的運行時)
|-- bionic (Android的C library,即C庫檔案)
|-- bootable (啟動引導相關代碼)
|-- build (存放系統編譯規則及generic等基礎開發配置包)
|-- cts (Android相容性測試套件標準)
|-- dalvik (dalvik JAVA虛擬機器)
|-- developers (開發人員用,存放幾個例子)
|-- development (開發人員需要的一些常式及工具)
|-- device (裝置相關代碼,這是各廠商需要配置和修改的代碼)
|-- docs (介紹開源相關文檔)
|-- external (android使用的一些開源的模組)
|-- frameworks (核心架構——java及C++語言)
|-- hardware (部分廠家開源的硬解適配層HAL代碼)
|-- kernel (驅動核心相關代碼)
|-- libcore (核心庫相關)
|-- libnativehelper (JNI用到的庫)
|-- ndk (ndk相關)
|-- out (編譯完成後的代碼輸出目錄)
|-- packages (應用程式套件組合)
|-- pdk (google用來減少片段化的東西)
|-- prebuilt (x86和arm架構下先行編譯的一些資源)
|-- sdk (sdk及模擬器)
|-- tools (工具)
|-- system (底層檔案系統庫、應用及組件——C語言)
|-- vendor (廠商定製代碼)
我們可以發現在源碼根目錄有個development檔案夾,裡面放了開發人員需要的一些常式及工具,要將Android系統源碼匯入Android studio就需要用到裡面的工具。
首先匯入系統源碼需要佔用大量的記憶體所以需要在Android studio安裝目錄下的bin檔案夾中的studio64.exe.vmoptions或者studio.exe.vmoptions檔案中中-Xms和-Xmx的值改大(根據電腦記憶體自行修改)。
接下來,執行Android系統代碼編譯環境相關初始化命令後,執行下面命令:
mmm development/tools/idegen/
然後執行
development/tools/idegen/idegen.sh
等出現下面結果
Read excludes: 13msTraversed tree: 143977ms
執行完後,會在源碼的根目錄下產生android.ipr和android.iml檔案。使用Android studio開啟android.ipr檔案,就可以匯入系統源碼了。
由於Android系統源碼比較龐大,匯入比較耗時,建議先修改android.iml排除一些代碼,文法如下:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
參考:
http://www.cnblogs.com/Lefter/p/4176991.html
http://www.jianshu.com/p/c2389cb35565