java - Android Studio Pre-Lollipop 模拟器找不到类

标签 java android eclipse class

我已将代码从 Eclipse 迁移到 Android Studio,但无法在 Lollipop 之前的任何模拟器上运行我的代码。我已经更新了我的 SDK,但这似乎没有帮助。每次我尝试在 Lollipop 之前运行的模拟器和 API 上运行时,我都会收到 无法找到类 错误,并且代码找不到的类是我的项目中定义的类。

这是生成的堆栈跟踪示例:

08-10 14:42:38.140    1615-1615/com.mypackage E/Trace﹕ error opening trace file: No such file or directory (2)
08-10 14:42:38.220    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.utils.MyLifecycleHandler$1', referenced from method com.mypackage.utils.MyLifecycleHandler.updateClientDeviceStatus
08-10 14:42:38.220    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7432 (Lcom/mypackage/utils/MyLifecycleHandler$1;) in Lcom/mypackage/utils/MyLifecycleHandler;
08-10 14:42:38.242    1615-1615/com.mypackage I/dalvikvm-heap﹕ Grow heap (frag case) to 15.774MB for 5041436-byte allocation
08-10 14:42:38.340    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.utils.Authentication$1', referenced from method com.mypackage.utils.Authentication.unsubscribePubnub
08-10 14:42:38.340    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7413 (Lcom/mypackage/utils/Authentication$1;) in Lcom/mypackage/utils/Authentication;
08-10 14:42:38.350    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.utils.Utilities$2', referenced from method com.mypackage.utils.Utilities.createAlert
08-10 14:42:38.350    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7478 (Lcom/mypackage/utils/Utilities$2;) in Lcom/mypackage/utils/Utilities;
08-10 14:42:38.350    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.utils.Utilities$3', referenced from method com.mypackage.utils.Utilities.createAlert
08-10 14:42:38.350    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7479 (Lcom/mypackage/utils/Utilities$3;) in Lcom/mypackage/utils/Utilities;
08-10 14:42:38.350    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.utils.Utilities$5', referenced from method com.mypackage.utils.Utilities.markEnoteRead
08-10 14:42:38.350    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7481 (Lcom/mypackage/utils/Utilities$5;) in Lcom/mypackage/utils/Utilities;
08-10 14:42:38.350    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.utils.Utilities$4', referenced from method com.mypackage.utils.Utilities.updateHotCount
08-10 14:42:38.350    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7480 (Lcom/mypackage/utils/Utilities$4;) in Lcom/mypackage/utils/Utilities;
08-10 14:42:38.360    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.dialogs.lists.OnlineStatusFilterList', referenced from method com.mypackage.sqlite.DataBaseHelper.getSearch
08-10 14:42:38.360    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7105 (Lcom/mypackage/dialogs/lists/OnlineStatusFilterList;) in Lcom/mypackage/sqlite/DataBaseHelper;
08-10 14:42:38.360    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.sqlite.ViewLogItemModel', referenced from method com.mypackage.sqlite.DataBaseHelper.getViewLog
08-10 14:42:38.360    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7412 (Lcom/mypackage/sqlite/ViewLogItemModel;) in Lcom/mypackage/sqlite/DataBaseHelper;
08-10 14:42:38.360    1615-1615/com.mypackage E/SQLiteLog﹕ (14) cannot open file at line 30174 of [00bb9c9ce4]
08-10 14:42:38.360    1615-1615/com.mypackage E/SQLiteLog﹕ (14) os_unix.c:30174: (2) open(/data/data/com.mypackage/databases/bc.db) -
08-10 14:42:38.360    1615-1615/com.mypackage E/SQLiteDatabase﹕ Failed to open database '/data/data/com.mypackage/databases/bc.db'.
    android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
            at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
            at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
            at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
            at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
            at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
            at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
            at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
            at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
            at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
            at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669)
            at com.mypackage.sqlite.DataBaseHelper.checkDataBase(DataBaseHelper.java:169)
            at com.mypackage.sqlite.DataBaseHelper.initialize(DataBaseHelper.java:71)
            at com.mypackage.utils.MyLifecycleHandler.onActivityResumed(MyLifecycleHandler.java:70)
            at android.app.Application.dispatchActivityResumed(Application.java:173)
            at android.app.Activity.onResume(Activity.java:1081)
            at com.mypackage.ClientRegisterActivity.onResume(ClientRegisterActivity.java:33)
            at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1184)
            at android.app.Activity.performResume(Activity.java:5082)
            at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2565)
            at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2603)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2089)
            at android.app.ActivityThread.access$600(ActivityThread.java:130)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            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:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
08-10 14:42:38.390    1615-1615/com.mypackage E/SQLiteLog﹕ (1) no such table: app
08-10 14:42:38.411    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.login.LoginActivity$6$1', referenced from method com.mypackage.login.LoginActivity$6.onFailure
08-10 14:42:38.411    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7254 (Lcom/mypackage/login/LoginActivity$6$1;) in Lcom/mypackage/login/LoginActivity$6;
08-10 14:42:38.490    1615-1615/com.mypackage W/EGL_emulation﹕ eglSurfaceAttrib not implemented
08-10 14:42:39.630    1615-1615/com.mypackage I/dalvikvm﹕ Could not find method android.view.Window.setStatusBarColor, referenced from method com.mypackage.navigation.AbstractNavDrawerActivity.changeStatusBarColor
08-10 14:42:39.630    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve virtual method 14570: Landroid/view/Window;.setStatusBarColor (I)V
08-10 14:42:39.640    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2967 (abc_dialog_title_material) in Landroid/support/v7/appcompat/R$layout;
08-10 14:42:39.640    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2826 (actionBarTheme) in Landroid/support/v7/appcompat/R$attr;
08-10 14:42:39.640    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2975 (abc_screen_simple_overlay_action_mode) in Landroid/support/v7/appcompat/R$layout;
08-10 14:42:39.640    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2974 (abc_screen_simple) in Landroid/support/v7/appcompat/R$layout;
08-10 14:42:39.640    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2955 (title) in Landroid/support/v7/appcompat/R$id;
08-10 14:42:39.640    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2911 (action_bar_activity_content) in Landroid/support/v7/appcompat/R$id;
08-10 14:42:39.650    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2826 (actionBarTheme) in Landroid/support/v7/appcompat/R$attr;
08-10 14:42:39.650    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2865 (abc_input_method_navigation_guard) in Landroid/support/v7/appcompat/R$color;
08-10 14:42:39.660    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2826 (actionBarTheme) in Landroid/support/v7/appcompat/R$attr;
08-10 14:42:39.660    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static field 2917 (action_mode_bar_stub) in Landroid/support/v7/appcompat/R$id;
08-10 14:42:39.671    1615-1615/com.mypackage E/dalvikvm﹕ Could not find class 'com.mypackage.navigation.NavigationHelper$1', referenced from method com.mypackage.navigation.NavigationHelper.displayNetworkAlert
08-10 14:42:39.671    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve new-instance 7285 (Lcom/mypackage/navigation/NavigationHelper$1;) in Lcom/mypackage/navigation/NavigationHelper;
08-10 14:42:39.681    1615-1615/com.mypackage I/dalvikvm﹕ Could not find method com.mypackage.navigation.NavMenuProfile.create, referenced from method com.mypackage.navigation.NavigationHelper.getNavDrawerConfiguration
08-10 14:42:39.681    1615-1615/com.mypackage W/dalvikvm﹕ VFY: unable to resolve static method 49780: Lcom/mypackage/navigation/NavMenuProfile;.create (ILjava/lang/String;Ljava/lang/String;ZLandroid/content/Context;)Lcom/mypackage/navigation/NavMenuProfile;
08-10 14:42:39.690    1615-1615/com.mypackage W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb2e89288)
08-10 14:42:39.690    1615-1615/com.mypackage E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.mypackage.navigation.NavMenuProfile
            at com.mypackage.navigation.NavigationHelper.getNavDrawerConfiguration(NavigationHelper.java:243)
            at com.mypackage.citizens.CitizensActivity.getNavDrawerConfiguration(CitizensActivity.java:744)
            at com.mypackage.navigation.AbstractNavDrawerActivity.createNavigationMenu(AbstractNavDrawerActivity.java:155)
            at com.mypackage.navigation.AbstractNavDrawerActivity.onCreate(AbstractNavDrawerActivity.java:89)
            at com.mypackage.citizens.CitizensActivity.onCreate(CitizensActivity.java:143)
            at android.app.Activity.performCreate(Activity.java:5008)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
            at android.app.ActivityThread.access$600(ActivityThread.java:130)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            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:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)

有谁知道是什么原因导致这种情况发生?我在使用Android Studio之前没有出现过这个问题。

最佳答案

我发现这个错误与启用 multidex 有关。为了解决这个问题,我必须添加行

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

build.gradle 依赖项。我还必须添加

MultiDex.install(this);

到我的应用程序的attachBaseContext方法。添加这两件事后,我能够在 Pre-Lollipop 模拟器和设备上运行我的应用程序。

关于java - Android Studio Pre-Lollipop 模拟器找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31928034/

相关文章:

java - Android 安全登录背后的网页抓取

java - 为什么有两个带有 Google Guice 依赖注入(inject)框架的单例实例

java - 难以避免很多 'if statements'

Android获取实际时间(当互联网关闭且设备时间不正确时)

android - Android.mk中 "call"的 "LOCAL_PATH := $(call my-dir)"是什么?

java - 无法将 Swagger-ui 链接到我的 Swagger Spring mvc 项目

java - Android心率监测代码解释

java - JXLS - 列宽丢失

Android:如何在新的 SplashScreen API 中将可绘制对象设置为 windowSplashScreenBackground 参数?

java - 最新更改未反射(reflect)在 servlet (tomcat) 中