android java代码执行js脚本

今天遇到一个小小的需求 就是列表有计算公式但是计算公式又有可能改变所以就准备使用java代码来执行 function 函数

效果图就是这样

从后台得到


这样一个字段

准备工作

1:从 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino 下载最新的jar 这是官网 当然了github上面也有 https://github.com/mozilla/rhino

2:拷贝至android studio

3: js里面检查是否有转义字符 假如有 请替换掉

开始 这是java 调用 js 函数


下面是方法

注意 MainActivtiy

2: js调用 java中方法


 /** js调用Java中的方法 */
    private static final String JS_CALL_JAVA_FUNCTION = //
    "var ScriptAPI = java.lang.Class.forName(\"" + MainActivity.class.getName() + "\", true, javaLoader);" + //
        "var methodRead = ScriptAPI.getMethod(\"jsCallJava\", [java.lang.String]);" + //
        "function jsCallJava(url) {return methodRead.invoke(null, url);}" + //
        "function Test(){ return jsCallJava(); }";

 public static String jsCallJava(String url) {
        return "农民伯伯 js call Java Rhino";
    }

完事 成功