android - Is using ProGuard worth the trouble? -


from i've seen , read, if wants reverse-engineer software or decompile it, proguard not going stop them. @ least modest deterrent? i'm not sure if it's worth hassle of translating stack traces later on.

i recommend proguard. without obfuscation (which can shorten names used in constant pool) can remove "dead code" (unused methods) of used libraries, etc. (it can used conveniently merge together).

it takes little bit of fiddling "get correct", esp. if there dynamically loaded classes -- recommended. actual benefit space-saving, however, "depends" on can eliminated , goes more external libraries.

now, obfuscation -- as obfuscator: makes "decompiling" code things with meaningful names impossible.

obfuscation won't save super-secret-algorithm or hide private keys, though: if jvm (or dalvik after transformation) must understand it, can decompiler , really wants access can. code lifted in bytecode-form , used via. reflection (just imagine terrible api 0 documentation): really wants access can. perhaps obfuscation make task unfeasible cost/payout: "it depends".

don't want translate stack-traces? simple: don't use debugging (not useful getting traces users) or don't enable obfuscation (other benefits still apply) ;-)

happy coding.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -