Google Play Dev Console with Class and Method Names in Stacktrace

I have an application with the Proguard function enabled (minifyenabled true) and recently received a crash report in the Google Play Dev console. When I looked at him, I saw the following:

enter image description here

I was surprised to see the full names of the classes and methods in line 1, since Proguard is enabled. I've always seen things like this:

at com.myname.myapp.cf (Unknown source)

I am also curious about what the line number looks like, since I do not save the line numbers in my Proguard configuration file (therefore, why I usually see the “Unknown Source” in my stacks).

I decompiled my .apk, looked into the classes.dex file, and everything looked fine. I found the class indicated on line 1 of the stack, and the class name really got confused, like the method name.

Now "MyActivity" (line 2 from stacktrace) is the launch of the Activity of my application and as such is declared in the manifest, so I understand why this name is not confused, and the onConnected method is not my method (it comes from Google Play Games Services), so which, again, is all right.

'MyMethodName' is called internally by onConnected as follows:

@Override public void onConnected(Bundle arg0) { myClassObject.myMethodName(); //Where myClassObject is an instance of MyClassName } 

Debugging is disabled in my build.gradle file.

I do not upload mapping.txt files to the Play Console, I run retrace manually to see my de-obfuscated stacks.

I would be grateful if someone would help me understand why I see my full name of the class and method here? What can I do to prevent this?

+8
android google-play deobfuscation proguard android-proguard
source share
2 answers

After several weeks of torment over this, I finally discovered the reason ...

Suffice it to say that my released application is completely confused - these de-obfuscated stack traces come from my own test device !!

Yes, my own test device that launches the application, directly through Android Studio and unsigned . (And for the obvious reason, I am not including ProGuard in my debug builds).

The device that I used to test this application is not the "main" device, and the "name" that appears in Dev Consol has no resemblance to the actual device name, so I did not notice right away.

I’m sure that this has never happened in the past (I certainly haven’t seen it yet) - absolutely anyone who would like crash reports from their debug collections to appear in the Dev Console along with build failures, I don’t know .

So, if someone sees this problem, make sure that these are not your own debug builds, causing the influx of stack traces first of all!

+3
source share

I do not upload mapping.txt files to the Play Console, I run retrace manually to see my de-obfuscated stacks.

You can then add mapping.txt to a Google game that will ensure that your package and class names are confused.

-2
source share

All Articles