android - 使用 minifyEnabled true 来避免 multidex 禁用断点 - 如何修复?
问题描述
我正在使用一个包含 Dropbox SDK 的现有 Android 应用程序。SDK 包含大量新类,因此有必要在构建设置中使用minifyEnabled true
以避免 multidex。
虽然这在我的发布配置中没有问题,但在调试应用程序时有一个主要缺点:大多数断点不再起作用。
即使断点有效并且我想使用“单步执行”功能来单步执行代码,但碰巧这是不可能的。调用堆栈不是单步执行代码,而是显示混淆而不是真实代码:
a.c:111,f (com.my.app.a)
xb:106,f (com.my.app.a)
onCreate:62, MyApp (com.my.app.TheClass)
...
所以,我不能设置minifyEnabled false
. 我还能做些什么来继续使用我的断点吗?
解决方案
如果您只想使用minifyEnabled true
ProGuard proguard-android.txt
(
这不应创建混淆的堆栈跟踪并允许您调试应用程序。
编辑:
为了禁用混淆,只需添加
-dontobfuscate
到你的配置文件。
推荐阅读
- r - 有没有办法在我的图表上放置一条带有标签的垂直线?
- r - 为大型矩阵计算 R 中距离矩阵的快速方法
- oracle - 如何使用 AWS 数据管道将数据从 AWS ORACLE RDS 导出到本地 Oracle DB?
- javascript - DataTables 表未填充
- java - 如何通过 jdbc:mysql 连接到 siteground
- python - Pytorch Text AttributeError:“BucketIterator”对象没有属性
- vagrant - VAGRANT ERROR 命令:["hostonlyif", "create"]
- django - Django不会上传和保存文档
- python - 当您将变量设置为方法时,您将术语称为什么?
- bash - 如何在 Dockerfile 中启动 ssh-agent