2013-04-26 69 views
0

首先,抱歉我的语言不好。Android java.lang.VerifyError with exp4j库

我试图做我自己的小型计算器,但我不想让自己做所有的业务逻辑。所以我尝试使用javax.script,因为我听说javax.script需要一个真正的JVM并且是一个JavaScriptParser。比我搜索其他图书馆与我需要的功能,并找到了项目“exp4j”。是的,一开始我做了一个小的正常的Java项目与JDK 1.7和是it's作品的源代码:我的计算器

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()); 
} 

但我每次都得到相同的Expetion:“AndroidRuntime(630):java.lang.VerifyError”,在我启动App之后。我不能点击运行方法“berechnen()”的按钮,在启动应用程序后,应用程序崩溃。

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

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

谢谢

+0

您可能有两次包括jar,在libs文件夹和属性库中检查一次,我曾经遇到过相同的问题 – Pragnani 2013-04-26 15:58:11

+0

下面是截图。我想我没有两次?! http://s1.directupload.net/images/130426/k7yytynt.jpg – user2324508 2013-04-26 16:05:16

+0

在库中删除并在Android应用程序项目的res/lib文件夹中新鲜粘贴,然后清除您的项目 – Pragnani 2013-04-26 16:08:43

回答

3

你可能已经包括罐两次,检查一次在libs文件夹和性能库,我已经在过去面临同样的,你需要做的是 删除在图书馆和新鲜粘贴什么在您的res/lib文件夹中的Android应用程序项目,然后清除您的项目