我正在尝试创建一个简单的测试应用程序,它基本上通过从外部JAR调用一些简单的功能来扩展Android Hello World教程应用程序。但是,当我运行应用程序时,它无法从JAR中找到该类。我做错了什么?
以下是JAR的全部来源:
package com.mytests.pow;
public class power2 {
private double d;
public power2()
{
d = 0.0;
}
public String stp2(double dd)
{
d = dd*dd;
return String.format("%e", d);
}
}
这是“Hello World ++”来源:
package com.myLuceneTests.namespace;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import com.mytests.pow.*;
public class AndroidSimpleSIH_EclipseActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
power2 pp = new power2();
String iout = pp.stp2(12.0);
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText(iout);
setContentView(tv);
}
}
当我运行应用程序时,我在logcat中得到了这个:
11-22 12:24:52.697 2963 2963 E dalvikvm: Could not find class 'com.mytests.pow.power2', referenced from method com.myLuceneTests.namespace
.AndroidSimpleSIH_EclipseActivity.onCreate
然后
11-22 12:24:52.713 2963 2963 E AndroidRuntime: java.lang.NoClassDefFoundError: com.mytests.pow.power2
我做错了什么?谢谢!
顺便说一句,我的实际目标是在Android应用中使用真正的JAR(而不是这个玩具)。我可能可以访问该JAR的代码并且可能能够重建它,但它是一个很大的Java代码,我很可能在重建它时遇到问题所以我试图使用预先构建的JAR。
答案 0 :(得分:21)
没有必要构建外部jar。尝试从构建路径中删除它并按照以下步骤操作:
libs
的文件夹。 答案 1 :(得分:1)
我。为您的外部类生成Jar
II。复制到Android项目的Libs文件夹
III。打开Eclipse->右键单击Jar-> Add To Build Path。
IV。清理项目并运行应用程序。