2013-04-26 67 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應用程序項目,然後清除您的項目