首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tween.registerAccessor NoClassDefFoundError

Tween.registerAccessor NoClassDefFoundError
EN

Stack Overflow用户
提问于 2013-05-07 19:02:48
回答 2查看 3.8K关注 0票数 3

我是一个LibGDX和Android的新手。顺便说一句,很抱歉我的英语不好。

这就是我的问题。我只是想用libgdx制作一个闪屏,我在youtube上看了达斯汀·莱利的libGDX教程,但是我的代码不能工作,下面是关于错误的LogCat。

代码语言:javascript
复制
05-07 11:05:19.004: E/AndroidRuntime(838): FATAL EXCEPTION: GLThread
05-07 11:05:19.004: E/AndroidRuntime(838): java.lang.NoClassDefFoundError: com.me.secondGame.tween.SpriteTween
05-07 11:05:19.004: E/AndroidRuntime(838):  at com.me.secondGame.screens.SplashScreen.show(SplashScreen.java:57)
05-07 11:05:19.004: E/AndroidRuntime(838):  at com.badlogic.gdx.Game.setScreen(Game.java:62)
05-07 11:05:19.004: E/AndroidRuntime(838):  at com.me.secondGame.secondGame.create(secondGame.java:10)
05-07 11:05:19.004: E/AndroidRuntime(838):  at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
05-07 11:05:19.004: E/AndroidRuntime(838):  at com.badlogic.gdx.backends.android.surfaceview.GLSurfaceViewCupcake$GLThread.guardedRun(GLSurfaceViewCupcake.java:708)
05-07 11:05:19.004: E/AndroidRuntime(838):  at com.badlogic.gdx.backends.android.surfaceview.GLSurfaceViewCupcake$GLThread.run(GLSurfaceViewCupcake.java:646)

首先,我写了代码,没有任何问题,但是我添加了一些补丁代码,现在它不能工作了。

下面是添加的代码

代码语言:javascript
复制
Tween.registerAccessor(Sprite.class, new SpriteTween()); //MY ERROR ON HERE

manager = new TweenManager();

Tween.to(splashSprite, SpriteTween.ALPHA, 2f).target(1).ease(TweenEquations.easeInQuad).start(manager);

我想这是一个逻辑上的错误。因为没有错误输出。

还有我的SpriteTween代码。

代码语言:javascript
复制
package com.me.secondGame.tween;

import com.badlogic.gdx.graphics.g2d.Sprite;
import aurelienribon.tweenengine.TweenAccessor;

public class SpriteTween implements TweenAccessor<Sprite> {
    public static final int ALPHA = 1;

    @Override
    public int getValues(Sprite target, int tweenType, float[] returnValues) {
        switch (tweenType) {
        case ALPHA:
            returnValues[0] = target.getColor().a;
            return 1;
        default:
            return 0;
        }
    }

    @Override
    public void setValues(Sprite target, int tweenType, float[] newValues) {
        switch (tweenType) {
        case ALPHA:
            target.setColor(1, 1, 1, newValues[0]);
            break;
        }
    }
}

我搞不懂是什么问题,现在我的头都要炸开了.

编辑:

在Guian的帖子之后,我创建了一个新的项目,向导说。顺便说一句,我又看了一遍教程。

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-07 19:28:40

如果在编译时找到一个类,但在运行时找不到,就会发生这种错误。

您需要检查补间.jar文件是否正确地包含在您的类路径中并打包到您的APK中。

在libGDX的谷歌代码页中仔细检查在Android Project Setup看到的包含过程。

例如,必须将“APK ”文件夹命名为“libs”,而不是“lib”或任何其他名称才能正确地将其包含在中。补间引擎.jar文件必须在此目录中。仅将.jar文件放在Eclipse "Java Build Path“中是不够的。

有关此主题的更多信息,请访问:NoClassDefFoundError in Java

票数 8
EN

Stack Overflow用户

发布于 2015-03-01 02:33:42

我这样做了,一切都很顺利:

将tween jar从文件夹拖到项目中,在其中右击"add library",选择android

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16417401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档