【发布时间】:2013-04-26 15:57:10
【问题描述】:
我尝试制作自己的小型计算器,但我不想自己制作所有的业务逻辑。所以我尝试使用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 中不存在的类或方法。
谢谢。
【问题讨论】:
-
你可能已经包含了两次 jars,在 libs 文件夹和属性库中检查一次,我过去也遇到过同样的情况
-
这里是截图。我想我没有两次?! s1.directupload.net/images/130426/k7yytynt.jpg
-
在库中删除它并重新粘贴到您的 android 应用程序项目的 res/lib 文件夹中,然后清除您的项目
-
谢谢 ;) 成功了。抱歉这个问题,从今天开始我没有使用其他库。
-
我将发布答案,通过单击该答案旁边的右侧复选框将其标记为答案。帮助他人。
标签: android libraries verifyerror mathematical-expressions