我想使用我在Android项目中编写的Java库。我做了两件事:
将jar添加到构建路径。
我将jar复制到项目中的libs文件夹
但是程序在运行时崩溃了两种方法。该程序无法识别我正在调用的类。抛出classDefNotFound
。
我已尝试过各种jar文件。我写的那些不起作用。虽然下载的罐子工作。也许我写的课程出了问题?
Android代码:
package com.davidk.androidtest;
import com.davidk.libs.Math; //<--classDefNotFound is thrown
import com.parse.Parse; //<--works
import com.parse.ParseObject; //<--works
public void pressButtonOnClick(View v){
int answer = Math.add(1,1);
answerText.setText(answer);
}
public void pingParseButtonOnClick(View v){
ParseObject p = new ParseObject("Ping");
p.put("String", "ping");
p.saveInBackground();
}
davidk.libs.Math
代码:
package com.davidk.libs;
public class Math {
public static int add(int x, int y){
return x + y;
}
}
答案 0 :(得分:0)
我猜你正在使用Eclipse。不要试图弄乱罐子。最简单的方法是:
Is Library
答案 1 :(得分:0)
导出的每个jar文件都包含一个清单文件,代码尝试引用该文件。在您的情况下,我猜清单文件丢失或损坏。为了生成没有任何问题或复杂的jar,有许多开源工具可用,这将帮助您实现这一目标。
其他可能的方法是@Orabig建议的。
请访问以下链接了解更多信息 http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html