Nul*_*ion 5 obfuscation android proguard android-r8
我正在尝试弄清楚如何使用 R8 保留原始行号。
使用当前的 AndroidStudio 制作应用程序并使用 R8 对其进行混淆,甚至将mapping.txt
文件上传到 Google Play Console,用户的堆栈跟踪在某些情况下是无用的,因为崩溃的行与真实的非混淆文件中的行不同。
com.mypackage.activities.ManagerActivity.onCreate (ManagerActivity.java:3052)
这是一个示例,我的类没有3000行,但是在第3052行( )报错:
Caused by: java.lang.NullPointerException:
at com.mypackage.activities.ManagerActivity.onCreate (ManagerActivity.java:3052)
at android.app.Activity.performCreate (Activity.java:7136)
at android.app.Activity.performCreate (Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2990)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3148)
at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1861)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:193)
at android.app.ActivityThread.main (ActivityThread.java:6819)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:912)
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 R8 和 AndroidStudio 获取错误的真实行号?请记住,此代码已使用mapping.txt 文件进行反混淆
为了正确重新跟踪混淆的堆栈跟踪,配置文件中需要包含以下内容
-keepattributes LineNumberTable,SourceFile
Run Code Online (Sandbox Code Playgroud)
有关 moe 信息,请参阅https://developer.android.com/studio/build/shrink-code#decode-stack-trace 。
归档时间: |
|
查看次数: |
1677 次 |
最近记录: |