簡體   English   中英

Android應用。 ClassNotFoundException

[英]Android App. ClassNotFoundException

我知道這個例外已經被反復討論了,但是以某種方式我無法解決問題。 我不久前制作了一個應用程序(BeerOrNoBeer Drinkinggame),並將其發布在Google Play商店中,但是切換到新筆記本電腦后,我無法使其正常運行。 該應用程序將啟動進入菜單,甚至進入GameActivity和AboutActivity。 但是,當我嘗試打開SendBeerBrandActivity或按“屏幕后退”按鈕時,應用程序會強制停止。

如果有人可以提供幫助,我將非常感激,這樣我就可以進行期待已久的更新。

我有有關Github 啤酒或無啤酒的全部法規

此函數打開新的活動:

public void sendbeer(){
    Intent gosendbeer  = new Intent("com.celticwolf.alex.SENDBRAND");
    startActivity(gosendbeer);
}

這是按下按鈕啟動“ SendBeerBrand”后的錯誤日志。

06-18 23:04:39.945: I/dalvikvm-heap(545): Clamp target GC heap from 24.385MB to 24.000MB
06-18 23:04:39.965: D/dalvikvm(545): GC_FOR_ALLOC freed 970K, 7% free 22837K/24391K, paused 50ms
06-18 23:04:48.096: D/ActionBarSherlock(545): [dispatchOptionsItemSelected] item: Rate this App
06-18 23:04:48.096: D/ActionBarSherlock(545): [callbackOptionsItemSelected] item: Rate this App
06-18 23:04:48.146: D/ActionBarSherlock(545): [callbackOptionsItemSelected] returning true
06-18 23:04:48.146: D/ActionBarSherlock(545): [dispatchOptionsItemSelected] returning true
06-18 23:11:04.362: D/AndroidRuntime(545): Shutting down VM
06-18 23:11:04.362: W/dalvikvm(545): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
06-18 23:11:04.476: E/AndroidRuntime(545): FATAL EXCEPTION: main
06-18 23:11:04.476: E/AndroidRuntime(545): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.celticwolf.alex/com.celticwolf.alex.Sendbrand}: java.lang.ClassNotFoundException: com.celticwolf.alex.Sendbrand
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.ActivityThread.access$600(ActivityThread.java:122)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.os.Looper.loop(Looper.java:137)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.ActivityThread.main(ActivityThread.java:4340)
06-18 23:11:04.476: E/AndroidRuntime(545):  at java.lang.reflect.Method.invokeNative(Native Method)
06-18 23:11:04.476: E/AndroidRuntime(545):  at java.lang.reflect.Method.invoke(Method.java:511)
06-18 23:11:04.476: E/AndroidRuntime(545):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-18 23:11:04.476: E/AndroidRuntime(545):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-18 23:11:04.476: E/AndroidRuntime(545):  at dalvik.system.NativeStart.main(Native Method)
06-18 23:11:04.476: E/AndroidRuntime(545): Caused by: java.lang.ClassNotFoundException: com.celticwolf.alex.Sendbrand
06-18 23:11:04.476: E/AndroidRuntime(545):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
06-18 23:11:04.476: E/AndroidRuntime(545):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
06-18 23:11:04.476: E/AndroidRuntime(545):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
06-18 23:11:04.476: E/AndroidRuntime(545):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1870)
06-18 23:11:04.476: E/AndroidRuntime(545):  ... 11 more

這是按下右上角的屏幕后退按鈕后的日志:

06-19 13:51:43.743: D/ActionBarSherlock(281): [callbackPrepareOptionsMenu] returning true
06-19 13:51:43.743: W/KeyCharacterMap(281): No keyboard for id -1
06-19 13:51:43.743: W/KeyCharacterMap(281): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
06-19 13:51:43.823: D/dalvikvm(281): GC_FOR_MALLOC freed 4847 objects / 237824 bytes in 58ms
06-19 13:51:43.833: E/Cursor(281): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.celticwolf.alex/databases/sqlbeerlist.sqlite, table = null, query = SELECT _id, fakebrand FROM nobeers
06-19 13:51:43.833: E/Cursor(281): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-19 13:51:43.833: E/Cursor(281):  at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
06-19 13:51:43.833: E/Cursor(281):  at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
06-19 13:51:43.833: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
06-19 13:51:43.833: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
06-19 13:51:43.833: E/Cursor(281):  at com.celticwolf.alex.DataBaseHelper.getnobeers(DataBaseHelper.java:264)
06-19 13:51:43.833: E/Cursor(281):  at com.celticwolf.alex.Game.getDatabase(Game.java:182)
06-19 13:51:43.833: E/Cursor(281):  at com.celticwolf.alex.Game.onCreate(Game.java:94)
06-19 13:51:43.833: E/Cursor(281):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-19 13:51:43.833: E/Cursor(281):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-19 13:51:43.833: E/Cursor(281):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-19 13:51:43.833: E/Cursor(281):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-19 13:51:43.833: E/Cursor(281):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-19 13:51:43.833: E/Cursor(281):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 13:51:43.833: E/Cursor(281):  at android.os.Looper.loop(Looper.java:123)
06-19 13:51:43.833: E/Cursor(281):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-19 13:51:43.833: E/Cursor(281):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 13:51:43.833: E/Cursor(281):  at java.lang.reflect.Method.invoke(Method.java:521)
06-19 13:51:43.833: E/Cursor(281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-19 13:51:43.833: E/Cursor(281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-19 13:51:43.833: E/Cursor(281):  at dalvik.system.NativeStart.main(Native Method)
06-19 13:51:43.833: I/dalvikvm(281): Could not find method com.actionbarsherlock.internal.view.menu.ActionMenuItemView.onHoverEvent, referenced from method com.actionbarsherlock.internal.view.menu.ActionMenuItemView.dispatchHoverEvent
06-19 13:51:43.833: W/dalvikvm(281): VFY: unable to resolve virtual method 6350: Lcom/actionbarsherlock/internal/view/menu/ActionMenuItemView;.onHoverEvent (Landroid/view/MotionEvent;)Z
06-19 13:51:43.833: D/dalvikvm(281): VFY: replacing opcode 0x6e at 0x0006
06-19 13:51:43.833: D/dalvikvm(281): VFY: dead code 0x0009-0009 in Lcom/actionbarsherlock/internal/view/menu/ActionMenuItemView;.dispatchHoverEvent (Landroid/view/MotionEvent;)Z
06-19 13:51:43.853: E/Cursor(281): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.celticwolf.alex/databases/sqlbeerlist.sqlite, table = null, query = SELECT _id, nobeercountry FROM nobeers
06-19 13:51:43.853: E/Cursor(281): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-19 13:51:43.853: E/Cursor(281):  at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
06-19 13:51:43.853: E/Cursor(281):  at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
06-19 13:51:43.853: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
06-19 13:51:43.853: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
06-19 13:51:43.853: E/Cursor(281):  at com.celticwolf.alex.DataBaseHelper.getnobeercountries(DataBaseHelper.java:284)
06-19 13:51:43.853: E/Cursor(281):  at com.celticwolf.alex.Game.getDatabase(Game.java:181)
06-19 13:51:43.853: E/Cursor(281):  at com.celticwolf.alex.Game.onCreate(Game.java:94)
06-19 13:51:43.853: E/Cursor(281):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-19 13:51:43.853: E/Cursor(281):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-19 13:51:43.853: E/Cursor(281):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-19 13:51:43.853: E/Cursor(281):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-19 13:51:43.853: E/Cursor(281):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-19 13:51:43.853: E/Cursor(281):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 13:51:43.853: E/Cursor(281):  at android.os.Looper.loop(Looper.java:123)
06-19 13:51:43.853: E/Cursor(281):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-19 13:51:43.853: E/Cursor(281):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 13:51:43.853: E/Cursor(281):  at java.lang.reflect.Method.invoke(Method.java:521)
06-19 13:51:43.853: E/Cursor(281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-19 13:51:43.853: E/Cursor(281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-19 13:51:43.853: E/Cursor(281):  at dalvik.system.NativeStart.main(Native Method)
06-19 13:51:43.853: I/dalvikvm(281): Could not find method android.widget.LinearLayout.onPopulateAccessibilityEvent, referenced from method com.actionbarsherlock.internal.view.menu.ActionMenuItemView.onPopulateAccessibilityEvent
06-19 13:51:43.853: W/dalvikvm(281): VFY: unable to resolve virtual method 4886: Landroid/widget/LinearLayout;.onPopulateAccessibilityEvent (Landroid/view/accessibility/AccessibilityEvent;)V
06-19 13:51:43.853: D/dalvikvm(281): VFY: replacing opcode 0x6f at 0x0006
06-19 13:51:43.873: E/Cursor(281): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.celticwolf.alex/databases/sqlbeerlist.sqlite, table = null, query = SELECT _id, country FROM beers
06-19 13:51:43.873: E/Cursor(281): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-19 13:51:43.873: E/Cursor(281):  at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
06-19 13:51:43.873: E/Cursor(281):  at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
06-19 13:51:43.873: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
06-19 13:51:43.873: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
06-19 13:51:43.873: E/Cursor(281):  at com.celticwolf.alex.DataBaseHelper.getcountries(DataBaseHelper.java:241)
06-19 13:51:43.873: E/Cursor(281):  at com.celticwolf.alex.Game.getDatabase(Game.java:180)
06-19 13:51:43.873: E/Cursor(281):  at com.celticwolf.alex.Game.onCreate(Game.java:94)
06-19 13:51:43.873: E/Cursor(281):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-19 13:51:43.873: E/Cursor(281):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-19 13:51:43.873: E/Cursor(281):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-19 13:51:43.873: E/Cursor(281):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-19 13:51:43.873: E/Cursor(281):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-19 13:51:43.873: E/Cursor(281):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 13:51:43.873: E/Cursor(281):  at android.os.Looper.loop(Looper.java:123)
06-19 13:51:43.873: E/Cursor(281):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-19 13:51:43.873: E/Cursor(281):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 13:51:43.873: E/Cursor(281):  at java.lang.reflect.Method.invoke(Method.java:521)
06-19 13:51:43.873: E/Cursor(281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-19 13:51:43.873: E/Cursor(281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-19 13:51:43.873: E/Cursor(281):  at dalvik.system.NativeStart.main(Native Method)
06-19 13:51:43.883: D/dalvikvm(281): DexOpt: couldn't find static field
06-19 13:51:43.883: W/dalvikvm(281): VFY: unable to resolve static field 5640 (ROOT) in Ljava/util/Locale;
06-19 13:51:43.883: D/dalvikvm(281): VFY: replacing opcode 0x62 at 0x0012
06-19 13:51:43.883: D/dalvikvm(281): VFY: dead code 0x0014-001a in Lcom/actionbarsherlock/internal/widget/CapitalizingButton;.setTextCompat (Ljava/lang/CharSequence;)V
06-19 13:51:43.903: E/Cursor(281): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.celticwolf.alex/databases/sqlbeerlist.sqlite, table = null, query = SELECT _id, brand FROM beers
06-19 13:51:43.903: E/Cursor(281): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-19 13:51:43.903: E/Cursor(281):  at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
06-19 13:51:43.903: E/Cursor(281):  at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
06-19 13:51:43.903: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
06-19 13:51:43.903: E/Cursor(281):  at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
06-19 13:51:43.903: E/Cursor(281):  at com.celticwolf.alex.DataBaseHelper.getbeers(DataBaseHelper.java:221)
06-19 13:51:43.903: E/Cursor(281):  at com.celticwolf.alex.Game.getDatabase(Game.java:179)
06-19 13:51:43.903: E/Cursor(281):  at com.celticwolf.alex.Game.onCreate(Game.java:94)
06-19 13:51:43.903: E/Cursor(281):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-19 13:51:43.903: E/Cursor(281):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-19 13:51:43.903: E/Cursor(281):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-19 13:51:43.903: E/Cursor(281):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-19 13:51:43.903: E/Cursor(281):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-19 13:51:43.903: E/Cursor(281):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 13:51:43.903: E/Cursor(281):  at android.os.Looper.loop(Looper.java:123)
06-19 13:51:43.903: E/Cursor(281):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-19 13:51:43.903: E/Cursor(281):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 13:51:43.903: E/Cursor(281):  at java.lang.reflect.Method.invoke(Method.java:521)
06-19 13:51:43.903: E/Cursor(281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-19 13:51:43.903: E/Cursor(281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-19 13:51:43.903: E/Cursor(281):  at dalvik.system.NativeStart.main(Native Method)
06-19 13:51:44.043: D/dalvikvm(281): GC_EXTERNAL_ALLOC freed 2324 objects / 192104 bytes in 61ms
06-19 13:51:45.233: D/ActionBarSherlock(281): [dispatchStop]
06-19 13:51:46.733: D/ActionBarSherlock(281): [callbackOptionsItemSelected] item: null
06-19 13:51:46.733: D/AndroidRuntime(281): Shutting down VM
06-19 13:51:46.733: W/dalvikvm(281): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-19 13:51:46.743: E/AndroidRuntime(281): FATAL EXCEPTION: main
06-19 13:51:46.743: E/AndroidRuntime(281): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.celticwolf.alex/com.actionbarsherlock.view.Menu}; have you declared this activity in your AndroidManifest.xml?
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.app.Activity.startActivityForResult(Activity.java:2817)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.app.Activity.startActivity(Activity.java:2923)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.celticwolf.alex.Game.onOptionsItemSelected(Game.java:679)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.actionbarsherlock.app.SherlockActivity.onMenuItemSelected(SherlockActivity.java:208)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.actionbarsherlock.internal.ActionBarSherlockCompat.onMenuItemSelected(ActionBarSherlockCompat.java:600)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.actionbarsherlock.internal.widget.ActionBarView$3.onClick(ActionBarView.java:163)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.view.View.performClick(View.java:2408)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.view.View$PerformClick.run(View.java:8816)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.os.Handler.handleCallback(Handler.java:587)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.os.Handler.dispatchMessage(Handler.java:92)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.os.Looper.loop(Looper.java:123)
06-19 13:51:46.743: E/AndroidRuntime(281):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-19 13:51:46.743: E/AndroidRuntime(281):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 13:51:46.743: E/AndroidRuntime(281):  at java.lang.reflect.Method.invoke(Method.java:521)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-19 13:51:46.743: E/AndroidRuntime(281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-19 13:51:46.743: E/AndroidRuntime(281):  at dalvik.system.NativeStart.main(Native Method)
06-19 13:51:49.624: I/Process(281): Sending signal. PID: 281 SIG: 9

編輯1:@CommonsWare,我已經調整了“訂單和導出”部分。 還有另一個問題...

編輯2:我正在使用JDK版本1.7.0_09 訂購與出口

你看得到差別嗎?

 <activity
    android:name=".Sendbrand"

 <activity
    android:name=".SendBrand"

第二個當然是正確的。 干杯!

嘗試更新工具/ SDK,刪除bin文件夾,運行完全清除。 另外,請確保根據最新的工具/ api進行構建。

此外,嘗試使用ant構建可能有助於識別錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM