如何使用Android Studio开发调试Android源码

如何使用Android Studio开发调试Android源码,第1张

一、修改Android

Studio(以下简称AS)的内存配置

因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文档中使用的是748m,

可自行修改。

二、配置AS的JDK、SDK

在IDE中添加一个没有classpath的JDK,

这样可以确保使用源码里的库文件

三、生成导入AS所需配置文件(*.ipr)

①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)

②检查out/host/linux-x86/framework/目录下是否有idegen.jar

如果idegen.jar不存在,执行:

mmm

development/tools/idegen/

在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。

我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。

③执行

development/tools/idegen/idegen.sh

等待出现类似下面的结果:

Read

excludes:

5ms

Traversed

tree:

44078ms

这时会在源码的根目录下乱兄生成android.ipr和android.iml两个IntelliJ

IDEA(AS是基于IntelliJ

IDEA社区版开发的)的配置文件

④在AS中打开源码根目录下新生成的android.ipr

四、解决源码中跳转错误问题

①为当前工程设置正确的SDK和JDK

②设置'Modules'的依赖

先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.

如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)

点击上图中'2'指向的'+'并选择上图'3'指向的'Jars

or

directories'选项,依次将frameworks和external文件夹添加进来

五、DEBUG源码

可以通过给刚导入的工程在'Modules'中添加'Android

Framework'来让AS将它作为一个Android工程,从而哗信袭方便调试代码.

在d出的选择进程(Choose

Process)对话框中,坦唯勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.

六、其它

代码中很多地方提示Call

requires

API

Level

x....

出现这个问题是因为AS将工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.

只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。

也可以考虑使用build.gradle来解决该问题。

1、在Android studio的中进行导入一个Android的开发的项目的文件,然后在项目中选中一个需要检查的文件。2、项目的文件被选中完成之后,进行点击Android studio菜单渗氏中的Analyze选项菜单。3、进行点击完Analyze菜单中之后,就会d出了一个下拉的菜单的inspect code选项菜单。4、然后就会d出了一个speoify inspection scope的谈出框,在inspection scope中,whole project为是整个的项目检查,如果只想检查刚才选中的文件,进行选中第四个选项即可file【app】即可,然后进行点击OK。5、那么在就会Android studio的底部位置中,d出了一个项逗贺目的检查的结果,也是检查结果的列表。6、如果要查看具体的检查的内容的话,进行点击检查的结果的文件之后,可以查看到的是检查结果的具体信息山喊派内容。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8248827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存