android无法从外部jar中找到类

时间:2011-11-22 17:30:24

标签: android jar external

我正在尝试创建一个简单的测试应用程序,它基本上通过从外部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。

2 个答案:

答案 0 :(得分:21)

没有必要构建外部jar。尝试从构建路径中删除它并按照以下步骤操作:

  1. 在Android项目的根目录中创建一个名为libs的文件夹。
  2. 将jar添加到该文件夹​​。
  3. 右键单击jar并单击以添加到构建路径。
  4. 清理您的项目并再试一次。

答案 1 :(得分:1)

我。为您的外部类生成Jar

II。复制到Android项目的Libs文件夹

III。打开Eclipse->右键单击Jar-> Add To Build Path。

IV。清理项目并运行应用程序。