我一直在尝试创建一个 Flappy Bird 应用程序,并且它有效……至少在桌面上有效。我在 Android 上运行它时遇到很多麻烦。每当我尝试运行它时,它不会在控制台中给出任何错误消息,但会在 Logcat 中给出任何错误消息。另外,当我尝试运行它时,它总是强制关闭(在我的手机上)并显示“不幸的是,Flappy Bird 已停止”。我不明白为什么,而且由于我也是 Android 编程新手,我无法正确读取 Logcat 来调试错误。我发布了一些图片来配合我所看到的内容。
注意:我的设备是运行 Android 4.3 的已 root 的 HTC,并且我已经完成了 USB 调试步骤。
我已经从 SDK 管理器安装了一些工具。我还安装了 API 14、18 和 22(14 之前的任何版本都不兼容)
这是在 Debug模式下运行后的样子。
如果您需要更多信息,我很乐意为您提供。
这是 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);
}
}
最佳答案
关于java - 应用程序无法在 ADB 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456087/