好处:使用studio查看源码的时候,如果不生成.ipr .iml文件,查看的Java文件是无法索引到其他的文件的,需要一个一个的搜索,很不方便,而.ipr .iml文件就可以解决这部分问题,而且它还可以控制你需要查看源码的内容,比如你不需要查看cpp库,你就可以在.ipr文件中去除对应的文件夹,使你的studio可以更快的打开。
第一步:进入AOSP的根目录,执行命令:
source build/envsetup.sh
lunch
mmm development/tools/idegen/
如果执行成功,可以看到这个提示内容
build completed successfully (02:39 (mm:ss))
但是很不幸我执行报错了,报错内容:
ninja:error:"out/host/common/obj/JAVA_LIBRARIES/guavalib_intermediates/classes-full-debug.jar"need by"out/host/common/obj/JAVA_LIBRARIES/idegen_intermediates/class-full-debug.jar" missing and no know rule to make it
解决办法:在项目的根目录执行以下的命令:
make idegen
第二步:执行:
sh ./development/tools/idegen/idegen.sh
如果执行报错了,报错内容:
./development/tools/idegen/idegen.sh: 8: [[: not found
find: ‘/android’: No such file or directory
Couldn't find idegen.jar. Please run make first.
解决办法:在项目的根目录执行以下的命令:
./development/tools/idegen/idegen.sh
好了,在项目的根目录就会生成.ipr .iml 文件了。
第三步:接下来打开studio 选择 .ipr 文件导入即可,又发现一个问题:
Android studio 一直在执行 scan file to index 任务
也有很多人遇到这个问题
https://stackoverflow.com/questions/17834821/android-studio-background-task-running-indefinitely
通过上面的方法,发现对自己无效。采用了另外一篇文章的解决办法。
https://blog.csdn.net/shisanmei911/article/details/79761569
解决办法:
1 invalidate and restart 不起作用
2 Open module setting --> Modules --> 找到gen文件夹 --> 右键选择Resources