首页 文章

带有DexPathList的ClassNotFoundException

提问于
浏览
10

有时在我的Samsung S3(4.4 SDK版本)上有这个例外:

由java.lang.ClassNotFoundException引起:在路径上没有找到类“android.graphics.drawable.Icon”:DexPathList [[zip file“/data/app/com.xxxx-1.apk”,zip file“/ data / data / com.xxxx / code_cache / secondary-dexes / com.xxxx-1.apk.classes2.zip“],nativeLibraryDirectories = [/ data / app-lib / com.xxxx-1,/ vendor / lib,/ system / lib]]在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

我完全按照这些元素:https://developer.android.com/studio/build/multidex.html

在我的三星S5(6 SDK)上,没有问题 .

1 回答

  • 1

    参见文档; android.graphics.drawable.Icon在API级别23(Android 6.0 Marshmallow)中添加 . 它在旧设备上不存在 .

    根据您的需要,可以使用android.support.v4.graphics.drawable.IconCompat代替 . 它已添加到支持库26.0.0中,因此您需要包含 com.android.support:support-compat:26.0.0 或更新(当前latest为26.0.1)作为依赖项,以及与支持库匹配的 targetSdkVersion . 支持库26允许最低SDK级别14 .

相关问题