Ошибка NoSuchMethodError во время выполнения Android

#android #android-gradle-plugin #android-proguard #android-multidex #android-guava

#Android #android-gradle-плагин #android-proguard #android-multidex #android-guava

Вопрос:

Недавно я начал получать эту ошибку в определенных сценариях во время выполнения моего приложения…

Я уже пробовал следующее :

  1. Добавьте правила proguard для включения com.google.common .
  2. Mutlidex управляет так, чтобы все классы были упакованы в основной файл dex
  3. Я проверил содержимое apk, чтобы убедиться, что классы присутствуют в файле dex…
  4. Обновил мою библиотеку guava для Android до последней версии 27.0.0-android
  5. Обновлен плагин gradle и версия gradle до последней

Время выполнения Android: java.lang.Ошибка nosuchmetoderror: нет статического метода checkArgument(ZLjava/lang/String; I)V в классе Lcom / google/common/base/Предварительные условия; или его суперклассы (объявление ‘com.google.common.base.Предварительные условия’ отображаются в /data/app/com.myapp.dev.test-Xip2SNDMljPc2_BN0p3iRg==/base.apk!classes2.dex) 03-26 13:49:19.167 14658 14751 E Время работы android: на com.google.common.util.concurrent.RateLimiter.CHECKPERPERMITS(RateLimiter.java:424) 03-26 13:49:19.167 14658 14751 Время выполнения Android: на com.google.common.util.concurrent.RateLimiter.tryAcquire (RateLimiter.java:341) 03-26 13:49:19.167 14658 14751 Время выполнения Android: на com.google.common.util.concurrent.RateLimiter.tryAcquire (RateLimiter.java:325)

Не уверен, что теперь делать дальше. Есть идеи, что еще я могу сделать?

Комментарии:

1. как выглядит ваш файл конфигурации proguard?

Ответ №1:

Попробуйте добавить ниже конфигурацию proguard

 -keep class com.google.common.base.**
  

Комментарии:

1. не сработало: ( .. Я вижу, что оба класса base и util находятся в основном файле dex … даже тогда