温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Android Studio断点调试的方法

发布时间:2022-04-07 16:58:20 来源:亿速云 阅读:1082 作者:iii 栏目:编程语言

这篇文章主要讲解了“使用Android Studio断点调试的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用Android Studio断点调试的方法”吧!

1.首先你要有系统源码还要有linux的环境

2.上面的环境配置好之后执行

source build/envsetup.sh

初始化了一些函数,接着执行

make idegen -j32

执行完这个,会生成idegen.jar ,接着执行

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

执行完这个就会生成,AS需要的一些文件 android.ipr、android.iml

android.ipr:通常是保存工程编译器配置,入口,相关LIBRARIES等配置

android.iml:主要描述了modules的路径,依赖关系等

3.到这里,双击android.ipr 就可以用AS打开项目了,但是如果真的要直接打开,AS会加载的非常慢,毕竟安卓源码是非常庞大的,所以需要对android.iml处理,只添加我们需要的目录即可,下面简单介绍下android.iml的标签,之后会上传一份模板

关于<sourceFolder>标签&#xff1a;

通需要的文件添加到这里面&#xff0c;其他的删除&#xff0c;如package、framework
<sourceFolder url="file://$MODULE_DIR$/packages" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/frameworks" isTestSource="false" />

关于<excludeFolder>标签&#xff1a;

exclude顾名思义就是不包含的意思&#xff0c;不需要的添加到这里面&#xff0c;如vendor、external

<excludeFolder url="file://$MODULE_DIR$/vendor" />

<excludeFolder url="file://$MODULE_DIR$/external" />

关于<orderEntry>标签&#xff1a;

保留这两个就可以了

<orderEntry type="sourceFolder" forTests="false" />

<orderEntry type="jdk" jdkName="Android API 24 Platform" jdkType="Android SDK" />

android.iml
<?xml version="1.0" encoding="UTF-8"?>
<module version="4" relativePaths="true" type="JAVA_MODULE">
  <component name="FacetManager">
    <facet type="android" name="Android">
      <configuration />
    </facet>
  </component>
  <component name="ModuleRootManager" />
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/packages/apps/Launcher3" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/packages/wallpapers/LivePicker" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/vendor/mediatek/proprietary/packages/apps/SystemUI" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/frameworks/base/services" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/frameworks/base/core/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/frameworks/base/core/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/frameworks/base/packages/SystemUI" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/frameworks/libs/systemui" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
      <excludeFolder url="file://$MODULE_DIR$/.repo" />
      <excludeFolder url="file://$MODULE_DIR$/FeatrueTableSpec" />
      <excludeFolder url="file://$MODULE_DIR$/abi" />
      <excludeFolder url="file://$MODULE_DIR$/apps" />
      <excludeFolder url="file://$MODULE_DIR$/art" />
      <excludeFolder url="file://$MODULE_DIR$/bionic" />
      <excludeFolder url="file://$MODULE_DIR$/bootable" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
      <excludeFolder url="file://$MODULE_DIR$/ccu_tool" />
      <excludeFolder url="file://$MODULE_DIR$/compatibility" />
      <excludeFolder url="file://$MODULE_DIR$/cts" />
      <excludeFolder url="file://$MODULE_DIR$/dalvik" />
      <excludeFolder url="file://$MODULE_DIR$/developers" />
      <excludeFolder url="file://$MODULE_DIR$/development" />
      <excludeFolder url="file://$MODULE_DIR$/device" />
      <excludeFolder url="file://$MODULE_DIR$/docs" />
      <excludeFolder url="file://$MODULE_DIR$/external" />
      <excludeFolder url="file://$MODULE_DIR$/frameworks" />
      <excludeFolder url="file://$MODULE_DIR$/hardware" />
      <excludeFolder url="file://$MODULE_DIR$/kernel" />
      <excludeFolder url="file://$MODULE_DIR$/kernel-3.18" />
      <excludeFolder url="file://$MODULE_DIR$/kernel-4.4" />
      <excludeFolder url="file://$MODULE_DIR$/kernel-4.19" />
      <excludeFolder url="file://$MODULE_DIR$/kernel-4.19-lc" />
      <excludeFolder url="file://$MODULE_DIR$/kernel-4.14" />
      <excludeFolder url="file://$MODULE_DIR$/libcore" />
      <excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
      <excludeFolder url="file://$MODULE_DIR$/ndk" />
      <excludeFolder url="file://$MODULE_DIR$/out" />
      <excludeFolder url="file://$MODULE_DIR$/packages" />
      <excludeFolder url="file://$MODULE_DIR$/pdk" />
      <excludeFolder url="file://$MODULE_DIR$/phoenix" />
      <excludeFolder url="file://$MODULE_DIR$/platform_testing" />
      <excludeFolder url="file://$MODULE_DIR$/prebuilt" />
      <excludeFolder url="file://$MODULE_DIR$/prebuilts" />
      <excludeFolder url="file://$MODULE_DIR$/res" />
      <excludeFolder url="file://$MODULE_DIR$/sdk" />
      <excludeFolder url="file://$MODULE_DIR$/system" />
      <excludeFolder url="file://$MODULE_DIR$/test" />
      <excludeFolder url="file://$MODULE_DIR$/toolchain" />
      <excludeFolder url="file://$MODULE_DIR$/tools" />
      <excludeFolder url="file://$MODULE_DIR$/trusty" />
      <excludeFolder url="file://$MODULE_DIR$/vendor" />
    </content>
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="jdk" jdkName="Android API 30 Platform" jdkType="Android SDK" />
  </component>
</module>

这样AS的只会去索引你添加的sourceFolder &#xff0c;其他的都不添加&#xff0c;就会快了很多

4.该文件在AS安装目录下面&#xff0c;bin文件夹下
64位的修改studio64.exe.vmoptions、32位的修改studio.exe.vmoptions
-Xms1024m 修改这个&#xff0c;表示的是分配给studio的内存大小
-Xmx1280m

5.打开AS&#xff0c;选择open exist...,选择刚生成的android.ipr
这时候会快很多&#xff0c;因为好多索引我们都去除了&#xff0c;如果需要&#xff0c;再添加回来就是了
等待漫长的indexing...

6.添加一个安卓app&#xff0c;选择要调试的进程即可

使用Android Studio断点调试的方法

使用Android Studio断点调试的方法

8.最终效果如下图&#xff0c;比如我调试的是系统的launcher3

使用Android Studio断点调试的方法

感谢各位的阅读,以上就是“使用Android Studio断点调试的方法”的内容了,经过本文的学习后,相信大家对使用Android Studio断点调试的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI