【发布时间】:2016-06-13 20:17:45
【问题描述】:
并非总是如此,但有时我在运行我的应用程序时会在 logcat 中看到此异常
原因:java.lang.ClassNotFoundException:在路径上找不到类“com.example.classname”:DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
应用程序不会崩溃,并且这个com.example.classname 存在于我的项目中。
我正在使用 android studio 2.2,我正在为我们的项目使用 multidex。
我怀疑这个问题是因为multidex。
知道如何解决这个异常吗?
我们的 build.gradle 文件很大。 我正在添加它的一部分
compileSdkVersion 23
buildToolsVersion '23.0.3'
defaultConfig {
minSdkVersion 17
targetSdkVersion 22
multiDexEnabled true
......
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
testCompile('org.robolectric:shadows-multidex:3.0') {
exclude group: 'org.robolectric', module: 'robolectric'
}
}
并在自定义应用程序类中
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
【问题讨论】:
-
能否发布与应用程序、build.gradle 文件和自定义应用程序相关的清单部分(如果有的话)?
-
你能显示你启用
multiDexEnabled的build.gradle文件吗? -
为什么在依赖项中添加了这两个库?
-
shadows-multidex 用于 robolectric。 stackoverflow.com/questions/26512170/…
-
在 as 和 robolectric 等依赖方中添加 multidex... 依赖项 { compile 'com.android.support:multidex:1.0.1' }