【问题标题】:Android Runtime NoSuchMethodErrorAndroid 运行时 NoSuchMethodError
【发布时间】:2019-08-20 00:08:17
【问题描述】:

我最近开始在我的应用程序运行时的某些情况下收到此错误...

我已经尝试过以下方法:

  1. 添加 proguard 规则以包含 com.google.common
  2. Mutlidex 规则,以便所有类都打包在主 dex 文件中
  3. 我已检查 apk 内容以确保 dex 文件中存在这些类...
  4. 将我的 guava android lib 升级到最新的 27.0.0-android
  5. 已将 gradle 插件和 gradle 版本更新到最新

AndroidRuntime: java.lang.NoSuchMethodError: 没有静态方法 checkArgument(ZLjava/lang/String;I)V 在类 lcom/google/common/base/前置条件;或其超类 (“com.google.common.base.Preconditions”的声明出现在 /data/app/com.myapp.dev.test-Xip2SNDMljPc2_BN0p3iRg==/base.apk!classes2.dex) 03-26 13:49:19.167 14658 14751 E AndroidRuntime: 在 com.google.common.util.concurrent.RateLimiter.checkPermits(RateLimiter.java:424) 03-26 13:49:19.167 14658 14751 E AndroidRuntime: 在 com.google.common.util.concurrent.RateLimiter.tryAcquire(RateLimiter.java:341) 03-26 13:49:19.167 14658 14751 E AndroidRuntime: 在 com.google.common.util.concurrent.RateLimiter.tryAcquire(RateLimiter.java:325)

现在不知道该去哪里。有什么想法我还能做什么?

【问题讨论】:

  • 你的proguard配置文件怎么样?

标签: android android-gradle-plugin android-proguard android-multidex android-guava


【解决方案1】:

尝试在下面添加proguard配置

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

【讨论】:

  • 没有用 :( .. 我看到 base 和 util 类都在 main dex 文件中......即使那样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-30
  • 2017-04-04
  • 1970-01-01
  • 2015-01-21
  • 2021-11-19
  • 1970-01-01
相关资源
最近更新 更多