android Rhino error can't load this type of cl

2019-08-07 17:57发布

我在使用Android的犀牛以执行的Android(Java)的JavaScript函数的代码,并从该代码得到的结果,但我得到这个例外

11月1日至二十二日: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();
    }

我上了车方法例外

功能FCT = context.compileFunction(范围,测试, “脚本”,1,NULL);

我负荷后写在方法的onCreate()该代码的网页视图和我使用rhino1_7R2.jar作为犀牛一个罐子。

请帮我,如果你知道任何其他方式来获得从JavaScript在Android的请指点一个值(函数返回值)。

谢谢

Answer 1:

我有同样的问题,我已经找到了解决办法在这里: 在Android上使用犀牛问题

默认情况下,犀牛将尝试在飞行中产生JVM字节码做优化。 Android不运行JVM字节码BYT的Dalvik字节码。 这就是为什么你需要禁用优化:

context.setOptimizationLevel(-1);

最好的祝福



文章来源: android Rhino error can't load this type of class file