我正在使用LibGDX在Android Studio中制作游戏。游戏几乎已经完成,但是我无法在拥有的旧手机上运行游戏。我最初是在台式机上制作和测试游戏的,而最近才进行了更改,因此可以通过更改配置在移动设备上运行。该游戏没有任何错误,并且可以在桌面上完美运行。在仿真器上,它可以完全运行,而且速度非常慢,这就是为什么我切换到真实设备的原因。
我正在旧的moto g手机上运行游戏,并且游戏可以正确下载并在手机上打开。手机在Android 5.1上运行,无法进一步更新。我在Android Studio版本3.1.4上制作了游戏,由于LibGDX与新版本的Android Studio不兼容,因此无法更新。
打开的第一个屏幕是我的菜单,它只有一个播放按钮。播放菜单音乐,并且当您按下播放按钮时,可以听到被按下的按钮的声音,但随后屏幕变黑一秒钟,游戏关闭。没有“不幸的是,应用程序已停止”消息,游戏只是关闭。它仍然在后台打开,当您查看电话上所有打开的“选项卡”时可以看到它。如果选择该选项卡,则游戏将重新打开到“菜单”屏幕,并且再次发生该问题。
认为问题出在错误,我在游戏运行时查看了电话的logcat。出现的唯一红色错误如下:
4727-4785/com.mygdx.game E/MediaPlayer: Should have subtitle controller already set
此错误已连续重复六次,这是我按下播放按钮之前的最后几行代码。完成后,以下三行会出现在日志中,然后游戏结束:
4727-4753/com.mygdx.game W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
4727-4753/com.mygdx.game W/linker: libgdx-box2d.so: unused DT entry: type 0x6ffffffe arg 0xf4fc
4727-4753/com.mygdx.game W/linker: libgdx-box2d.so: unused DT entry: type 0x6fffffff arg 0x2
我的logcat中没有其他错误,因此我不知道什么可能导致此错误,并且我一直在寻找解决方案。
编辑:
当我的游戏结束时,没有堆栈跟踪指定抛出了什么异常或类似的东西。游戏结束之后或结束之前,再也没有红色代码。好像游戏刚刚停止一样,没有任何错误可以引起我的辨别。