簡體   English   中英

應用程序不會在 ADB 上運行

[英]App won't run on ADB

我一直在嘗試創建一個 Flappy Bird 應用程序,它可以工作……至少,它可以在桌面上使用。 我在 Android 上運行它時遇到了很多麻煩。 每當我嘗試運行它時,它都不會在控制台中給出任何錯誤消息,但會在 Logcat 中給出。 此外,當我嘗試運行它時,它總是強制關閉(在我的手機上)並說“不幸的是,Flappy Bird 已經停止了”。 我不知道為什么,而且由於我也是 Android 編程的新手,我無法正確讀取 Logcat 來調試錯誤。 我已經發布了一些圖片來配合我所看到的。

注意:我的設備是運行 Android 4.3 的有根的 HTC,我已經完成了 USB 調試步驟。

嘗試運行應用程序后的 Logcat

我已經從 SDK Manager 安裝了一些工具。 我還安裝了 API 的 14、18 和 22(14 之前的任何東西都不兼容)

調試

這是在調試模式下運行后的樣子。

如果您需要更多信息,我很樂意為您提供。

這是 Logcat 的文本版本

04-06 17:02:45.911: E/AndroidRuntime(10812): FATAL EXCEPTION: main
04-06 17:02:45.911: E/AndroidRuntime(10812): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mygdx.game/com.mygdx.game.AndroidLauncher}: java.lang.ClassNotFoundException: Didn't find class "com.mygdx.game.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mygdx.game-1, /system/lib]]
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.app.ActivityThread.access$600(ActivityThread.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.os.Handler.dispatchMessage(Handler.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.os.Looper.loop(Looper.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.app.ActivityThread.main(ActivityThread.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at java.lang.reflect.Method.invokeNative(Native Method)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at java.lang.reflect.Method.invoke(Method.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at dalvik.system.NativeStart.main(Native Method)
04-06 17:02:45.911: E/AndroidRuntime(10812): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mygdx.game.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mygdx.game-1, /system/lib]]
04-06 17:02:45.911: E/AndroidRuntime(10812):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at java.lang.ClassLoader.loadClass(ClassLoader.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at java.lang.ClassLoader.loadClass(ClassLoader.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    at android.app.Instrumentation.newActivity(Instrumentation.java)
04-06 17:02:45.911: E/AndroidRuntime(10812):    ... 12 more

從我在 Logcat 中看到的情況來看,AndroidLauncher 中似乎有問題。 這是由 Libgdx 自動創建的,所以我不太確定這里可能出現什么問題。 但它可能在initialize(new FlappyDemo(), config);

這是完整的 AndroidLauncher 類供參考:

package com.mygdx.game;

import android.os.Bundle;

import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.mygdx.game.FlappyDemo;

public class AndroidLauncher extends AndroidApplication {
    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
        initialize(new FlappyDemo(), config);
    }
}

我最終自己找到了答案。 那是我沒有安裝所有正確的 API。 我所要做的就是安裝 API 23(它也恰好是 targetSdkVersion)。 之后,我重新啟動了 Eclipse 並且它工作了。

安裝 API 23 后的 SDK 管理器

暫無
暫無

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

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