相关疑难解决方法(0)

如何使用 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 文件进行反混淆

obfuscation android proguard android-r8

5
推荐指数
1
解决办法
1677
查看次数

标签 统计

android ×1

android-r8 ×1

obfuscation ×1

proguard ×1