编译AOSP方便阅读源码

来源:互联网 发布:电影编辑软件 知乎 编辑:程序博客网 时间:2024/05/29 15:06

背景:
下载完成AOSP阅读源码的过程中,由于代码量打,如果使用日志的方式来判断业务流程怎么走会提升效率,因此怎样才能正确的使用log日志有助于快速阅读是这部分文档的目的。

分析:
1.下载AOSP。
1.1AOSP在国内可以使用TUNA的镜像,具体的方法如下面的链接:
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
1.2下载完成后,有可能会有其他的Vendor驱动需要添加,需要下载对应的驱动,参考下面的文章。为了尝试使用kraft2的Vendor驱动,但是发现失败,此处没有进一步深入,感觉应该和底层驱动有关系。
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0210/2455.html

2.编译AOSP。
尝试过1.2中的错误后,后面选择了默认编译,注意lunch时的选择,参考1.2中的链接,知道lunch的选项如下:
/data/AOSP_6_TUNA/AOSP$ lunch
You’re building on Linux
Lunch menu… pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. aosp_deb-userdebug
8. aosp_flo-userdebug
9. full_fugu-userdebug
10. aosp_fugu-userdebug
11. mini_emulator_arm64-userdebug
12. m_e_arm-userdebug
13. mini_emulator_mips-userdebug
14. mini_emulator_x86_64-userdebug
15. mini_emulator_x86-userdebug
16. aosp_flounder-userdebug
17. aosp_angler-userdebug
18. aosp_bullhead-userdebug
19. aosp_hammerhead-userdebug
20. aosp_hammerhead_fp-userdebug
21. hikey-userdebug
22. aosp_shamu-userdebug
对android avd配置信息的生成:应的机型对比如下:

Device Code name Build configuration
Nexus 6 shamu aosp_shamu-userdebug
Nexus Player fugu aosp_fugu-userdebug
Nexus 9 volantis (flounder) aosp_flounder-userdebug
Nexus 5 (GSM/LTE) hammerhead aosp_hammerhead-userdebug
Nexus 7 (Wi-Fi) razor (flo) aosp_flo-userdebug
Nexus 7 (Mobile) razorg (deb) aosp_deb-userdebug
Nexus 10 mantaray (manta) full_manta-userdebug
Nexus 4 occam (mako) full_mako-userdebug
Nexus 7 (Wi-Fi) nakasi (grouper) full_grouper-userdebug
Nexus 7 (Mobile) nakasig (tilapia) full_tilapia-userdebug
Galaxy Nexus (GSM/HSPA+) yakju (maguro) full_maguro-userdebug
Galaxy Nexus (Verizon) mysid (toro) aosp_toro-userdebug
Galaxy Nexus (Experimental) mysidspr (toroplus) aosp_toroplus-userdebug
PandaBoard (Archived) panda aosp_panda-userdebug
Motorola Xoom (U.S. Wi-Fi) wingray full_wingray-userdebug
Nexus S soju (crespo) full_crespo-userdebug
Nexus S 4G sojus (crespo4g) full_crespo4g-userdebug

 所以最后选择了aosp-arm-eng 模拟器enginee 即默认的lunch

3.运行img。
编译完成后会输出文件到out目录下。最重要的几个img文件如下:
system.img
userdata.img
ramdisk.img
因此在编译完成后在out目录下使用下面的命令来启动模拟器:
emulator -data userdata.img

0 0
原创粉丝点击