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、为了防止关联错误,最好自己指定自己想要关联的库操作如下:
由衷感谢同事提供的韦老师简短的视频,事半功倍。