0

自作の小さな電卓を作ろうとしましたが、すべてのビジネス ロジックを自分で作りたくありません。には実際の JVM が必要で、JavaScriptParser であるjavax.scriptと聞いたので、使用してみました。javax.script次に、必要な機能を備えた他のライブラリを検索したところ、プロジェクト「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 に存在しないクラスまたはメソッドを使用しているということです。

ありがとうございました。

4

1 に答える 1

3

jar を 2 回インクルードしている可能性があります。libs フォルダーとライブラリーをプロパティで 1 回確認してください。過去に同じことがありました。ライブラリーでそれを削除し、res/libAndroid アプリケーション プロジェクトのフォルダーに新たに貼り付けてからクリアします。事業

于 2013-04-26T16:15:21.700 に答える