|
|
@@ -16,7 +16,7 @@
|
|
16
|
16
|
`"file:${rootProject.projectDir}/../../../jitsi/jitsi-maven-repository/releases"`
|
|
17
|
17
|
in android/build.gradle for the third-party react-native modules which Jitsi
|
|
18
|
18
|
Meet SDK for Android depends on and are not publicly available in Maven
|
|
19
|
|
- repositories. Generally, if you are modifying the JavaSource code of Jitsi
|
|
|
19
|
+ repositories. Generally, if you are modifying the JavaScript code of Jitsi
|
|
20
|
20
|
Meet SDK for Android only, you will very likely need to consider the former
|
|
21
|
21
|
only.
|
|
22
|
22
|
|
|
|
@@ -309,3 +309,69 @@ fails.
|
|
309
|
309
|
|
|
310
|
310
|
The `data` `Map` contains an "error" key with the error and a "url" key with the
|
|
311
|
311
|
conference URL which necessitated the loading of the configuration file.
|
|
|
312
|
+
|
|
|
313
|
+## ProGuard rules
|
|
|
314
|
+
|
|
|
315
|
+When using the SDK on a project some proguard rules have to be added in order
|
|
|
316
|
+to avoid necessary code being stripped. Add the following to your project's
|
|
|
317
|
+rules file:
|
|
|
318
|
+
|
|
|
319
|
+```
|
|
|
320
|
+# React Native
|
|
|
321
|
+
|
|
|
322
|
+# Keep our interfaces so they can be used by other ProGuard rules.
|
|
|
323
|
+# See http://sourceforge.net/p/proguard/bugs/466/
|
|
|
324
|
+-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
|
|
|
325
|
+-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
|
|
|
326
|
+-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
|
|
|
327
|
+
|
|
|
328
|
+# Do not strip any method/class that is annotated with @DoNotStrip
|
|
|
329
|
+-keep @com.facebook.proguard.annotations.DoNotStrip class *
|
|
|
330
|
+-keep @com.facebook.common.internal.DoNotStrip class *
|
|
|
331
|
+-keepclassmembers class * {
|
|
|
332
|
+ @com.facebook.proguard.annotations.DoNotStrip *;
|
|
|
333
|
+ @com.facebook.common.internal.DoNotStrip *;
|
|
|
334
|
+}
|
|
|
335
|
+
|
|
|
336
|
+-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
|
|
|
337
|
+ void set*(***);
|
|
|
338
|
+ *** get*();
|
|
|
339
|
+}
|
|
|
340
|
+
|
|
|
341
|
+-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
|
|
|
342
|
+-keep class * extends com.facebook.react.bridge.NativeModule { *; }
|
|
|
343
|
+-keepclassmembers,includedescriptorclasses class * { native <methods>; }
|
|
|
344
|
+-keepclassmembers class * { @com.facebook.react.uimanager.UIProp <fields>; }
|
|
|
345
|
+-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp <methods>; }
|
|
|
346
|
+-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup <methods>; }
|
|
|
347
|
+
|
|
|
348
|
+-dontwarn com.facebook.react.**
|
|
|
349
|
+
|
|
|
350
|
+# TextLayoutBuilder uses a non-public Android constructor within StaticLayout.
|
|
|
351
|
+# See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details.
|
|
|
352
|
+-dontwarn android.text.StaticLayout
|
|
|
353
|
+
|
|
|
354
|
+# okhttp
|
|
|
355
|
+
|
|
|
356
|
+-keepattributes Signature
|
|
|
357
|
+-keepattributes *Annotation*
|
|
|
358
|
+-keep class okhttp3.** { *; }
|
|
|
359
|
+-keep interface okhttp3.** { *; }
|
|
|
360
|
+-dontwarn okhttp3.**
|
|
|
361
|
+
|
|
|
362
|
+# okio
|
|
|
363
|
+
|
|
|
364
|
+-keep class sun.misc.Unsafe { *; }
|
|
|
365
|
+-dontwarn java.nio.file.*
|
|
|
366
|
+-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
|
|
367
|
+-dontwarn okio.**
|
|
|
368
|
+
|
|
|
369
|
+# WebRTC
|
|
|
370
|
+
|
|
|
371
|
+-keep class org.webrtc.** { *; }
|
|
|
372
|
+
|
|
|
373
|
+# Jisti Meet SDK
|
|
|
374
|
+
|
|
|
375
|
+-keep class org.jitsi.meet.sdk.** { *; }
|
|
|
376
|
+```
|
|
|
377
|
+
|