如何在Proguard中保持抽象类,(JedisPubSub)



目前,我尝试使用Proguard来混淆java代码

在现有代码中,代码是在订阅内部实现的,但经过混淆后,代码消失了。

origin source
======================
Jedis jedis = new Jedis("test_host", 9999);
jedis.subscribe(new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
// do something job ..
System.out.println(String.format("channel : %s, message : %s", channel, message));
}
},"test channel");
obfuscation after
======================
this.c.subscribe((JedisPubSub)new Object(this, jsonParser), new String[] { "test channel" });

我尝试更改Proguard选项。

-keep public class redis.clients.jedis.JedisPubSub
-keep, allowobfuscation class redis.clients.jedis.JedisPubSub
etc ....

如何保持原始格式??

我的问题解决了

为什么我只添加了jar ${java_home}/jre/lib/rt.jar

-libraryjars ${my_java_home}/jre/lib/rt.jar

经过多次尝试,我意识到我需要jedi .jar和其他jar。

所以我添加了

-libraryjars ${my_java_home}/jre/lib/rt.jar
-libraryjars ${my_jedis_jar_path}/jedis-3.0.1.jar
...
...

相关内容

  • 没有找到相关文章

最新更新