gpt4 book ai didi

java - 构建良好的 Android Studio 项目上的 NoClassDefFoundError

转载 作者:太空狗 更新时间:2023-10-29 15:45:38 25 4
gpt4 key购买 nike

我不是 Android 开发人员,但我正在尝试为我在 Android Studio 上的应用程序升级 Facebook SDK。之前的SDK是3.5,我正在尝试添加4.4.1

我已经按照入门指南编写了登录类,但现在当我尝试在设备上启动该应用程序时,虽然它编译得很好,但它在启动时崩溃了。

我收到以下错误:

08-05 21:05:25.128 25207-25207/? E/dalvikvm﹕ Could not find class 'com.history.HistoryOrder', referenced from method com.service.Global. 08-05 21:05:25.138 25207-25207/? E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at com.imperautus.testProject.ActivitySplash.onCreate(ActivitySplash.java:61) at android.app.Activity.performCreate(Activity.java:5326) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) at android.app.ActivityThread.access$700(ActivityThread.java:157) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:5317) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NoClassDefFoundError: com.history.HistoryOrder at com.service.Global.(Global.java:113)             at com.imperautus.testProject.ActivitySplash.onCreate(ActivitySplash.java:61)             at android.app.Activity.performCreate(Activity.java:5326)             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218)             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)             at android.app.ActivityThread.access$700(ActivityThread.java:157)             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)             at android.os.Handler.dispatchMessage(Handler.java:99)             at android.os.Looper.loop(Looper.java:176)             at android.app.ActivityThread.main(ActivityThread.java:5317)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:511)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)             at dalvik.system.NativeStart.main(Native Method)

我看到它提示找不到类 com.history.HistoryOrder 但这个类就在这个确切的地方并且它在过渡到新的 Facebook SDK 之前工作(我没有触及类的代码).

Global.java:113 说:

public static ArrayList<HistoryOrder> historyOrderList = new ArrayList<HistoryOrder>(); 

public static HistoryOrder historyOrderItem = new HistoryOrder();

我还将代码中的所有引用从 app.Fragment 更改为 support.v4.app.Fragment 版本,因为我认为这会导致问题。

有什么线索吗?

最佳答案

java.lang.NoClassDefFoundError 可能会被抛出,因为您已达到 65k 限制 http://developer.android.com/tools/building/multidex.html#about

如果您需要超过 65k 的限制,您必须包括 multidex 支持

渐变:

defaultConfig { 
...
multiDexEnabled true
}
...
dependencies {
compile 'com.android.support:multidex:1.0.1'
...
}

list :

 <application
...
android:name="android.support.multidex.MultiDexApplication">

如果您有自定义应用程序类:

扩展 MultiDexApplication MultiDex.install(getBaseContext()); 添加到您的 CustomApplication onCreate()

Note that on some low-end devices adding MultiDex.install(getBaseContext()); to your CustomApplication onCreate() can still throw java.lang.NoClassDefFoundError:

如果是这样,请尝试将 MultiDex.install 添加到 attachBaseContext(Context base) 而不是

public class CustomApplication extends Application {
...
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
...

关于java - 构建良好的 Android Studio 项目上的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839935/

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