A Kotbase user reported that the documented ProGuard rules are insufficient. I noticed these changes that were made to the documentation haven’t been published. There was also a small addition to those rules that was still needed. The user reported that these rules seem to be working:
-dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings
-keep class com.couchbase.lite.ConnectionStatus { <init>(...); }
-keep class com.couchbase.lite.LiteCoreException { static <methods>; }
-keep class com.couchbase.lite.internal.replicator.CBLTrustManager {
public java.util.List checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, java.lang.String);
}
-keep interface com.couchbase.lite.internal.ReplicationCollection$C4Filter
-keep class com.couchbase.lite.internal.ReplicationCollection {
static <methods>;
<fields>;
}
-keep class com.couchbase.lite.internal.fleece.FLSliceResult {
static <methods>;
<fields>;
<init>(...);
}
-keep class com.couchbase.lite.internal.core.C4* {
static <methods>;
<fields>;
<init>(...);
}