Proguard: ¿Qué regla puedo agregar para evitar no puedo encontrar la class referenceda?

Tengo una function como esta:

private fun enableSearch() { parentActivity?.let { parentActivity -> parentActivity.searchParamsObs //This is for the first time, to avoid having an empty trolley .flatMap { searchParams -> Observable.combineLatest(searchService.search(searchParams).toObservable(), orderItemsService.getCachedTrolleyOrRequest(), BiFunction<SearchResults, TrolleyItemsResponse, SearchListResultsAndTrolley> { searchResults, trolleyItems -> SearchListResultsAndTrolley(searchResults, trolleyItems) }) } .subscribeIO() .observeMain() .subscribe( { updateScreenWithSearch(it) }, { e -> onSearchError(e) }) .addTo(disposables) parentActivity.focusSearchView() } } 

Cada vez que bash hacer una compilation con proguard habilitado:

  • com.my.package.features.search.fragments.ProductListFragment $ enableSearch $ 1 $ 1 $ 1: no se puede encontrar la class referenceda

  • com.my.package.features.search.fragments.ProductListFragment $ enableSearch $ 1 $ 1

He señalado que el problema es el flatmap … pero no entiendo por qué.

Actualmente tengo en proguard la siguiente configuration proguard:

 ########## # Android ########## -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -dontwarn android.databinding.** -keep class android.databinding.** { *; } -keepclassmembers class * extends android.content.Context { public void *(android.view.View); public void *(android.view.MenuItem); } -keep class android.support.v8.renderscript.** { *; } ########## # View - Gets and setters - keep setters in Views so that animations can still work. # see http://proguard.sourceforge.net/manual/examples.html#beans ########## -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } ########## # Kotlin ########## -dontwarn kotlin.** -dontnote kotlin.** -keepclassmembers class **$WhenMappings { <fields>; } #Ignore null checks at runtime -assulessideeffects class kotlin.jvm.internal.Intrinsics { static void checkParameterIsNotNull(java.lang.Object, java.lang.String); } ########## # RxJava ########## -keep class rx.schedulers.Schedulers { public static <methods>; } -keep class rx.schedulers.ImmediateScheduler { public <methods>; } -keep class rx.schedulers.TestScheduler { public <methods>; } -keep class rx.schedulers.Schedulers { public static ** test(); } -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { long producerNode; long consumerNode; }