Java 向android应用程序添加脚本

Java 向android应用程序添加脚本,java,android,scripting,Java,Android,Scripting,我有一个android应用程序,用户应该能够使用脚本进行扩展。无论如何,这就是计划。用户可以编写脚本,这些脚本保存在flash上的文件夹中,并通过应用程序中的菜单访问。根据应用程序中的某些事件加载和调用脚本。该应用程序将在脚本的上下文中公开助手方法和对象,以便它能够以可控的方式利用应用程序中的功能 因此,我的要求是: 磁盘/内存占用率低 快速启动 Android兼容 合理的分析/错误报告 简单、合理的语法,最好是流行语言的方言,如Basic、JS、Python等。 语言必须支持数组、关联数组、双

我有一个android应用程序,用户应该能够使用脚本进行扩展。无论如何,这就是计划。用户可以编写脚本,这些脚本保存在flash上的文件夹中,并通过应用程序中的菜单访问。根据应用程序中的某些事件加载和调用脚本。该应用程序将在脚本的上下文中公开助手方法和对象,以便它能够以可控的方式利用应用程序中的功能

因此,我的要求是:

磁盘/内存占用率低 快速启动 Android兼容 合理的分析/错误报告 简单、合理的语法,最好是流行语言的方言,如Basic、JS、Python等。 语言必须支持数组、关联数组、双精度浮点、字符串操作。它不需要网络访问或其他很多功能。 脚本的干净加载和卸载 适应事件驱动模型的东西 安全/沙箱模型,防止脚本执行我向其公开的API之外的操作 超时/错误处理,这样我就可以杀死耗时太长或陷入循环的脚本,这样人们就不会因为脚本错误而贬低我的应用程序。 我看过Rhino和Jython这类人,我觉得他们会给我带来太大的开销。我还怀疑,它们可能很难融入到我心目中有限的安全模型中,例如,Rhino默认公开所有Java类,这必须被黑客攻击


人们会给出什么建议

看一看。我不确定它是否提供了您所需要的,但至少这是一个我可以开始的地方。

谢谢您的链接。SL4A看起来更像是一个绑定层,用于向脚本语言公开Android API。因此,您可以从高级脚本语言编写/原型应用程序。我正在寻找一种可以从我的应用程序运行脚本运行时并限制其执行的东西,这样它只会命中我公开的API。我看过Rhino、Beanshell、Jython和其他一些,它们看起来太大了,对我想要的东西太宽容了。