Deobfuscate production Android errors via uploading proguard rules mapping file to google play console

Issue

Suddenly my released app crashed while opening just after installing the app from play-store.
But problem is that when I am running the code in Android Studio in debug mode app does not crash.

When I looked for crash error on google play console I saw some obfuscated code not easy to guess from where error was coming.

java.lang.NullPointerException: 
  at com.wl.model.a.b (Unknown Source)
  at com.wl.model.a.a (Unknown Source)
  at com.wl.model.a$1.a (Unknown Source)
  at b.w$a.b (Unknown Source)
  at b.a.b.run (Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
  at java.lang.Thread.run (Thread.java:818)

From error I know there is some null pointer exception but could not trace its origin.

Google play console says upload de-obfuscation file to de-obfuscate the error code.

Now my problem is that I am not able to locate the de-obfuscation file in my project source folder.

I tried uploading the pro-guard rules file but google play console rejects it.

Please provide me the path or place where I can look for de-obfuscation file (where it is usually present).

Solution

After you assembled your release apk the file is here:

./gradlew clean assembleFLAVORRelease

app/build/outputs/mapping/FLAVOR/release/mapping.txt

Keep in mind, that you probably should check your proguard rules:

-keepattributes SourceFile,LineNumberTable

Without this attribute you won’t see the line and source file name in the play console.

Answered By – chrjs

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published