Android Studio 导入frameworks源码

概述

最近发现之前导入到AS中的framework源码各种无法跳转,阅读起来很糟心,之前网上找的的导入方法没有保留,从新找了好几篇文章都是有或多或少的问题,所以打算自己研究完整导入一次并做个记录,后续就不需要再去到处找方法了。

导入步骤

1.编译出ipr和iml文件

  1. 配置编译环境:
source  build/envsetup.sh
lunch
  1. 编译idegen模块
mmm development/tools/idegen/
#### build completed successfully (01:28 (mm:ss)) ####
//看到以上信息说明编译成功
  1. 执行脚本生成ipr和iml文件
development/tools/idegen/idegen.sh
Read excludes: 20ms
Traversed tree: 50800ms
//看到以上信息说明脚本执行成功已生成对应的ipr和iml文件

执行完毕以后可以在根目录看到android.iml和android.ipr文件
ipr和iml文件

2.拷贝

电脑本地新建文件夹framews_new,从服务器上将frameworks文件及里面内容全部拷到framews_new下,这样可以加快AS读文件速度,AS阅读源码时也不会卡顿
再将刚刚生成的ipr和iml文件拷贝到framews_new下,目录结构如下:
目录结构

3.精简iml文件

脚本生成的iml文件中包含Android整个源码的内容路径,我们只是需要阅读framework的源码所以不需要那么多东西,将和frameworks无关的路径全部删除
删除前:
在这里插入图片描述
在这里插入图片描述
删除后:
在这里插入图片描述
在这里插入图片描述
并将module-library 中将和frameworks无关的也全部删除

3.用AS打开ipr

直接用AS打开ipr文件,然后等待AS自动导入,由于有对iml精简,并且将frameworks代码放到本地,这个过程应该只需要几分钟。
打开以后我们就可以阅读framework源码了,但是这个时候并不能进行代码跳转,接下来就是添加代码跳转

4.添加代码跳转

  1. 打开Project Structure->Modules
    Project Structure
    将Dependencies下不需要的删掉,比如我就删掉了:android-28.jar
  2. 添加framework目录当做项目依赖,来支持代码跳转
    点击+号,选择JARs or Directories
    在这里插入图片描述
  3. 选择framework_new下的frameworks目录
    在这里插入图片描述
  4. 在选择sources目录时,先取消全选,接下来只选择frameworks中需要跳转到的目录,如base\core\java,base\service 目录下的内容,并且需要排除掉tests目录
    在这里插入图片描述
  5. 点击确定以后会在Dependencies中生成 framework.jar(可以自己取名字),将生成的framework.jar 优先级调到最高
    在这里插入图片描述
    此处的frameworkjar可以进行编辑,添加或者删除依赖的路径
  6. 添加Android module,并对module进行配置
    在这里插入图片描述
    点击Android module以后将这些目录分别替换为:

Manifest file : xxx\framews_new\frameworks\base\core\res\AndroidManifest.xml
Resources directory : xxx\framews_new\frameworks\base\core\res
Assets directory : xxx\framews_new\frameworks\base\core\res\assets
Native libs directory : xxx\framews_new\frameworks\base\core\jni

  1. 点击Apply并且OK整个配置就完成了
    在这里插入图片描述
    可以看到整个代码基本可以正常跳转,部分无法跳转的一般为 aidl文件 或者其他非java文件

总结

平时不积累,用时跑断腿。
之前配置的时候没有进行总结,导致后面重新配置的时候走了很多弯路,并且配置了好多次都没法正常跳转,影响代码阅读。
此次总结一次,印象深刻,实在不行还算有个记录。
这些步骤是我一步步跑下来的,基本没啥问题,AS版本也是最新的。
这些步骤下来,Attach Debugger打断点也应该是可以用的,还没实验~ 后面实验了再更新结果好了
如有疑问欢迎留言!!!

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在Android Studio导入Android源码,需按照以下步骤进行: 1. 下载Android源码:首先需要从Android官方网站(https://source.android.com/setup/build/downloading)上下载Android源码的zip文件。选择适合你设备版本的源码,并下载到本地。 2. 解压源码:将下载的源码zip文件解压到你希望存储源码的位置。 3. 导入源码项目:打开Android Studio,并点击“File”菜单,然后选择“New”,再选择“Import Project”。 4. 选择源码目录:在弹出的对话框中,浏览到你已经解压的源码目录,并选择其中的“build.gradle”文件,然后点击“OK”。 5. 等待构建:Android Studio会开始构建项目,可能需要一些时间来完成这个过程,具体时间取决于你的硬件性能和Android源码的大小。 6. 配置项目:构建完成后,你需要配置一些项目属性。你可以根据你的需求进行更改,比如修改Android版本、SDK版本、Gradle版本等。 7. 构建项目:在配置完成后,再次构建项目。你可以点击Android Studio工具栏中的“Build”按钮来完成构建。构建完成后,你就可以进行Android源码的浏览、修改和编译等操作了。 需要注意的是,导入Android源码是一个相对复杂的过程,并且需要一定的硬件配置和软件环境支持。同时,也需要有一定的Android开发和编译经验。因此,在遇到问题时,你可以参考官方文档或在开发者社区中寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值