|
13 | 13 | } |
14 | 14 |
|
15 | 15 | -keep,includedescriptorclasses class io.livekit.android.**$$serializer { *; } |
16 | | --keepclassmembers class io.livekit.android.** { |
17 | | - *** Companion; |
18 | | -} |
| 16 | + |
19 | 17 | -keepclasseswithmembers class io.livekit.android.** { |
20 | 18 | kotlinx.serialization.KSerializer serializer(...); |
21 | 19 | } |
22 | 20 |
|
23 | 21 | # WebRTC |
24 | 22 | ######################################### |
25 | | --keep class livekit.org.webrtc.** { *; } |
26 | | - |
27 | | -# JNI Zero initialization (required for WebRTC native method registration) |
28 | | --keep class livekit.org.jni_zero.JniInit { |
29 | | - # Keep the init method un-obfuscated for native code callback |
30 | | - private static java.lang.Object[] init(); |
| 23 | +# Ensure java methods called from Native are preserved. |
| 24 | +-keepclasseswithmembers,includedescriptorclasses class * { |
| 25 | + @livekit.**.CalledByNative <methods>; |
| 26 | +} |
| 27 | +-keepclasseswithmembers,includedescriptorclasses class * { |
| 28 | + @livekit.**.CalledByNativeUnchecked <methods>; |
31 | 29 | } |
32 | 30 |
|
33 | 31 | # NIST sdp parser |
34 | 32 | ######################################### |
35 | | --keep class android.gov.nist.** { *; } |
36 | | --dontwarn com.sun.nio.sctp.** |
37 | | --dontwarn org.apache.log4j.** |
| 33 | +# Preserve reflection used for Parser registrations |
| 34 | +-keep class android.gov.nist.javax.sdp.parser.*Parser { *; } |
| 35 | +-keep class android.gov.nist.javax.sdp.parser.ParserFactory { *; } |
| 36 | +-keep class android.gov.nist.javax.sdp.parser.SDPParser { *; } |
38 | 37 |
|
39 | 38 | # Protobuf |
40 | 39 | ######################################### |
|
0 commit comments