0

我尝试制作自己的小型计算器,但我不想自己制作所有的业务逻辑。所以我尝试使用,javax.script因为我听说javax.script需要一个真正的 JVM 并且是一个 JavaScriptParser。然后,我搜索了其他具有我需要的功能的库,并找到了项目“exp4j”。首先,我使用 JDK 1.7 制作了一个小型普通 Java 项目,是的,它适用于源代码:

public static void main(String[] args) throws UnknownFunctionException, UnparsableExpressionException {
    ExpressionBuilder builder=new ExpressionBuilder("34*2");
    Calculable calc=builder.build();
    System.out.println(calc.calculate());
}

然后,我在我的计算器模型(MVC 模式)中尝试了相同的代码:

public void berechnen() throws UnknownFunctionException, UnparsableExpressionException {
    ExpressionBuilder builder=new ExpressionBuilder("34*2");
    Calculable calc=builder.build();
    setErgebnis(calc.calculate());
}

但每次我得到同样的例外:

"AndroidRuntime(630): java.lang.VerifyError",

在我启动应用程序之后。我无法单击运行该方法的按钮,berechnen()因为应用程序在我启动后崩溃。

我很困惑为什么我的程序不起作用。当我删除 exp4j 的所有导入并删除计算源时,我的计算器工作正常。

我唯一的想法是 exp4j 库正在使用 Android 中不存在的类或方法。

谢谢你。

4

1 回答 1

3

您可能已经包含了 jar 两次,在 libs 文件夹和属性中的库中检查一次,我过去也遇到过同样的情况您需要做的是在库中删除它并重新粘贴到您res/lib的 android 应用程序项目的文件夹中,然后清除您的项目

于 2013-04-26T16:15:21.700 回答