android Rhino错误无法加载此类类文件

jam*_*l82 7 android rhino android-webview

我在android中使用Rhino在Android(java)中执行JavaScript函数代码并从此代码中获取结果,但是我得到了这个异常

01-22 11:33:57.063:E/AndroidRuntime(29175):引起:java.lang.UnsupportedOperationException:无法加载此类类文件

这是我的代码

String test = "function abc(x,y) {return x+y;}";
    org.mozilla.javascript.Context context = org.mozilla.javascript.Context.enter();
    try {
        ScriptableObject scope = context.initStandardObjects();
        Scriptable that = context.newObject(scope);
        Function fct = context.compileFunction(scope, test, "script", 1, null);
        Object result = fct.call(context, scope, that, new Object[] { 2, 3 });
        Log.i("JML...Info", "jajajajaj = " + org.mozilla.javascript.Context.jsToJava(result, int.class));
    } finally {
        org.mozilla.javascript.Context.exit();
    }
Run Code Online (Sandbox Code Playgroud)

我得到了方法的例外

函数fct = context.compileFunction(scope,test,"script",1,null);

我在加载webview后在方法onCreate()中编写了这段代码,并使用rhino1_7R2.jar作为Rhino的jar.

请帮助我,如果你知道任何其他方式从Android获取一个值(函数的返回值)请建议.

谢谢

mil*_*kic 5

我遇到了同样的问题,并且在这里找到了解决方案:在Android上使用Rhino出现问题

默认情况下,rhino将尝试通过动态生成JVM字节码来进行优化。Android不会通过Dalvik字节码运行JVM字节码。这就是为什么您必须禁用优化的原因:

context.setOptimizationLevel(-1);
Run Code Online (Sandbox Code Playgroud)

最好的祝福