Android: How to create a homescreen shortcut to launch a shell script? [closed] Android: How to create a homescreen shortcut to launch a shell script? [closed] android android

Android: How to create a homescreen shortcut to launch a shell script? [closed]


Answer: The answer to your question should be GScript (open source and "save anywhere" on rooted devices), but who wants to stare at that modal terminal output screen when the script completes? Details follow below.

  • SManager (free version) will let you store your custom script anywhere on the device, even your internal storage if you're using a rooted device. It will let you set different auto-launch triggers: Boot (of course), Network up/down, etc. Notifications can be triggered to keep you informed of your script's running and/or exit status, etc. But, it won't let you create a homescreen shortcut that will directly execute your script. It first launches to its own UI, and from there you may execute your script. SManager (no ads version) does let you execute your script from a homescreen shortcut cleanly and in the background, though for some scripts I construct GUI pop-up Views. I script shell and python (see SL4A/android-scripting) using this app.

  • GScript Lite (also Gscript (donate version)) is an open-source solution. You may wish to sync with the source repo and re-code/improve it to better fit your need. As it is now (v1.1.2), it needs a little improvement for ICS+, as its UI exits with a harmless error (a popup that limits its usefulness). This solution will let you directly launch scripts via homescreen shortcut (both versions), but you'll have to stare at a gratuitous terminal output screen for 20 full seconds afterword or until you manually close/dismiss it.

  • SL4A/android-scripting is mentioned in another answer. Creating homescreen shortcuts for your scripts is easily done. This is an open source solution, but it will not let you save scripts to the internal storage of your device. This solution has language support for Lua, BeanShell(Java), Bash shell, Python, Perl, JRuby, Tcl, and JavaScript using modular apk add-ons.

  • SL4A Script Launcher is an add-on to the TaskBomb automation/scheduling utility. The script execution triggers that TaskBomb provides encompasses basically every Content Provider the Android API exposes, and that is a lot. Full SL4A language support applies to this app. If all you need is simple shell scripting, you may find that it has a measure of bloat. Your script can be launched via homescreen shortcut, but this is not an open source solution.


So the best option I've found is a GScript.

The GScript version on G.Play was broken, I've sent a patch to the bugtracker but I dont' see any actiivity.The project seems abandoned so I've made a fork here: https://bitbucket.org/Equidamoid/gscript . The apk is available under Downloads section.


Maybe somebody find useful the way I do: I use ConnectBot (available on Play Store, and open source https://code.google.com/p/connectbot/). It is an SSH client that allows to connect to phone itself. You can make a shortcut to a local script doing this:

  • Create a new connection "local". You just need to introduce an alias (your script name, for example)
  • Then, edit the connection, and there is an option like "Sesion start after automatization" (I don't know the exact English words because I see Spanish locales)
  • If your script is simple enough, you just issue your commands in the input box (is multiline): if not, put the path/name of your actual file script on your phone (don't forget the 'newline'!)
  • Now, you can add a shorcut on your home screen of that connection (I have an option on Nova Launcher: long press on home screen, "add shortcut", select Connect Bot, and you will see all the connections in the app. Different launchers may differ.