使用Froyo版Google Play服务时出现NoSuchMethodError:java.io.IOException。<init>异常</init>

时间:2014-01-27 10:22:34

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

运行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设备上发生。我正在寻找一个解决方案(这可能是一个问题吗?)。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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