android proguard返回行号

6gpjuf90  于 2021-07-11  发布在  Java
关注(0)|答案(2)|浏览(423)

有没有办法让proguard返回发生车祸的行号?我可以用 retrace 为了找到方法,但通常是为了 NullPointerException 有太多的可能性,在一个大的代码块它是非常难以确定的根本原因,因为你必须检查每个对象和它的生命周期,以确保没有错。如果proguard能帮我把范围缩小到一个行号,那真的很有帮助。

fquxozlt

fquxozlt1#

将此行添加到proguard-project.txt文件中。


# will keep line numbers and file name obfuscation

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

https://www.guardsquare.com/en/products/proguard/manual/usage

8e2ybdfx

8e2ybdfx2#

创建新的android项目时,它会告诉您哪些行可能需要取消注解:


# If your project uses WebView with JS, uncomment the following

# and specify the fully qualified class name to the JavaScript interface

# class:

# -keepclassmembers class fqcn.of.javascript.interface.for.webview {

# public *;

# }

# Uncomment this to preserve the line number information for

# debugging stack traces.

# -keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to

# hide the original source file name.

# -renamesourcefileattribute SourceFile

所以,你应该考虑一下:

-keepattributes SourceFile,LineNumberTable
-renamesourcefileattribute SourceFile

但是,请注意,出于某种原因,firebase crashlytics团队告诉我,这条线路可能会干扰他们的服务:

-renamesourcefileattribute SourceFile

因此,如果使用它,您可能看不到堆栈跟踪的良好信息。

相关问题