简体   繁体   English

我的libgdx游戏在台式机上运行,​​但不能在android中运行

[英]My libgdx game runs un desktop but not in android

You see, I've been programming a long-time game with Libgdx, I always used gradlew to install an apk debug and try it on my android, the thing is that I have it finished, it weighs a lot, and I test it with gradlew on my cellphone, but the difference is that now it doesn't run, it doesn't run on android but it does in the desktop. 您看,我一直在用Libgdx编写长期游戏,我一直使用gradlew安装apk调试程序并在android上尝试,事实是我已经完成了,它很重,我测试了它我的手机上装有gradlew,但区别在于现在它无法运行,不能在android上运行,但可以在桌面上运行。 Why? 为什么? I don't know what is wrong, I didn't put code because it is a lot and as I said nothing is wrong, just do not run on Android. 我不知道有什么问题,我没有输入代码,因为代码很多,正如我说的没什么不对的,就是不要在Android上运行。 -I use eclipse. -我用日食。 The worst part is that I don't know what I did, because before it ran me on android. 最糟糕的部分是我不知道自己做了什么,因为在它运行到Android之前。

manifest: 表现:

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="20" />

<application android:name="android.support.multidex.MultiDexApplication>
    <uses-library android:name="android.test.runner" />
</application>

<instrumentation android:name="android.test.InstrumentationTestRunner"
                 android:targetPackage="com.cubopez.es"
                 android:handleProfiling="false"
                 android:functionalTest="false"
                 android:label="Tests for com.cubopez.es"/>


</manifest>

(This didn't work before I tried to add the Multidex) (这在我尝试添加Multidex之前不起作用)

Error message (I tried to delete the mp3 asset that provocated that error, but it failed again with other mp3 asset): 错误消息(我尝试删除引发该错误的mp3资产,但其他mp3资产再次失败):

E/AndroidRuntime: FATAL EXCEPTION: GLThread 22480Process: com.cubopez.blast, PID: 31220Theme: themes:{default=overlay:com.zui.theme.XuiSkin.blue, iconPack:system, fontPkg:system, com.android.systemui=overlay:system, com.android.systemui.navbar=overlay:system}com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: winter.mp3 at com.badlogic.gdx.assets.AssetManager.handleTaskError(AssetManager.java:582) at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:383) at com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager.java:404) at com.cubopez.blast.MainGame.create(MainGame.java:129) at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:311) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) E / Android运行时:致命例外:GLThread 22480处理:com.cubopez.blast,PID:31220主题:主题:{default = overlay:com.zui.theme.XuiSkin.blue,iconPack:system,fontPkg:system,com.android.systemui = overlay:system,com.android.systemui.navbar = overlay:system} com.badlogic.gdx.utils.GdxRuntimeException:com.badlogic.gdx.utils.GdxRuntimeException:无法在com上加载资产Winter.mp3的依赖项com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:383)上的.badlogic.gdx.assets.AssetManager.handleTaskError(AssetManager.java:582)com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager) .java:404),位于com.cubopez.blast.MainGame.create(MainGame.java:129),位于com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:311),位于android.opengl.GLSurfaceView $ android.opengl.GLSurfaceView $ GLThread.run(GLSurfaceView.java:1240)上的GLThread.guardedRun(GLSurfaceView.java:1519)

Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: winter.mp3 at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:121) at com.badlogic.gdx.assets.AssetLoadingTask.update(AssetLoadingTask.java:90) at com.badlogic.gdx.assets.AssetManager.updateTask(AssetManager.java:507) at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:381) at com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager.java:404) at com.cubopez.blast.MainGame.create(MainGame.java:129) at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:311) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 引起原因:com.badlogic.gdx.utils.GdxRuntimeException:无法加载资产的依赖项:com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:121)上的winter.mp3在com.badlogic.gdx上。 com.badlogic.gdx.assets.AssetManager.updateTask(AssetManager.java:507)处com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:381)的assets.AssetLoadingTask.update(AssetLoadingTask.java:90)在com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged处com.cubopez.blast.MainGame.create(MainGame.java:129)处com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager.java:404)处(AndroidGraphics.java:311)在android.opengl.GLSurfaceView $ GLThread.guardedRun(GLSurfaceView.java:1519)在android.opengl.GLSurfaceView $ GLThread.run(GLSurfaceView.java:1240)

Caused by: com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Error loading audio file: winter.mp3Note: Internal audio files must be placed in the assets directory. 引起原因:com.badlogic.gdx.utils.GdxRuntimeException:com.badlogic.gdx.utils.GdxRuntimeException:加载音频文件时出错:winter.mp3注:内部音频文件必须放置在资产目录中。 at com.badlogic.gdx.utils.async.AsyncResult.get(AsyncResult.java:46) at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:119) ... 8 more 在com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:119)处com.badlogic.gdx.utils.async.AsyncResult.get(AsyncResult.java:46)...另外8个

Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error loading audio file: winter.mp3Note: Internal audio files must be placed in the assets directory. 引起原因:com.badlogic.gdx.utils.GdxRuntimeException:加载音频文件时出错:winter.mp3注意:内部音频文件必须放置在资产目录中。 at com.badlogic.gdx.backends.android.AndroidAudio.newMusic(AndroidAudio.java:120) at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:48) at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:29) at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:70) at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34) at com.badlogic.gdx.utils.async.AsyncExecutor$2.call(AsyncExecutor.java:58) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) 在com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:48)在com.badlogic.gdx.assets.loaders在com.badlogic.gdx.assets处com.badlogic.gdx.backends.android.AndroidAudio.newMusic(AndroidAudio.java:120) com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:70)的.loaders.MusicLoader.loadAsync(MusicLoader.java:29)com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34) )在com.badlogic.gdx.utils.async.AsyncExecutor $ 2.call(AsyncExecutor.java:58)在java.util.concurrent.FutureTask.run(FutureTask.java:237)在java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588)在java.lang.Thread.run(Thread.java:818)

Caused by: java.io.FileNotFoundException: winter.mp3 at android.content.res.AssetManager.openAssetFd(Native Method) at android.content.res.AssetManager.openFd(AssetManager.java:357) at com.badlogic.gdx.backends.android.AndroidFileHandle.getAssetFileDescriptor(AndroidFileHandle.java:237) at com.badlogic.gdx.backends.android.AndroidAudio.newMusic(AndroidAudio.java:110) at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:48) at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:29) at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:70) at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34) at com.badlogic.gdx.utils.async.AsyncExecutor$2.call(AsyncExecutor.java:58) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.T 由以下原因导致:java.io.FileNotFoundException:android.content.res.AssetManager.openAssetFd的winter.mp3(本地方法)com.badlogic.gdx处的android.content.res.AssetManager.openFd(AssetManager.java:357)。在com.badlogic.gdx.backends.android.AndroidAudio.newMusic(AndroidAudio.java:110)处com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(backends.android.AndroidFileHandle.getAssetFileDescriptor(AndroidFileHandle.java:237) com.badlogic.gdx.assets.loaders上的MusicLoader.java:48)。com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:70)上com.badlogic.gdx.assets.AssetLoadingTask.call(MusicLoader.loadAsync(MusicLoader.java:29) com.badlogic.gdx.utils.async.AsyncExecutor $ 2.call(AsyncExecutor.java:58)处的.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34)在java.util.concurrent.FutureTask.run(FutureTask。 java:util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113处的java:237)java.lang.T处java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588)处的Java hread.run(Thread.java:818) hread.run(Thread.java:818)

Part of the code that charges the assets: 收取资产费用的部分代码:

  public class MainGame extends Game {
private AssetManager manager;
private BaseScreen menu, levels, game;
protected int Height, Width;
private boolean isLoaded = false;
    private Texture pez;
    @Override
    public void create () {

manager = new AssetManager();
manager.load("cubopez.png", Texture.class);
manager.load("menu.png", Texture.class);
manager.load("levels.png", Texture.class);
manager.load("playButton.png", Texture.class);
manager.load("background1.png", Texture.class);
manager.load("background2.png", Texture.class);
manager.load("background3.png", Texture.class);
manager.load("winscreen.png", Texture.class);
manager.load("cubopezgrade1.png", Texture.class);
manager.load("cubopezgrade2.png", Texture.class);
manager.load("cubopezgrade3.png", Texture.class);
manager.load("cubopezgrade4.png", Texture.class);
manager.load("cubopezgrade5.png", Texture.class);
manager.load("cubopezgrade6.png", Texture.class);
manager.load("cubopezgrade7.png", Texture.class);
manager.load("supercubopez.png", Texture.class);
manager.load("supercubopez1.png", Texture.class);
manager.load("supercubopez2.png", Texture.class);
manager.load("supercubopez3.png", Texture.class);
manager.load("supercubopez4.png", Texture.class);
manager.load("supercubopez5.png", Texture.class);
manager.load("supercubopez6.png", Texture.class);
manager.load("supercubopez7.png", Texture.class);
manager.load("supercubopez8.png", Texture.class);
manager.load("rubik8bits.png", Texture.class);
manager.load("alga1.png", Texture.class);
manager.load("alga2.png", Texture.class);
manager.load("alga3.png", Texture.class);
manager.load("alga4.png", Texture.class);
manager.load("mar.png", Texture.class);
manager.load("cementerio.png", Texture.class);
manager.load("nieve.png", Texture.class);
manager.load("martick.png", Texture.class);
manager.load("cementeriotick.png", Texture.class);
manager.load("nievetick.png", Texture.class);
manager.load("mistery.png", Texture.class);
manager.load("barradavidavacia.png", Texture.class);
manager.load("barradavida1.png", Texture.class);
manager.load("barradavida2.png", Texture.class);
manager.load("barradavida3.png", Texture.class);
manager.load("barradavida4.png", Texture.class);
manager.load("barradavida5.png", Texture.class);
manager.load("barradavida6.png", Texture.class);
manager.load("barradavida7.png", Texture.class);
manager.load("barradavida8.png", Texture.class);
manager.load("barradavida9.png", Texture.class);
manager.load("barradavida10.png", Texture.class);
manager.load("barradavidavaciaboss.png", Texture.class);
manager.load("barradavida1boss.png", Texture.class);
manager.load("barradavida2boss.png", Texture.class);
manager.load("barradavida3boss.png", Texture.class);
manager.load("barradavida4boss.png", Texture.class);
manager.load("barradavida5boss.png", Texture.class);
manager.load("barradavida6boss.png", Texture.class);
manager.load("barradavida7boss.png", Texture.class);
manager.load("barradavida8boss.png", Texture.class);
manager.load("barradavida9boss.png", Texture.class);
manager.load("barradavida10boss.png", Texture.class);
manager.load("rubik8bitsscrambled.png", Texture.class);
manager.load("cubopezmuerto.png", Texture.class);
manager.load("neodimio.png", Texture.class);
manager.load("skeltoncubopez.png", Texture.class);
manager.load("gameover.png", Texture.class);
manager.load("ghostfish.png", Texture.class);
manager.load("titulo.png", Texture.class);
manager.load("tiburon.png", Texture.class);
manager.load("tiburon2.png", Texture.class);
manager.load("nado.ogg", Sound.class);
manager.load("punch.ogg", Sound.class);
manager.load("boss.png", Texture.class);
manager.load("copo.png", Texture.class);
manager.load("copo2.png", Texture.class);
manager.load("copo3.png", Texture.class);
manager.load("estalactita.png", Texture.class);
manager.load("bubble.png", Texture.class);
manager.load("bubble2.png", Texture.class);
manager.load("bubble3.png", Texture.class);
manager.load("bossbackground.png", Texture.class);
manager.load("darkcubopez.png", Texture.class);
manager.load("mirror.png", Texture.class);
manager.load("powerup.ogg", Sound.class);
manager.load("music1.ogg", Music.class);
manager.load("fight.ogg", Music.class);
manager.load("winter.ogg", Music.class);
manager.load("music2.ogg", Music.class);
manager.load("winsound.ogg", Music.class);
manager.load("gameoversound.ogg", Sound.class);
manager.load("pyraminx.png", Texture.class);
manager.load("info.png", Texture.class);
manager.load("pyraminxscrambled.png", Texture.class);
manager.load("mirrorcube.png", Texture.class);
manager.load("mirrorscrambled.png", Texture.class);
manager.load("megaminx.png", Texture.class);
manager.load("megaminxscrambled.png", Texture.class);
manager.load("menusound.ogg", Music.class);








     manager.finishLoading();

It may be about your texture atlas resolution... If the resolution is big and the phone you test on is an outdated one. 这可能与您的纹理图集分辨率有关...如果分辨率较大,并且您要测试的电话已经过时。 Some devices can't handle more than 1024x1024 某些设备不能处理的分辨率超过1024x1024

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM