40

クラッシュが発生した行番号をProGuardに返す方法はありますか?retraceメソッドにたどり着くために使用できますが、多くの場合NullPointerException、可能性が多すぎて、コードの大部分では、すべてのオブジェクトをチェックする必要があり、ライフサイクルが何もないことを確認する必要があるため、根本的な原因を特定するのは非常に困難です。間違い。ProGuardがこれを行番号に絞り込むことができれば本当に役に立ちます。

4

2 に答える 2

73

この行を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

于 2012-04-15T02:32:20.033 に答える
2

新しい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

そのため、使用すると、クラッシュスタックトレースの適切な情報が表示されない場合があります。

于 2018-10-20T06:17:16.003 に答える