我试着做我自己的小计算器,但我不想自己做所有的业务逻辑。所以我尝试使用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并删除计算源时,我的计算器工作正常。
我唯一的想法是,Android库使用了一个在exp4j中不存在的类或方法。
谢谢。
发布于 2013-04-27 00:15:22
您可能已经包含jars两次,检查一次在libs文件夹和库中的属性,我在过去遇到过同样的问题您需要做的是删除库中的它,并将其粘贴到您的安卓应用程序项目的res/lib
文件夹中,然后清除您的项目
https://stackoverflow.com/questions/16240574
复制相似问题