1、第三方包 下载地址: https://github.com/mozilla/rhino
得到 rhino-1.7.12
2、引入到项目中
3、工具类
/** * * @param js js源码 "function test(a,b){return a+b;}" * @param functionName 方法名 * @param functionParams 参数 * @return */ public static String callFunction(String js,String functionName,Object[] functionParams){ if(TextUtils.isEmpty(js)) return ""; js = js.replace("\\r\\n",""); //去掉转义符 Context rhino= Context.enter(); rhino.setOptimizationLevel(-1); try { Scriptable scope=rhino.initStandardObjects(); rhino.evaluateString(scope,js, null, 0,null); Function function = (Function) scope.get(functionName,scope); Object result = function.call(rhino,scope,scope,functionParams); if(result instanceof String){ return (String) result; }else if(result instanceof NativeJavaObject){ return (String) ((NativeJavaObject) result).getDefaultValue(String.class); }else if(result instanceof NativeObject){ return (String) ((NativeObject)result).getDefaultValue(String.class); } return result.toString(); }catch (Exception e){ } Context.exit(); return ""; }