17

是否有任何应用程序可以为 shell 脚本创建主屏幕快捷方式(所以我只需单击它即可运行脚本)?

如果该应用程序是开源的,那就太好了,并且允许我将脚本保存到有根设备的内部存储中。

4

5 回答 5

17

回答:您的问题的答案应该是 GScript(开源并在有根设备上“保存在任何地方”),但是当脚本完成时,谁想盯着那个模态终端输出屏幕?详情如下。

  • SManager(免费版)可让您将自定义脚本存储在设备上的任何位置,如果您使用的是有根设备,甚至是您的内部存储。它可以让您设置不同的自动启动触发器:启动(当然)、网络启动/关闭等。可以触发通知以让您了解脚本的运行和/或退出状态等。但是,它不会让您创建一个将直接执行您的脚本的主屏幕快捷方式。它首先启动到自己的 UI,然后您可以从那里执行您的脚本。SManager(无广告版本)确实可以让您从主屏幕快捷方式干净地在后台执行您的脚本,尽管对于某些脚本我构建了 GUI 弹出视图。我使用这个应用程序编写shell 和 python(参见SL4A/android-scripting )。

  • GScript Lite(也是Gscript(捐赠版))是一个开源解决方案。您可能希望与源代码库同步并重新编码/改进它以更好地满足您的需求。就像现在(v1.1.2)一样,它需要对 ICS+ 进行一些改进,因为它的 UI 退出时会出现一个无害的错误(一个限制其有用性的弹出窗口)。此解决方案将允许您通过主屏幕快捷方式(两个版本)直接启动脚本,但您必须盯着一个免费的终端输出屏幕 20 整秒,或者直到您手动关闭/关闭它。

  • 另一个答案中提到了SL4A/android-scripting 。为您的脚本创建主屏幕快捷方式很容易。这是一个开源解决方案,但它不允许您将脚本保存到设备的内部存储中。该解决方案使用模块化 apk 插件支持 Lua、BeanShell(Java)、Bash shell、Python、Perl、JRuby、Tcl 和 JavaScript。

  • SL4A 脚本启动器是 TaskBomb 自动化/调度实用程序的附加组件。TaskBomb 提供的脚本执行触发器基本上涵盖了 Android API 公开的每个 Content Provider,而且数量很多。完整的 SL4A 语言支持适用于此应用程序。如果您只需要简单的 shell 脚本,您可能会发现它有点臃肿。您的脚本可以通过主屏幕快捷方式启动,但这不是开源解决方案。

于 2013-02-28T22:25:58.717 回答
5

所以我发现最好的选择是 GScript。

G.Play 上的 GScript 版本已损坏,我已向 bugtracker 发送了一个补丁,但我没有看到任何活动。该项目似乎被遗弃了,所以我在这里做了一个分叉:https ://bitbucket.org/Equidamoid/gscript 。该 apk 位于下载部分。

于 2013-12-02T12:57:10.523 回答
5

也许有人会发现我这样做的方式很有用:我使用 ConnectBot(可在 Play 商店中获得,并且开源https://code.google.com/p/connectbot/)。它是一个允许连接到手机本身的 SSH 客户端。您可以为此创建本地脚本的快捷方式:

  • 创建一个新的连接“本地”。您只需要引入一个别名(例如您的脚本名称)
  • 然后,编辑连接,有一个选项,如“自动化后开始会话”(我不知道确切的英文单词,因为我看到的是西班牙语语言环境)
  • 如果您的脚本足够简单,您只需在输入框中发出命令(多行):如果没有,请将实际文件脚本的路径/名称放在手机上(不要忘记“换行符”!)
  • 现在,您可以在主屏幕上添加该连接的快捷方式(我在 Nova Launcher 上有一个选项:长按主屏幕,“添加快捷方式”,选择 Connect Bot,您将在应用程序中看到所有连接。不同发射器可能不同。
于 2014-02-23T15:49:57.143 回答
2

我发现了允许创建快捷方式的 SL4A 项目。不幸的是,所有脚本都必须放在 sdcard 上。

于 2013-02-09T07:10:12.637 回答
2

终端模拟器应用程序本身(与 cyanogenmod 等捆绑在一起)允许您创建一个快捷方式(通过小部件窗口),它打开终端窗口运行给定的命令(在创建快捷方式时输入)。

使用此工具执行脚本非常容易(使用别名;使用 && 链接命令;实际创建和执行脚本)。

这可以被认为是内置选项。

于 2015-01-20T04:28:13.880 回答