带有DexPathList的ClassNotFoundException

时间:2017-08-29 15:12:47

标签: android dex

我的Samsung S3(4.4 SDK版本)有时会出现此异常:

  

由java.lang.ClassNotFoundException引起:没找到类   路径上的“android.graphics.drawable.Icon”:DexPathList [[zip文件   “/data/app/com.xxxx-1.apk”,zip文件   “/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

在我的Samsung S5(6 SDK)上,没有问题。

1 个答案:

答案 0 :(得分:1)

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

根据您的需要,可以使用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。