Proguard claims to obfuscate the .apk, but does no

2019-09-22 08:47发布

I'm exporting an Android application from Eclipse. Proguard thinks it is obfuscating the .apk according to the console, dump.txt, mapping.txt, seeds.txt and usage.txt output, but when I decompile the .apk itself it is not obfuscated. Names of classes and fields are intact. I have tried various different Proguard configs but there doesn't seem to be anything wrong in terms of the configs. I make sure to clean the project so the classes.dex file won't be outdated.

1条回答
做个烂人
2楼-- · 2019-09-22 09:41

This worked for me in Eclipse Neon:

  1. Right click on project and add the Gradle nature

  2. File -> Export -> Android -> Generate Gradle build files

  3. In the root directory of your project, create a local.properties file and set sdk.dir. See: Where does local.properties go for android project?

  4. Right click on project -> Gradle -> Refresh Gradle Project

  5. Enable code shrinking in build.gradle. See: https://developer.android.com/studio/build/shrink-code.html

  6. Put your Proguard configuration in proguard-rules.pro (or in a different file if you set the proguardFiles property in build.gradle accordingly)

  7. Open the Gradle Tasks view and run the assembleRelease task. Check the console to see if it ran successfully. If it went well, refresh your project directory and the .apk file(s) will be in the build/outputs/apk subdirectory.

查看更多
登录 后发表回答