使用minifyEnabled true来避免multidex会禁用断点-如何解决?

时间:2018-10-11 13:42:38

标签: android android-studio proguard

我正在使用一个现有的Android应用程序,其中包括Dropbox SDK。 SDK包含大量的新类,因此有必要在构建设置中使用minifyEnabled true来避免使用多dex。

虽然这在我的发行版配置中没有问题,但在调试应用程序时有一个主要缺点:大多数断点不再起作用。

即使断点有效,我也想使用“逐步进入”功能逐步浏览代码,但碰巧这是不可能的。而不是单步执行代码,而是使调用堆栈显示模糊而不是真实代码:

a.c:111,f (com.my.app.a)
xb:106,f (com.my.app.a)
onCreate:62, MyApp (com.my.app.TheClass)
...

因此,我无法设置minifyEnabled false。我还能做些什么来仍然使用断点吗?

1 个答案:

答案 0 :(得分:2)

如果您只想使用ProGuard(minifyEnabled true)来防止应用程序需要多dex,则可以禁用混淆功能,而只能使用ProGuard的缩小功能(假设您不使用优化功能,例如在使用{ {1}}作为默认配置)。

这不应创建混淆的堆栈跟踪并允许您调试应用程序。

修改:

要禁用混淆,只需添加

proguard-android.txt

到您的配置文件。