保留Obfuscator Proguard的方法名称

时间:2015-07-24 10:08:03

标签: android proguard android-proguard

如何在proguard中阻止来自Obfuscator的方法 SendToGroup()

Coz,此方法名称将从服务器端调用,并且需要是同名(动态方法调用)。这是来自signalR的推动。

public class main {

    private class inner implement x {

        @Override
        public Object dynamic {

            return new Object {

                @SuppressWarnings("unused")
                public void SendToGroup(String message) {
                    androidNotification(message);
                }
            };
        }
    }
}

我看过thisthis,但仍然无法正常工作,也不理解。

请建议。

2 个答案:

答案 0 :(得分:1)

为了在progourd中保留接口,请使用-keep public interface statement。

例如:

-keep public interface com.your_package_name.class_name$someInterface {*;}

为了在progourd中保留一个类成员,请使用 - keepclassmembers语句。

例如:

-keepclassmembers class com.example.project.inner {
    private static void someclass(java.lang.String);
}

答案 1 :(得分:0)

使用@Keep

注释方法