让ProGuard只触及一个班

时间:2018-02-08 01:49:14

标签: java proguard obfuscation

我正在开发一个别人写的应用程序,我试图只是模糊我添加的类。我看过这篇文章:With ProGuard, how do I obfuscate just one class?

我试着用它(我在上面的帖子中添加了一个单独的类并配置了ProGuard)并且只取得了部分成功。

似乎ProGuard仍然触及所有其他文件(md5哈希值发生变化)。

这是我的ProGuard配置:

-dontshrink
-dontoptimize
-dontpreverify
-dontnote
-dontwarn
-target 1.8

-keep class !com.example.Test { *; }

2 个答案:

答案 0 :(得分:0)

您还应该尝试保留所有其他软件包,例如:

-keep class com.my.example.** { *; }

答案 1 :(得分:0)

当您使用包含类似排除模式的规则时:

ffmpeg -re -i "https://mnmedias.api.telequebec.tv/m3u8/29880.m3u8" -filter_complex "null" -acodec aac -vcodec libx264 -f flv ./videos/cut-videos/standard/happens3.mp4

它会在内部被这样对待:

-keep class !com.example.Test { *; }

最后的**是隐含的,不必添加。基本上你试图说“保留除com.example.Test之外的所有类”(当然还有它们的方法/字段)。