Android源碼導(dǎo)入AndroidStudio或IntelliJ?IDEA的方法
一、前言
經(jīng)常和Android系統(tǒng)源代碼(AOSP)打交道的人,如果要去修改系統(tǒng)源碼,顯然用SourceInsight、Notepad++、vim這些工具有些麻煩,并且想快速補(bǔ)全代碼也做不到。
我們可以用idegen來(lái)生成針對(duì)AndroidStudio或IntelliJ IDEA的Android系統(tǒng)源代碼工程配置文件,它位于Android系統(tǒng)源代碼工程目錄的下列位置:
development/tools/idegen ├── Android.bp ├── excluded-paths ├── idegen.iml ├── idegen.ipr ├── idegen.sh ├── index-gen.sh ├── intellij-gen.sh ├── README ├── src │ ├── com │ │ └── android │ │ └── idegen │ │ ├── DirectorySearch.java │ │ ├── FrameworkModule.java │ │ ├── IntellijProject.java │ │ ├── MakeFileParser.java │ │ ├── ModuleCache.java │ │ ├── ModuleIndexes.java │ │ └── Module.java │ ├── Configuration.java │ ├── Eclipse.java │ ├── Excludes.java │ ├── Files.java │ ├── IntelliJ.java │ ├── Log.java │ ├── Main.java │ └── Stopwatch.java └── templates ├── android.iml ├── android.ipr ├── idea │ ├── compiler.xml │ ├── copyright │ │ ├── Apache_2.xml │ │ └── profiles_settings.xml │ ├── misc.xml │ ├── modules.xml │ └── vcs.xml └── module-template.iml 7 directories, 32 files
二、idegen使用方法
我們以Android10.0.0_r2為例。
1. 全編AOSP
下載完源碼后,首先要編譯一遍源碼。
在AOSP源碼根目錄執(zhí)行下面的命令:
source build/envsetup.sh lunch aosp_arm-eng make -j32
注意:源碼下載請(qǐng)參照《AOSP源碼下載》
2. 編譯生成idegen.jar
在AOSP源碼根目錄執(zhí)行下面的命令:
mmma development/tools/idegen/
編譯完成后,將會(huì)生成idegen.jar文件,文件的具體位置:out/host/linux-x86/framework/idegen.jar
3. 生成IDE配置文件
在AOSP源碼根目錄執(zhí)行下面的命令:
source development/tools/idegen/idegen.sh
腳本執(zhí)行完成后,編譯目錄下會(huì)生成三個(gè)文件,編譯目錄如下:
Android_10_0_0_r2 ├── Android.bp -> build/soong/root.bp ├── android.iml ├── android.ipr ├── art ├── bionic ├── bootable ├── bootstrap.bash -> build/soong/bootstrap.bash ├── build ├── .classpath ├── cts ├── dalvik ├── developers ├── development ├── device ├── external ├── frameworks ├── hardware ├── kernel ├── libcore ├── libnativehelper ├── Makefile ├── out ├── packages ├── pdk ├── platform_testing ├── prebuilts ├── sdk ├── system ├── test ├── toolchain └── tools 25 directories, 6 file
其中:
# 用于AndroidStudio或IntelliJ IDEA的項(xiàng)目配置文件 android.ipr android.iml # 用于Eclipse的項(xiàng)目配置文件 .classpath
4. 將工程導(dǎo)入到IDE
如果使用AndroidStudio或IntelliJ IDEA,選擇剛才生成的android.ipr文件即可。
整個(gè)導(dǎo)入的時(shí)間根據(jù)電腦性能的差異而不同。
到此這篇關(guān)于Android源碼導(dǎo)入AndroidStudio或IntelliJ IDEA的文章就介紹到這了,更多相關(guān)Android源碼導(dǎo)入AndroidStudio內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android自定義ViewGroup實(shí)現(xiàn)受邊界限制的滾動(dòng)操作(3)
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)受邊界限制的滾動(dòng)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Flutter 全局點(diǎn)擊空白處隱藏鍵盤(pán)實(shí)戰(zhàn)
這篇文章主要介紹了Flutter 全局點(diǎn)擊空白處隱藏鍵盤(pán)實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09android實(shí)現(xiàn)RecyclerView列表單選功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)RecyclerView列表單選功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07解決webview 第二次調(diào)用loadUrl頁(yè)面不刷新的問(wèn)題
這篇文章主要介紹了解決webview 第二次調(diào)用loadUrl頁(yè)面不刷新的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android Studio 3.5版本JNI生成SO文件詳解
這篇文章主要介紹了Android Studio 3.5版本JNI生成SO文件詳解,想了解JNI的同學(xué),可以參考下2021-04-04Android開(kāi)發(fā)實(shí)現(xiàn)自定義水平滾動(dòng)的容器示例
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)自定義水平滾動(dòng)的容器,涉及Android滾動(dòng)容器的事件響應(yīng)、屬性運(yùn)算與修改相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Android IPC進(jìn)程間通信詳解最新AndroidStudio的AIDL操作)
這篇文章主要介紹了Android IPC進(jìn)程間通信的相關(guān)資料,需要的朋友可以參考下2016-09-09