带有exp4j库的Android java.lang.VerifyError

时间:2013-04-26 15:57:11

标签: android libraries verifyerror mathematical-expressions

我试着制作自己的小型计算器,但我不想自己制作所有的商业逻辑。所以我尝试使用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 libaries正在使用Android中不存在的类或方法。

谢谢。

1 个答案:

答案 0 :(得分:3)

你可能有两次包含jar,在libs文件夹和属性库中检查一次,我在过去遇到过同样你需要做的是 删除库中的内容并将其粘贴到android应用程序项目的res/lib文件夹中,然后清除项目