AS查看Android系统源码
首先要編譯安卓源碼。我現(xiàn)在使用的是Android5.0源碼。平臺是tiny4412平臺。
- 一. 編譯Android 系統(tǒng)
進(jìn)入上述解壓得到的android-5.0.2,執(zhí)行以下命令(注意:“.”號后有一個空格):
.setenv再執(zhí)行“lunch”命令,輸入“fulltiny4412?eng”前的數(shù)字標(biāo)號,如下所示: lunch
You’re building on Linux
Lunch menu… pick a combo:
- aosp_arm-eng
- aosp_arm64-eng
- aosp_mips-eng
- aosp_mips64-eng
- aosp_x86-eng
- aosp_x86_64-eng
- full_tiny4412-userdebug
- full_tiny4412-eng
- aosp_mako-userdebug
- aosp_hammerhead-userdebug
- aosp_tilapia-userdebug
- aosp_grouper-userdebug
- aosp_deb-userdebug
- full_fugu-userdebug
- aosp_fugu-userdebug
- aosp_flo-userdebug
- aosp_shamu-userdebug
- aosp_manta-userdebug
- mini_emulator_mips-userdebug
- mini_emulator_x86_64-userdebug
- mini_emulator_arm64-userdebug
- m_e_arm-userdebug
- mini_emulator_x86-userdebug
韋東山Android 系統(tǒng)視頻
Which would you like? [aosp_arm-eng] 8
接著執(zhí)行“make”命令開始編譯,也可以在make 后加上“-j”參數(shù)利用CPU 的多核加快編譯
速度,比如在4 核CPU 上可以執(zhí)行“make –j4”。
注意:編譯過程可能持續(xù)4、5 個小時。
- 二、生成AS工程文件
剩下的操作可以參考這篇文章
https://www.jianshu.com/p/c85984cf99e2
然后執(zhí)行mmm development/tools/idegen/
mv ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.java ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.j
sh ./development/tools/idegen/idegen.sh執(zhí)行完畢所有的操作后會在android源碼的根文件路徑下生成android.iml和android.ipr這兩個文件。
- 三、構(gòu)建windows下的安卓源碼工程
解壓一份安卓源碼添加上剛才生成的android.iml和android.ipr這兩個文件兩個文件就能夠用AS查看。但是我發(fā)現(xiàn)韋東山在創(chuàng)建AS可查看的工程時,并沒有把所有的代碼都加入了。他只是用了。
device externel framworks hardware packages system 這6個文件夾下的代碼。然后跟android.iml和android.ipr這倆文件組成了一個工程。
- 四、AS導(dǎo)入安卓源碼工程并進(jìn)行搜索配置
1:使用AS open新工程,加載android.ipr文件,同步一段時間后。
點(diǎn)擊Flie->projectstructure->SDKs 選擇+->JDK,在彈出來的路徑中選擇java的安裝目錄,正常是c:\program Files\java\jdk1.80_51起名字為1.8nolibs然后把Classpath中所有的數(shù)據(jù)全都delete掉。
然后在Android API xx Plateform(xx代表所有的顯示出來的數(shù)值)JavaSDK選項中選擇 剛才創(chuàng)建的1.8_nolibs。確定退出
2:Flie->projectstructure->Project 右側(cè)彈出來的選擇 一個Android APIxx Plateform 第二個框選擇 7。在Modules中Dependences里面刪掉所有的只保留最后兩項。然后就萬事大吉了。
總結(jié)
以上是生活随笔為你收集整理的AS查看Android系统源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多网卡命名规则
- 下一篇: Android 中文 API (16)