android release 断点,Android调试release包

本文详细介绍了如何在Android的Release包上进行断点调试,包括前提条件(root手机、保留代码行数信息)、设置非混淆的断点位置(四大组件、自定义View等),以及如何在已混淆代码中进行单步调试。此外,还提到针对某些手机的断点超时问题,提出了使用非阻塞断点配合输出log的方法来解决问题。
摘要由CSDN通过智能技术生成

使用Android Studio对Debug包进行断点调试比较简单,这里介绍一下如何对release包进行断点调试。

背景什么的就不谈了,为什么要对着release包断点调试,debug包他不香吗?身不由己,不提也罢。

前提

一台root过的手机

应用源码,至少要有部分未混淆的源码。

release包打包时保留了代码行数信息

应用release安装包。

将release包安装到root手机上,打开开发环境,开始对release包的断点调试之旅!

我这里有一台root手机,打开logcat可以看到当前正在运行的所有的进程,包括系统进程。

e37b7fca01e3

root手机上可以看到所有进程信息

打开调试窗口,可以看到我们的应用进程。(注意IDE内源码应用的包名必须与待调试应用一致)

e37b7fca01e3

选择要调试的应用进程

要在release包中保留源码的行数信息,只需要在防混淆代码中添加下面两句

-keepattributes SourceFile,LineNumberTable

-renamesourcefileattribute SourceFile

在IDE自动添加的默认proguard-rules.pro中,这两句话是以注释的形式存在的,同时也包含了对这两句话作用的注释说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值