当前位置:   article > 正文

把Android源码导入Android Studio进行调试_android studio 导入 framework 源码

android studio 导入 framework 源码

1. 第一步,这行命令的意思是编译idegen这个项目,生成idegen.jar文件。

$ mmm development/tools/idegen/
如果你看到了绿色的 #### make completed successfully ####,说明这步是ok的。

2. 第二步,这行命令的意思是生成:android.iws, android.ipr, android.iml这个三个文件。

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

3 我们发现有2000~3000行,是非常多的,但是仔细的看,发现大标签只有三种

关于标签:
去除不需要debug的标签内容,通常我们只需要frameworks和packages两个目录,所以保留这两个目录有关的标签就行,其他全部删掉,这样索引的速度就会加快了

关于标签:
exclude顾名思义就是不包含的意思。我们有很多目录直接就不想让Studio去管它,不管是索引还是什么等等,所以只需要将这些目录配置到中就好了。
** 我这里只保留了framworks和packages模块,将其他模块全部排除了,因此在android.iml中添加了以下配置: 剩下的都删了**

另外,可以删除所有module-library 的标签

<?xml version="1.0" encoding="UTF-8"?>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
<orderEntryProperties />
  • 1
  • 2
  • 3
接下来就可以看源码了,而且没有报错,但是没有关联跳转,接下来我们解决这个问题。

修改JDK + SDK

** 如图:我编译的版本是Android6.0,所以用JDK1.7编译,这里默认1.8,所以要换成1.7,删除多余的SDK **

4.0, 前面为了加快Android studio的显示,前面把模块都删除了,可以在project struct 中设置,把需要的模块都加载进来。

另外,在依赖模块中, 不需要再把对应模块的代码加载进来。

5.0 发现framework目录下,am 同一个包名下的类无法跳转,发现在package 里有类似的报错提示:“Package name ’ does not correspond to the file path ‘java.com.android.server.am’”

通过对比原生的android.iml,修改sourceFolder的uri的路径的名字,然后,重启Android studio。

参考

https://www.jianshu.com/p/abd8d7a074fd
https://zhuanlan.zhihu.com/p/295363172
http://gityuan.com/2016/08/13/android-os-env/
把Android源码导入Android Studio进行调试 : https://www.jianshu.com/p/abd8d7a074fd

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/319147
推荐阅读
相关标签
  

闽ICP备14008679号