非常奇怪的错误。我正在尝试在我的Android应用程序中的非活动类中实现一个简单的接口。但是,我遇到了运行时错误。如果我删除实现,代码工作正常。我会让代码说明一切,随意加入。谢谢!
在实例化Globals
的实例时抛出ClassNotFoundExceptionpublic class Globals implements IReceivable {
private volatile static Globals uniqueGlobal;
private static ClientSocket clientSocket;
private Globals()
{
}
public static Globals getInstance() {
synchronized (Globals.class) {
if (uniqueGlobal == null) {
uniqueGlobal = new Globals();
uniqueGlobal.InitializeClient();
}
}
return uniqueGlobal;
}
@Override
public void MessageReceived(UUID clientId, String message) {
// TODO Auto-generated method stub
}
}
当我删除它时,一切正常
public class Globals {
private volatile static Globals uniqueGlobal;
private static ClientSocket clientSocket;
private Globals()
{
}
public static Globals getInstance() {
synchronized (Globals.class) {
if (uniqueGlobal == null) {
uniqueGlobal = new Globals();
uniqueGlobal.InitializeClient();
}
}
return uniqueGlobal;
}
}
修改
这是IReceivable接口
public interface IReceivable {
public void MessageReceived(UUID clientId, String message);
}
确切的错误:
12-02 10:14:15.859:E / AndroidRuntime(546): java.lang.NoClassDefFoundError:com.example.utilities.Globals
抛出错误的行如下所示:
Globals global = Globals.getInstance();
答案 0 :(得分:0)
好的,解决了这个问题。我没有告诉你的是界面是我添加到项目中的jar文件。
我将jar文件添加到我的项目中并将其正确地包含在构建路径中,但是,我没有将jar文件添加到'libs'文件夹中。显然,运行时的android只包含该文件夹中的jar文件。
良好的学习经历对我而言。谢谢!