What are the differences between ProGuard and DexGuard?

I’m quite confused about ProGuard and DexGuard and what type of differences they have, I am not really a huge person on security but I do plan on creating commercial products in the future.

As far as I know, Proguard is able to obfuscate, optimize, and shrink java bytecode for your java and android code while DexGuard is just Securing Android apps and SDK through multiple layers of code hardening and RASP??

Do these just do the same thing but worded differently?

I have a project that can be compiled into a JAR file and I’d like to obfuscate it and commercialize it without the fear of knowing it’s to easy to crack or not enough of a challenge to break it to reap it’s benefits in return.

Am I able to use DexGuard for this aswell or will I be only limited to ProGuard?
Sorry if I am in the wrong section, Trying to view the website was a bit weird for me.

Hi @wonder

Have you found this bog post already by any chance?

ProGuard will only apply name obfuscation to your project when it comes to obfuscation, DexGuard can add multiple different obfuscation mechanisms. Each of these obfuscation techniques can be seen as a different layer of code hardening you add to the project. On top of these additional obfuscation mechanisms which will make static analysis of your project more difficult, DexGuard can also add RASP checks to your project to detect different forms of tampering.

DexGuard is built on ProGuard so it can do everything ProGuard can. However, DexGuard is only available for Android apps and SDKs.

Best regards,


1 Like

I see, Thanks so much.