Intereting Posts
Использовать @ClassRule в Котлине Как использовать ByteArray.getOrElse Kotlin компилируется в unrunnable javascript IncompatibleClassChangeError: класс 'java.lang.VirtualMachineError' не реализует интерфейс 'java.lang.CharSequence' Почему я могу вставить код строки до DayForecast (HashMap (it)) в Котлин? Thead.join убивает поток java (kotlin) вопросы о DI, ViewModel и т. д. Как создать запрос hql с левым соединением, используя поле из расширяющегося объекта Тестирование на Android-модуле класса Kotlin завершилось неудачей с «не может найти класс символов …» Почему метод ByteBuffer putShort (значение) работает неправильно в моем случае? Как использовать Cucumber let Spring для определения уровня экспрессии? как перебирать Single <List> и отображать в другой список? Как я могу разделить последовательность целых чисел на диапазоны (java \ kotlin) Kotlin: Видимость статического вложенного класса Java, объявленного внутри невидимого класса Можно ли избежать повторения кода, когда объект должен вернуть измененную копию самого себя?

Proguard: Какое правило я могу добавить во избежание, не может найти ссылочный класс?

У меня есть такая функция:

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() } } 

Каждый раз, когда я пытаюсь сделать сборку с включенной proguard:

  • com.my.package.features.search.fragments.ProductListFragment $ enableSearch $ 1 $ 1 $ 1: не может найти ссылочный класс

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

Я определил проблему как плоскую карту .. но я не понимаю, почему.

В настоящее время у меня есть на proguard следующую конфигурацию 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 -assumenosideeffects 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; } 

включить в gradle

реализация "org.jetbrains.kotlin: kotlin-stdlib-jre7: $ kotlin_version"

$ Kotlin_version = 'ядро 1.1.51'