Shailendra Singh Rajawat
Shailendra Singh Rajawat

Reputation: 8242

What symbolicated crash reporting means in android

i just started using crittercism crash reporting tool for my android app .

their web shows some content which is completely beyond my tiny head. like

an alert message

"To get symbolicated crash reports, upload ProGuard mapping files matching your app's version in your App Settings page"

AFAIK both symbolicated and proguard mapping is used for IOS crash debugging and are irrelevant for android. so my gut feeling is that their website wrongly provides these things in android app as well.

or may be there is something for android as well, but i am not aware of that . please educate me if this is the case.

Upvotes: 0

Views: 3219

Answers (1)

David
David

Reputation: 2659

Here's a brief summary of what Proguard does (from the Proguard site):

ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition.

The main thing to note, as it concerns Crittercism, is that proguard can be used to obfuscate code. If you've obfuscated your code using proguard, then the stack traces for your crash reports will also be obfuscated. In order to deobfuscate (ie. what Crittercism is calling symbolicate), Crittercism allows you to upload a Proguard mapping.txt file. This file is generated by Proguard at build time and it simply has a list of functions and their obfuscated name.

Bottom line: Once you've uploaded your Proguard mapping.txt to Crittercism, Crittercism will display crash reports in their deobfuscated form. If you don't use Proguard, then you needn't worry about uploading a proguard mapping.

Upvotes: 4

Related Questions