Android Studio 進(jìn)行AOSP源碼開發(fā)配置(Java 部分)

全文以Android 12 源碼為例

1. 生成IDE相關(guān)文件

idegen專門為IDE環(huán)境調(diào)試源碼而設(shè)計的工具, 依次執(zhí)行如下命令:

soruce build/envsetup.sh  
mmm development/tools/idegen/  
./development/tools/idegen/idegen.sh

以上3個步驟的含義依次如下:

Step 1: 用于初始化環(huán)境變量
Step 2: 生成文件out/host/linux-x86/framework/idegen.jar
Step 3: 源碼根目錄生成文件android.ipr(工程相關(guān)設(shè)置), android.iml(模塊相關(guān)配置)

執(zhí)行完上面三個命令后在源碼根目錄下會生成android.iprandroid.iml 文件

2. 源碼導(dǎo)入Android Studio

打開Android Studio, 點擊 File -> Open,選中前面生成的android.ipr文件即可, 該過程較耗時, 所以下面介紹兩種方式來移除我們不關(guān)心的文件,讓Android studio 只加載我們使用的源碼來提高IDE 速度

修改配置文件提高加載速度:

打開android.iml文件,有大量excludeFolder,是指不會導(dǎo)入到AS的模塊,默認(rèn)除了以下14個文件夾之外的所有文件都會導(dǎo)致到AS工程, 這顯然還會非常龐大的,那么我們可以有選擇的導(dǎo)入 如下:

<excludeFolder url="file://$MODULE_DIR$/.repo"/>
<excludeFolder url="file://$MODULE_DIR$/external/bluetooth"/>
<excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs"/>
<excludeFolder url="file://$MODULE_DIR$/out/host"/>
<excludeFolder url="file://$MODULE_DIR$/prebuilt"/>

Android stuido 內(nèi)修改

如果已經(jīng)把全部項目導(dǎo)入到Android Studio,又想刪除怎么辦,其實有一個簡單的方法就是進(jìn)入目錄Project Structure -> Modules, 可快速去除某些模塊, 其中紅色代碼Exclueded選項(即代表已刪除的目錄), 如下圖:

android_source_as_file_import.png

3. 配置源碼正確跳轉(zhuǎn)

將 AOSP 的源碼導(dǎo)入 AndroidStudio 后,碰到點擊跳轉(zhuǎn)查看源碼,還是跳轉(zhuǎn)到 android.jar ,無法查看真實源碼的情況, 原因是由于工程配置中andriod.jar的優(yōu)先級,大于本地源碼的優(yōu)先級。解決方法是將源碼的的優(yōu)先級提前。

具體操作如下:
File - Project Structure - Project Settings - Modules - Dependencies - Module Source ,將Module Source 移到最頂 第一行。操作為:選中 Module source ,一直按 ALT + ↑ (ALT + 向上箭頭),將其移動到第一行。

android_source_as_flie_jump.png

4. 配置aidl文件跳轉(zhuǎn)

在閱讀源碼或者開發(fā)時都會遇到aidl文件找不到, 下面我們以ActivityManagerServiceIActivityManager aidl 為例介紹如何使我們的Android Studio 具有aidl 類跳轉(zhuǎn)的能力

添加前提是你已經(jīng)編譯過framework 代碼并按照上面方法將Android源碼引入到Android studio 中

  1. 搜索我們要查找的aidl 類名稱: 如:IActivityManager.class

    android_source_as_find_aidl.png.png

  2. 找到編譯時生成的的class 文件,右鍵選擇copy path/Refrence copy 相對路徑

    android_source_as_find_aidl_path.png.png

3.在Android Studio 中點擊 File -> Project Structure 打項目結(jié)構(gòu)設(shè)置窗口, 選中 Global Libraries 后點擊上面 + 號選擇Java 配置上一步copy的路徑,配置后等待配置信息同步完成即可進(jìn)行跳轉(zhuǎn)

android_source_as_find_aidl_set_path.png.png

如果在開發(fā)中,我們自己寫的aidl 文件也可以通過上面方法進(jìn)行配置,這樣在寫代碼的時候就不需要我們自己去手動引包,也不會因為沒有提示出現(xiàn)錯誤

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容