Android 2.2:用于Guava类的java.lang.NoClassDefFoundError

时间:2014-01-29 15:38:44

标签: android guava android-2.2-froyo android-gradle android-guava

我在 Android 2.2 设备上获得java.lang.NoClassDefFoundError: com.google.common.collect.SortedMultisets$NavigableElementSet

我在Android 2.2模拟器上遇到了同样的崩溃

我在 Android 4.x 设备上没有收到该错误。

我的build.gradle有:

dependencies {
compile group: 'com.google.guava', name: 'guava', version: '15.0'
}

defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
}

为什么会这样?

2 个答案:

答案 0 :(得分:2)

如果您想使用较新版本的Guava(您应该使用),use Guava JDK5 backport(它将适用于Android 2.2)。另请参阅this answer explaining what's going on(Android 2.1-2.2不支持Guava使用的某些类/接口)。

请注意,目前没有guava-jdk5-15.0版本(可能不会)但是guava-jdk5-16.0正在发布(see comments in this G+ post)

答案 1 :(得分:0)

我在这里找到了答案http://porcupineprogrammer.blogspot.com/2013/06/guava-and-minsdkversion.html

事实证明只有Guava 13及更早版本可以在Android 2.2中正常使用。

我已降级为Guava 13.