【问题标题】:Android java.lang.VerifyError with exp4j Libraries带有 exp4j 库的 Android java.lang.VerifyError
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-28
    • 2010-10-14
    • 2016-03-12
    • 2017-06-26
    • 2019-12-16
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多