gpt4 book ai didi

android - SDK 21 以下的 NoClassDefFoundError

转载 作者:IT老高 更新时间:2023-10-28 22:19:46 28 4
gpt4 key购买 nike

我刚刚在我的应用程序中遇到了一个尴尬的错误。

在我的 Nexus 5/7 上,运行 android 5.0.1/5.0.2,一切正常。但是,如果我尝试在具有早期版本(测试 4.4.4 和 4.3)的设备上运行完全相同的代码,我会收到以下错误:

03-13 13:49:41.140  21714-21714/? E/dalvikvm﹕ Could not find class 'com.default.package.application.model.Appcomponent', referenced from method com.default.package.application.controller.DatabaseHandler.getScreenComponents
03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class 'android.support.v7.app.ActionBarActivityDelegate$1', referenced from method android.support.v7.app.ActionBarActivityDelegate.<init>
03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class 'android.support.v7.app.ActionBarActivityDelegateHC', referenced from method android.support.v7.app.ActionBarActivityDelegate.createDelegate
03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class 'android.support.v7.app.ActionBarActivityDelegateBase', referenced from method android.support.v7.app.ActionBarActivityDelegate.createDelegate
03-13 13:49:41.150 21714-21714/? E/dalvikvm﹕ Could not find class 'android.support.v7.app.ActionBarActivityDelegate$ActionBarDrawableToggleImpl', referenced from method android.support.v7.app.ActionBarActivityDelegate.getDrawerToggleDelegate
03-13 13:49:41.150 21714-21714/? E/dalvikvm﹕ Could not find class 'android.support.v7.internal.view.SupportMenuInflater', referenced from method android.support.v7.app.ActionBarActivityDelegate.getMenuInflater
03-13 13:49:41.150 21714-21714/? E/dalvikvm﹕ Could not find class 'android.support.v7.app.ActionBarActivityDelegate$ActionBarDrawableToggleImpl', referenced from method android.support.v7.app.ActionBarActivityDelegate.getV7DrawerToggleDelegate
03-13 13:49:41.150 21714-21714/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.default.package, PID: 21714
java.lang.NoClassDefFoundError: android.support.v7.app.ActionBarActivityDelegateHC

我已经尝试将 support.v7 库添加为 jar,但没有任何区别。但由于它适用于 Lollipop 设备,因此无论如何这都没有意义。

会不会是有关 Dalvik/Art 更改的问题?或者我不得不使用 com.android.support:multidex:1.0.0 的事实,因为它是一个相当大的应用程序。

更新:我尝试删除一些依赖项以低于 65k 方法限制。之后,该应用程序在 4.4.4 和 4.3 设备上运行。我为启用多索引支持所做的只是设置

multiDexEnabled true

在defaultConfig部分并添加

compile 'com.android.support:multidex:1.0.0'

在我的 build.gradle 的依赖项部分下方。

知道为什么这会在较旧的 android 版本上导致这些问题吗?

最佳答案

我通过将它添加到我的应用程序类解决了这个问题。

@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

对于 5 之前的 android 版本似乎是必需的。

关于android - SDK 21 以下的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29033800/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com