Java Android ProGuard-仅限混淆

Java Android ProGuard-仅限混淆,java,android,proguard,obfuscation,Java,Android,Proguard,Obfuscation,是否可以仅将ProGuard用于模糊处理。我不希望ProGuard从我的项目中删除任何类。我打算使用ProGuard仅用于模糊处理,以防止逆向工程。是,通过指定 -dontshrink -dontoptimize 您可以在中找到有关所有配置选项的详细信息 请注意,收缩和优化可能有助于防止反向工程。谢谢。我以前尝试过-dontoptimze,但它仍然在删除类文件。当我试着同时使用-dontshrink和-dontoptimize时,效果很好。例如,android世界正在向gradle迁移。这还能

是否可以仅将ProGuard用于模糊处理。我不希望ProGuard从我的项目中删除任何类。我打算使用ProGuard仅用于模糊处理,以防止逆向工程。

是,通过指定

-dontshrink
-dontoptimize
您可以在中找到有关所有配置选项的详细信息


请注意,收缩和优化可能有助于防止反向工程。

谢谢。我以前尝试过-dontoptimze,但它仍然在删除类文件。当我试着同时使用-dontshrink和-dontoptimize时,效果很好。例如,android世界正在向gradle迁移。这还能用吗?对于Gradle?为什么收缩优化有助于防止逆向工程?@Eric Lafortune如何混淆代码。我还想只重命名类,这样反编译的代码就不可读了。如果我不在Proguard.pro中写任何东西,那么它会重命名所有的类吗?这就是我运行它所需要的吗在此处添加特定于项目的ProGuard规则-dontshrink{*;}-dontoptimize{*;}Proguard并不阻止反向工程。@dcow但它确实让它变得更难,根据android开发者的说法,“模糊的代码使您的APK难以反向工程”docs@JohnathanLogan当然,但这并不能从根本上改变信任模型。如果用户拥有您的客户机,他们可以做您的客户机可以做的任何事情。再多的困惑也无法阻止这一点。尝试通过jdgui或类似的方式运行Android应用程序。即使使用proguard,也很容易看到应用程序在做什么。您只是没有得到类的所有漂亮的企业java长名称——这通常只会降低XD的可读性。如果我真的想保护一些专有算法,我不会依赖proguard。有更好的模糊器,尽管更昂贵。