找不到从方法XXX引用的类XXX。<yyy> </yyy>

时间:2013-02-08 04:52:15

标签: android libgdx

我正在开发一个libGDX项目,我有一个名为CheerVArachnids的类,它有另一个内联类,它是一个事件监听器。当我在桌面上运行这个项目时它工作正常。但是当我在我的Android设备上运行时,它找不到内联类,我收到以下错误:

Could not find class 'com.bbj.cva.CheerVArachnids$PlaceUnitListener', referenced from method com.bbj.cva.CheerVArachnids.<init>

以下是我班级的重要部分:

package com.bbj.cva;

public class CheerVArachnids implements ApplicationListener {

    class PlaceUnitListener implements EventSubscriber<PlaceUnitEvent> {

        @Override
        public void onEvent(PlaceUnitEvent event) 
        {   
            //
        }
    }

    public CheerVArachnids() {

        EventBus.subscribe(PlaceUnitEvent.class, new PlaceUnitListener());
        EventBus.subscribe(RemoveScreenObjectEvent.class,
                new RemoveScreenObjectListener());
    }
}

为什么在Android上有任何想法,在运行时它无法找到内联类?

3 个答案:

答案 0 :(得分:46)

由于某些ADT版本,您必须设置应导出哪些库/项目。

Project-Propiertes - &gt; Java构建路径 - &gt;订单和出口 - &gt;检查您正在使用的来源和其他库。

为您的Core和Android项目执行这些导出设置。

然后它应该可以在Android上运行。

答案 1 :(得分:12)

就我而言,在我安装SDK和Eclipse的新更新之前,一切正常。

我收到一个错误:“找不到课程......”

我在另一个stackoverflow站点找到了解决方案。

  

使用外部jar时遇到类似的问题(在我的情况下是openCSV)。我遇到问题的原因是由于ADT 17(或以上)的变化。我需要做的就是解决这个问题   在Eclipse中转到Properties - &gt; Java构建路径 - &gt;订单和出口。   标记我的罐子。   将jar移动到列表顶部。   该解决方案在following page中找到,该文章引用了一篇非常好的文章。

答案 2 :(得分:0)

首先你应该:导入XXX(Class).java, 如果添加了外部库jar文件,则将它们导入LIB文件夹。 之后: 右键单击您的项目 - &gt;属性 - &gt; Java构建路径 - &gt;订单和出口(标签) - &gt;全选 - &gt;按OK - &gt;清理你的项目。

希望这可以解决这个问题