Proguard claims to obfuscate the .apk, but does not

馋奶兔 提交于 2019-12-14 03:33:11

问题


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:


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.



来源:https://stackoverflow.com/questions/47107477/proguard-claims-to-obfuscate-the-apk-but-does-not

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!