Android系统开发(一)阅读安卓源代码方法——然而并不是SourceInset

  • Post author:
  • Post category:其他


Android Studio阅读源代码

但凡大阅读大工程源代码在windows 端大都会想起一个 n多年没有更新的工具 SourceInset,说实话在阅读kernel和uboot等大工程时未必真的那么好用,但是目前无可替代。建立索引后速度还算可以,如果阅读Android源代码哪怕是老版本的 这个工具会让你产生幻觉:我的电脑是不是崩了。好吧 我们用

Android Studio就是你了。


1、首先我们要做的是编译android源码:这一部分可以参考一下下面的链接,注意被



了。


https://source.android.com/source/initializing


2、


1)在Android源码目录下 使用命令



mmm development/tools/idegen/


这行命令的意思是编译idegen这个项目,生成idegen.jar文件.可被用作快速的读源代码。


但是也有可能被提示:

No command 'mmm' found, did you mean:
 Command 'mm' from package 'multimail' (universe)
 Command 'vmm' from package 'vmm' (universe)
 Command 'mmv' from package 'mmv' (universe)
 Command 'mgm' from package 'mgm' (universe)
 Command 'mmg' from package 'mkvtoolnix-gui' (universe)
 Command 'mmd' from package 'mtools' (main)
 Command 'rmm' from package 'nmh' (universe)
 Command 'rmm' from package 'mailutils-mh' (universe)
 Command 'mwm' from package 'mwm' (universe)

2)

使用:. setenv 之后再次使用mmm命令

再使用



sh ./development/tools/idegen/idegen.sh





这里需要等待一会时间;



果真跟很多帖子一样出现了错误:

Exception in thread "main" java.io.FileNotFoundException: ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.java (Is a directory)

./out/target/product/

xxxxxx

/obj/GYP/shared_intermediates/res.java改为

./out/target/product/

xxxxxx

/obj/GYP/shared_intermediates/res.j

命令为:

mv ./out/target/product/xxxxxx/obj/GYP/shared_intermediates/res.java ./out/target/product/xxxxxx/obj/GYP/shared_intermediates/res.j
s

命令中

xxxxx


对应你自己开发研发设备的名称环境等






之后再次执行:

sh ./development/tools/idegen/idegen.sh





截止到此处 源代码中生成了2个文件:

android.iml, android.ipr





将这两个文件拷贝window下解压的Android源码目录。






接下来时间比较漫长是个建立链接的过程。







3、为了防止关联错误,最好自己指定自己想要关联的库操作如下:




















由衷感谢同事提供的韦老师简短的视频,事半功倍。





版权声明:本文为linux_rookie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。