You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用chrome://inspect/#devices调试Android应用时断点不触发求助

解决Android调试断点不触发的问题

我之前也碰到过完全一样的情况!断点加了好几个,结果程序一路跑到底根本不停,应用还正常运行,当时差点把AS卸了😂 给你分享几个我亲测有效的排查步骤:

  • 先确认构建变体是Debug模式
    别笑,我就犯过这个错——不小心用Release变体构建安装了,Release版本会做代码优化和混淆,断点肯定不会生效。你去右侧边栏的Build Variants面板看看,一定要选debug变体,然后重新构建安装一次。

  • 检查调试相关的配置开关
    除了手机上的USB调试,还要确认AndroidManifest.xml里的<application>标签有没有加android:debuggable="true"(虽然AS在Debug模式下会自动加,但万一手动改了配置呢)。另外,手机开发者选项里的「等待调试器」可以打开,这样应用启动时会暂停,直到你连上调试器。

  • 清缓存+重启,万能的解决办法
    AS的缓存有时候会抽风,试试:

    1. 点顶部菜单File -> Invalidate Caches...,选「Invalidate and Restart」重启AS
    2. 卸载手机/模拟器上的应用,删掉项目里的build文件夹,然后重新构建安装
  • 检查断点本身是否有效
    看看断点是不是灰色的?如果是,说明AS没识别到对应的代码位置,大概率是构建后的代码和你当前编辑的代码不一致。右键断点,确认「Enabled」是勾选状态,而且断点要打在可执行的代码行上(别打在注释、空行或者变量声明那行)。

  • 调试器连接选项再核对下
    你选了「Java Only」,但如果你的应用里有Kotlin代码的话,试试选「Java/Kotlin」?另外,在Run菜单里选「Attach Debugger to Android Process」,找到你正在运行的应用进程,确保选对了再连接。

  • 排查ProGuard/R8混淆的影响
    如果你的Debug构建也开了混淆(一般不建议这么做),那断点会因为代码被重命名而失效。打开Module级别的build.gradle,检查buildTypes -> debug里的minifyEnabled是不是true,是的话改成false,然后重新构建。

希望这些方法能帮你搞定问题!

内容的提问来源于stack exchange,提问作者Sam Verma

火山引擎 最新活动