Pregunta

¿Es posible hacer referencia a la biblioteca javax.script.ScriptEngine al desarrollar una aplicación Android? Si no está allí de todos modos posible evaluar una expresión JavaScript en Android?

¿Fue útil?

Solución

javax.script.ScriptEngine no es una parte predeterminada del androide, pero aquí se puede sacudir a cualquier biblioteca que necesita (suponiendo que el tamaño es razonable, no estoy seguro) e incluirlos en su proyecto.

Otros consejos

Para las clases javax.script.ScriptEngine, javax.script.ScriptEngineFactory y así sucesivamente, se puede añadir el jsr223.jar a su proyecto Android: sólo tienes que copiar el archivo .jar en el directorio de bibliotecas, y añadirlo a partir Properties- > Java Build Path.

Estos clase permitirá que sus motores 223-compatible con JSR para compilar. A continuación, puede no new SomeScriptEngienFactory().getScriptEngine() para conseguir un motor. Me las he arreglado para hacer esto con JNLua 1.0.4 y Rhino 1.7R2.

El archivo jsr223.jar se puede descargar desde http: //www.java2s .com / Código / Jar / j / Downloadjsr223jar.htm , un enlace directo es http://www.java2s.com/Code/JarDownload/jsr223/jsr223.jar.zip .

De acuerdo con esta posterior , javax.script.ScriptEngine no está disponible en Android SDK. Usted puede intentar los pasos a continuación para incluir la biblioteca, pero el código no puede funcionar, a pesar de que se compilará.

Uso de Herramientas para el Desarrollo Android en Windows, he realizado los siguientes pasos para obtener la biblioteca javax.script.

  1. hace clic derecho en el proyecto, fue a Propiedades (proyecto).
  2. En la ruta de construcción Java, he elegido pestaña Bibliotecas.
  3. Seleccione Agregar biblioteca situada en la parte central derecha de la pestaña
  4. Seleccione el JRE Biblioteca del sistema en Agregar biblioteca y haga clic en Siguiente ...
  5. Seleccione el espacio de trabajo predeterminado JRE (jre 7)
  6. Haga clic en Finalizar.
  7. Haga clic en OK en el Java Build Path que existen las propiedades del proyecto.

javax.script fue entonces cargado.

Si desea evaluar un cierto código de JS en Android

1) a sus dependencias Gradle añaden ( rinoceronte ):

compile 'org.mozilla:rhino:1.7R4'

2) escribir un código como este para obtener el resultado de la evaluación JS

Context rhino = Context.enter()
// turn off optimization to work with android
rhino.optimizationLevel = -1

String evaluation = "2+2"

try {
    ScriptableProject scope = rhino.initStandardObjects()
    String result = rhino.evaluateString(scope, evaluation, "JavaScript", 1, null).toString()
} finally {
    Context.exit()
}

3) Se puede escribir guiones más complejos en JS a ejecutar en la aplicación Android también (funciones, etc.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top