可嵌入的简单轻量级脚本语言,直接绑定到 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的主要内容,如果未能解决你的问题,请参考以下文章