为什么在Android的ProGuard配置中未默认启用LineNumberTable?

为什么在Android的ProGuard配置中未默认启用LineNumberTable?,android,proguard,Android,Proguard,在不知道行号的情况下,很难使用碰撞报告。此外,如果没有行号,也无法调试代码 使用ProGuard时,是否有特定原因禁用行号 多谢各位 默认情况下,ProGuard努力实现最精简的应用程序。它会从代码中删除运行代码时不需要的所有元素。如果您希望保留行号,您可以保留行号,但代价是应用程序大小的微小增加。有没有一种方法可以轻松、正确地调试没有行号的应用程序?如果有的话,我不会保留它们。这是可能的,但要困难得多,因为没有行号,堆栈跟踪变得非常模糊。那么添加行号是合乎逻辑的。但让我们想想,一个开发人员只是

在不知道行号的情况下,很难使用碰撞报告。此外,如果没有行号,也无法调试代码

使用ProGuard时,是否有特定原因禁用行号


多谢各位

默认情况下,ProGuard努力实现最精简的应用程序。它会从代码中删除运行代码时不需要的所有元素。如果您希望保留行号,您可以保留行号,但代价是应用程序大小的微小增加。

有没有一种方法可以轻松、正确地调试没有行号的应用程序?如果有的话,我不会保留它们。这是可能的,但要困难得多,因为没有行号,堆栈跟踪变得非常模糊。那么添加行号是合乎逻辑的。但让我们想想,一个开发人员只是添加了应用程序内的账单。在文档中,它建议启用proguard。一个根本不做proguard的新手开发人员会发现如何启用它并执行它,然后将他的应用程序上传到应用商店。稍后在错误日志中,他将看不到单独的数字,他根本无法调试。我认为应该在proguard文档中通知开发者。关于在Android开发者网站上的proguard教程首页上通知开发者行号,您认为如何?一个刚开始使用ProGuard的Android开发者根本无法调试应用程序,这让人非常沮丧。Google在这里介绍了如何映射stacktrace