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

全文以Android 12 源碼為例

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

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

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

以上3個(gè)步驟的含義依次如下:

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í)行完上面三個(gè)命令后在源碼根目錄下會(huì)生成android.iprandroid.iml 文件

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

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

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

打開android.iml文件玷或,有大量excludeFolder儡首,是指不會(huì)導(dǎo)入到AS的模塊,默認(rèn)除了以下14個(gè)文件夾之外的所有文件都會(huì)導(dǎo)致到AS工程偏友, 這顯然還會(huì)非常龐大的蔬胯,那么我們可以有選擇的導(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)把全部項(xiàng)目導(dǎo)入到Android Studio,又想刪除怎么辦位他,其實(shí)有一個(gè)簡(jiǎn)單的方法就是進(jìn)入目錄Project Structure -> Modules氛濒, 可快速去除某些模塊, 其中紅色代碼Exclueded選項(xiàng)(即代表已刪除的目錄), 如下圖:

android_source_as_file_import.png

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

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

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

android_source_as_flie_jump.png

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

在閱讀源碼或者開發(fā)時(shí)都會(huì)遇到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. 找到編譯時(shí)生成的的class 文件,右鍵選擇copy path/Refrence copy 相對(duì)路徑

    android_source_as_find_aidl_path.png.png

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

android_source_as_find_aidl_set_path.png.png

如果在開發(fā)中,我們自己寫的aidl 文件也可以通過上面方法進(jìn)行配置违柏,這樣在寫代碼的時(shí)候就不需要我們自己去手動(dòng)引包博烂,也不會(huì)因?yàn)闆]有提示出現(xiàn)錯(cuò)誤

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市漱竖,隨后出現(xiàn)的幾起案子禽篱,更是在濱河造成了極大的恐慌,老刑警劉巖馍惹,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躺率,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡万矾,警方通過查閱死者的電腦和手機(jī)悼吱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來良狈,“玉大人后添,你說我怎么就攤上這事∶茄眨” “怎么了吕朵?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵猎醇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我努溃,道長(zhǎng)硫嘶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任梧税,我火速辦了婚禮沦疾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘第队。我一直安慰自己哮塞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布凳谦。 她就那樣靜靜地躺著忆畅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尸执。 梳的紋絲不亂的頭發(fā)上家凯,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音如失,去河邊找鬼绊诲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛褪贵,可吹牛的內(nèi)容都是我干的掂之。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了摘刑?” 一聲冷哼從身側(cè)響起四康,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裆馒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丐怯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喷好。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖读跷,靈堂內(nèi)的尸體忽然破棺而出梗搅,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布无切,位于F島的核電站荡短,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏哆键。R本人自食惡果不足惜掘托,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望籍嘹。 院中可真熱鬧闪盔,春花似錦、人聲如沸辱士。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)颂碘。三九已至异赫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間头岔,已是汗流浹背祝辣。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留切油,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓名惩,卻偏偏與公主長(zhǎng)得像澎胡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子娩鹉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容