我正在开发一个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上有任何想法,在运行时它无法找到内联类?
答案 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;清理你的项目。
希望这可以解决这个问题