java - Android Studio / LibGdx/ Fatal error -
i trying develop first android game using libgdx , tween engine animations. however, if try run on phone following error:
06-14 17:00:43.894 31239-31270/com.joelbrun.jetskirider.android e/androidruntime﹕ fatal exception: glthread 4726 process: com.joelbrun.jetskirider.android, pid: 31239 java.lang.noclassdeffounderror: failed resolution of: laurelienribon/tweenengine/tweenmanager; @ com.joelbrun.jetskirider.screens.splash.show(splash.java:26) @ com.badlogic.gdx.game.setscreen(game.java:61) @ com.joelbrun.jetskirider.jetskirider.create(jetskirider.java:10) @ com.badlogic.gdx.backends.android.androidgraphics.onsurfacechanged(androidgraphics.java:241) @ android.opengl.glsurfaceview$glthread.guardedrun(glsurfaceview.java:1511) @ android.opengl.glsurfaceview$glthread.run(glsurfaceview.java:1239) caused by: java.lang.classnotfoundexception: didn't find class "aurelienribon.tweenengine.tweenmanager" on path: dexpathlist[[zip file "/data/app/com.joelbrun.jetskirider.android-2/base.apk"],nativelibrarydirectories=[/data/app/com.joelbrun.jetskirider.android-2/lib/arm, /vendor/lib, /system/lib]] @ dalvik.system.basedexclassloader.findclass(basedexclassloader.java:56) @ java.lang.classloader.loadclass(classloader.java:511) @ java.lang.classloader.loadclass(classloader.java:469) at com.joelbrun.jetskirider.screens.splash.show(splash.java:26) at com.badlogic.gdx.game.setscreen(game.java:61) at com.joelbrun.jetskirider.jetskirider.create(jetskirider.java:10) at com.badlogic.gdx.backends.android.androidgraphics.onsurfacechanged(androidgraphics.java:241) at android.opengl.glsurfaceview$glthread.guardedrun(glsurfaceview.java:1511) at android.opengl.glsurfaceview$glthread.run(glsurfaceview.java:1239) suppressed: java.lang.classnotfoundexception: aurelienribon.tweenengine.tweenmanager @ java.lang.class.classforname(native method) @ java.lang.bootclassloader.findclass(classloader.java:781) @ java.lang.bootclassloader.loadclass(classloader.java:841) @ java.lang.classloader.loadclass(classloader.java:504) ... 7 more caused by: java.lang.noclassdeffounderror: class not found using boot class loader; no stack available
classes: main class (jetskirider)
package com.joelbrun.jetskirider; import com.badlogic.gdx.game; import com.joelbrun.jetskirider.screens.splash; public class jetskirider extends game { @override public void create () { setscreen(new splash()); } @override public void dispose() { super.dispose(); } @override public void resume() { super.resume(); } @override public void resize(int width, int height) { super.resize(width, height); } @override public void pause() { super.pause(); } @override public void render () { super.render(); } }
splash (splashscreen)
package com.joelbrun.jetskirider.screens; import com.badlogic.gdx.game; import com.badlogic.gdx.gdx; import com.badlogic.gdx.screen; import com.badlogic.gdx.graphics.gl20; import com.badlogic.gdx.graphics.texture; import com.badlogic.gdx.graphics.g2d.sprite; import com.badlogic.gdx.graphics.g2d.spritebatch; import com.joelbrun.jetskirider.tween.spriteaccessor; import aurelienribon.tweenengine.basetween; import aurelienribon.tweenengine.tween; import aurelienribon.tweenengine.tweencallback; import aurelienribon.tweenengine.tweenmanager; public class splash implements screen { private spritebatch batch; private sprite splash; private tweenmanager tweenmanager; @override public void show() { batch = new spritebatch(); tweenmanager = new tweenmanager(); tween.registeraccessor(sprite.class, new spriteaccessor()); texture splashtexture = new texture("splash.png"); splash = new sprite(splashtexture); splash.setsize(gdx.graphics.getwidth(), gdx.graphics.getheight()); tween.set(splash, spriteaccessor.alpha).target(0).start(tweenmanager); tween.to(splash, spriteaccessor.alpha, 2).target(1).repeatyoyo(1, 2).setcallback(new tweencallback() { @override public void onevent(int type, basetween<?> source) { ((game)gdx.app.getapplicationlistener()).setscreen(new mainmenu()); } }).start(tweenmanager); } @override public void render(float delta) { gdx.gl.glclearcolor(0,0,0,1); gdx.gl.glclear(gl20.gl_color_buffer_bit); tweenmanager.update(delta); batch.begin(); splash.draw(batch); batch.end(); } @override public void resize(int width, int height) { resize(gdx.graphics.getwidth(), gdx.graphics.getheight()); } @override public void pause() { } @override public void resume() { } @override public void hide() { } @override public void dispose() { batch.dispose(); splash.gettexture().dispose(); } }
mainmenu (main menu after splash screen; not finished yet)
package com.joelbrun.jetskirider.screens; import com.badlogic.gdx.screen; import com.badlogic.gdx.scenes.scene2d.ui.label; import com.badlogic.gdx.scenes.scene2d.ui.table; import javafx.stage.stage; public class mainmenu implements screen { private stage stage; private table table; private label highscore; @override public void show() { } @override public void render(float delta) { } @override public void resize(int width, int height) { } @override public void pause() { } @override public void resume() { } @override public void hide() { } @override public void dispose() { } }
sprite accessor (for accessor tween engine)
package com.joelbrun.jetskirider.tween; import com.badlogic.gdx.graphics.g2d.sprite; import aurelienribon.tweenengine.tweenaccessor; public class spriteaccessor implements tweenaccessor<sprite> { public static final int alpha = 0; @override public int getvalues(sprite target, int tweentype, float[] returnvalues) { switch (tweentype) { case alpha: returnvalues[0] = target.getcolor().a; return 1; default: assert false; return -1; } } @override public void setvalues(sprite target, int tweentype, float[] newvalues) { switch (tweentype){ case alpha: target.setcolor(target.getcolor().r, target.getcolor().g, target.getcolor().b, newvalues[0]); default: assert false; } } }
edit build.gradle load tween lib repository (it there newer version, own project works this):
project(":core") { apply plugin: "java" dependencies { compile "com.badlogicgames.gdx:gdx:$gdxversion" compile "com.badlogicgames.gdx:gdx-freetype:$gdxversion" compile "aurelienribon:tweenengine:6.3.3" compile "aurelienribon:tweenengine:6.3.3:sources" } }
and might need remove tween jar libs folder
Comments
Post a Comment