可嵌入的简单轻量级脚本语言,直接绑定到 Android 的 java

Posted

技术标签:

【中文标题】可嵌入的简单轻量级脚本语言,直接绑定到 Android 的 java【英文标题】:Embeddable Easy Lightweight Scripting Language with direct bindings to java for Android 【发布时间】:2017-10-29 01:25:00 【问题描述】:

我知道,这是一个很长的标题。但是,任何较短的标题都将与 *** 上的大量其他此类问题重复。

我正在寻找一种可以嵌入到我的 android 应用程序中的脚本语言。用户将编写一个脚本。稍后我触发该脚本的特定功能并处理其返回的结果。当用户正在查看漂亮的 android 活动时,触发和处理应该在没有任何控制台(如 gui)的情况下在后台运行。这就是我想要实现的。但是我没有找到适合我需要的 Android 语言。应该是:

简单(如 Python 等) 提供对流行的 android/java 方法的直接访问(就像 sl4a 对 Android() 模块所做的那样) 轻量级(尽可能) 必须有一种方法可以调用脚本(或者如果不可能,可以调用脚本中定义的函数)并从 Java 中获取返回值 会很好,如果该语言有一个好的文档

我发现没有语言适合我的所有需求。

我找到了:

deelang - 没有内置访问流行的 Android SDK 方法和不良文档 sl4a - 我发现无法将其直接嵌入到我的应用程序中。我不能让用户下载 sl4a 应用程序。我不知道我是否可以得到脚本的结果并将参数传递给它。 android-python27 - 错误的文档,与 sl4a 相同 rhino - 不提供内置插件来访问流行的 Android SDK 方法 androlua - 糟糕的文档,我不知道它是否提供了对 Android SDK 的内置访问权限

真的没有适合我需要的语言吗?难道我们不需要一种易于嵌入的语言吗?

【问题讨论】:

寻求场外资源的推荐,如语言库,被认为是 Stack Overflow 的题外话。一般来说,大约有零种语言将提供“对流行的 android/java 方法的直接访问”。甚至 Java 也不提供“直接访问流行的 android... 方法”。这不是语言的工作。您与 SL4A 进行比较,但 SL4A 不是一种语言。 您好,感谢您的评论。我很伤心,我问了一个错误的图书馆网站。我想我可以在这里问,因为这里有很多关于脚本库的其他问题。是的,我知道 SL4A 不是脚本语言。也许我解释得不够充分。 SL4A 将流行的 Android SDK 方法绑定到其他语言,如 python。 当然欢迎您在此处就特定库提出特定问题。但是你不能要求图书馆的推荐。 好的。谢谢你。我会记住的。 【参考方案1】:

我终于找到了一个适合我需要的项目:BeanShell (beanshell.org)。

它类似于 Java,但更简单。它可以直接访问 Java 库,并且在主机应用程序和脚本之间共享变量非常容易。它很轻。它很受欢迎,并且有很好的文档(即使是 android 用途)

【讨论】:

以上是关于可嵌入的简单轻量级脚本语言,直接绑定到 Android 的 java的主要内容,如果未能解决你的问题,请参考以下文章

Lua脚本语言简单学习

Lua语言新手简单入门教程

初学JavaScript

javaScript基本了解

JavaScript

JavaScript