在android中引用javax.script.ScriptEngine或者评估一个javascript表达式

Taw*_*ani 8 javascript android scriptengine

在开发Android应用程序时是否可以引用javax.script.ScriptEngine库?如果没有,那么有可能在android中评估一个javascript表达式?

Dan*_*Xie 7

对于类javax.script.ScriptEngine,javax.script.ScriptEngineFactory等,您可以将jsr223.jar添加到Android项目中:只需将.jar文件复制到libs目录,然后从Properties-> Java Build中添加它路径.

这些类将允许您的JSR 223兼容引擎进行编译.然后你可以做new SomeScriptEngienFactory().getScriptEngine()一个引擎.我已经设法用JNLua 1.0.4和Rhino 1.7R2做到了这一点.

文件jsr223.jar可以从http://www.java2s.com/Code/Jar/j/Downloadjsr223jar.htm下载,直接链接是http://www.java2s.com/Code/JarDownload/jsr223/jsr223 .jar.zip.


Wha*_*awg 6

javax.script.ScriptEngine 不是 android 的默认部分,但您可以轻松地组合您需要的任何库(假设大小合理,我不确定)并将它们包含在您的项目中。


Joh*_*ohn 5

根据这篇文章,javax.script.ScriptEngine 在 Android SDK 中不可用。您可以尝试以下步骤来包含库,但代码可能无法运行,即使它会编译。

在 Windows 中使用 Android Development Toolkit,我执行了以下步骤来获取 javax.script 库。

  1. 右键单击项目,转到属性(Project)。
  2. 在 Java Build Path 下,我选择了 Libraries 选项卡。
  3. 选择位于选项卡右侧中间的添加库
  4. 在添加库下选择 JRE 系统库,然后单击下一步...
  5. 选择工作区默认 JRE (jre 7)
  6. 单击完成。
  7. 在 Java Build Path 上单击 Ok 以存在项目属性。

然后加载 Javax.script。