使用 Proguard 在 Android 中使用 Tyrus Websocket 客户端
Using Tyrus Websocket Client in Android with Proguard
我正在尝试在 Android 中使用 Tyrus (org.glassfish.tyrus.bundles:tyrus-standalone-client:1.10)。这是我的混淆器相关部分:
-dontoptimize
-keepparameternames
-keepclassmembers,allowoptimization enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class org.glassfish.tyrus.** { *; }
-keep class org.glassfish.grizzly.** { *; }
-keep class javax.websocket.** { *; }
我调用了 ClientManager connectToServer 并且此方法不会 return 并且 hangs.But 如果我禁用混淆器它会起作用。我怎样才能使它在 Android 中与 proguard 一起工作?
您需要为使用 Tyrus
的片段或 Activity 添加以下行
-keep,includedescriptorclasses class com.package.YourClass$* { *; }
对于 tyrus,您需要添加以下行
-keepattributes Signature,InnerClasses,*Annotation*
-keep,includedescriptorclasses class org.glassfish.tyrus.** { *; }
-keep,includedescriptorclasses class org.glassfish.grizzly.** { *; }
-keep,includedescriptorclasses class javax.websocket.** { *; }
通过添加这些行,我成功地在 Android 中使用了 Tyrus。
这是 Tyrus 的参考:https://blogs.oracle.com/PavelBucek/entry/reducing_websocket_client_jar_size
我正在尝试在 Android 中使用 Tyrus (org.glassfish.tyrus.bundles:tyrus-standalone-client:1.10)。这是我的混淆器相关部分:
-dontoptimize
-keepparameternames
-keepclassmembers,allowoptimization enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class org.glassfish.tyrus.** { *; }
-keep class org.glassfish.grizzly.** { *; }
-keep class javax.websocket.** { *; }
我调用了 ClientManager connectToServer 并且此方法不会 return 并且 hangs.But 如果我禁用混淆器它会起作用。我怎样才能使它在 Android 中与 proguard 一起工作?
您需要为使用 Tyrus
的片段或 Activity 添加以下行-keep,includedescriptorclasses class com.package.YourClass$* { *; }
对于 tyrus,您需要添加以下行
-keepattributes Signature,InnerClasses,*Annotation*
-keep,includedescriptorclasses class org.glassfish.tyrus.** { *; }
-keep,includedescriptorclasses class org.glassfish.grizzly.** { *; }
-keep,includedescriptorclasses class javax.websocket.** { *; }
通过添加这些行,我成功地在 Android 中使用了 Tyrus。 这是 Tyrus 的参考:https://blogs.oracle.com/PavelBucek/entry/reducing_websocket_client_jar_size