# TIP: Obfuscation Mapping File

DevFeed: [TIP: Obfuscation Mapping File](<https://devfeed.tech/articles/tip-obfuscation-mapping-file-19590.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/tip-obfuscation-mapping-file/>)

Author: Shai Almog

Published: 2018-10-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [Android](<https://devfeed.tech/topics/android.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apk](<https://devfeed.tech/tags/apk.md>), [apps](<https://devfeed.tech/tags/apps.md>), [build](<https://devfeed.tech/tags/build.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [programming](<https://devfeed.tech/tags/programming.md>), [proguard](<https://devfeed.tech/tags/proguard.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [tools](<https://devfeed.tech/tags/tools.md>)

## AI overview

This tutorial explains how ProGuard obfuscation affects Android stack traces and why the mapping file generated for each build is needed to interpret crashes and ANRs in Google Play. It advises uploading the mapping file that matches the submitted APK version.

## Source excerpt

Proguard is one of the most disliked aspects of Android programming. Developers attack it left and right because there are so many nuances to it. That's a huge mistake, proguard is one of the most important tools in our development toolchain. It makes our apps slightly more secure, much smaller and even slightly faster. Codename One apps use proguard by default for Android. This is a huge benefit in our case because the limits related to obfuscation are very similar to the limits related to portability.