Android-Libgdx-ProGuard: Usefulness without DexGuard? [on hold]
- by Rico Pablo Mince
So I'm developing a game for Android - using LibGDX - and noticed that the Android SDK (HDK, MDK, WhatTheHellEvarDK) has ProGuard built-in. Browsing the ProGuard page is like searching Google: you get that the idea is to sell some product (in this case, it's DexGuard).
That leaves me wondering what features are left out of ProGuard that a game developer targeting Android should worry about.
For instance, the ProGuard FAQs answer the question: "Does ProGuard encrypt string constants?" by saying:
"No. String encryption in program code has to be perfectly reversible by definition, so it only improves the obfuscation level. It increases the footprint of the code. However, by popular demand, ProGuard's closed-source sibling for Android, DexGuard, does provide string encryption, along with more protection techniques against static and dynamic analysis."
Alright. OK. But isn't "...improves the obfuscation level" EXACTLY what ProGuard is supposed to do?
Are there better options that can be implemented at build-time in Eclipse using the Gradle options and Libgdx? In particular, the assets folder and res-specific folders will need some protection. The code itself doesn't cure cancer, but I'd prefer if nobody could copy/paste it with different game art and call it "IhAxEdUrGamE"....