【问题标题】:NoSuchMethodError: java.io.IOException.<init> exception while using Froyo version of Google Play ServicesNoSuchMethodError: java.io.IOException.<init> 使用 Froyo 版本的 Google Play 服务时出现异常
【发布时间】:2014-02-18 03:21:42
【问题描述】:

运行 Android 2.2 的应用程序的用户会遇到应用程序崩溃。显示以下堆栈跟踪:

java.lang.NoSuchMethodError: java.io.IOException.<init>
at com.google.android.gms.internal.ii.e(Unknown Source)
at com.google.android.gms.internal.ii.b(Unknown Source)
at com.google.android.gms.internal.hf.a(Unknown Source)
at com.google.android.gms.internal.hf.a(Unknown Source)
at com.google.android.gms.internal.cy.a(Unknown Source)
at com.google.android.gms.internal.eg.run(Unknown Source)
at com.google.android.gms.internal.ej.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1102)

我已切换到正确版本的 Google Play 服务以尝试解决此问题(3.2.65,仍支持 Froyo 的版本):

dependencies {
   compile fileTree(dir: 'libs', include: '*.jar')
   compile 'com.google.android.gms:play-services:3.2.65'
   ...
}

但这并不能解决问题:应用程序崩溃仍在 Froyo 设备上发生。我正在寻找解决方案(这可能是 proguard 问题吗?)。

【问题讨论】:

    标签: android proguard google-play-services android-2.2-froyo


    【解决方案1】:

    我发现了问题的原因:我在主应用程序中包含了正确版本的 Google Play 服务(3.2.65,仍包含 Froyo 支持),但包含了一个库项目 (AAR),它取决于同一库的较新版本(4.x)。 将库项目更新到 3.2.65 后,库项目中的一些代码不再编译(AdView 用法)。在解决编译错误、重建 AAR 并更新主应用程序以包含这个新版本的 AAR 后,问题就消失了。

    【讨论】:

      【解决方案2】:

      尝试将新的 Google Play 服务与 froyo(修订版 12)一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-05
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多