Skip to content

zhoujie1027/sl4a

Repository files navigation

Scripting Layer for Android (SL4A) brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android applications, but with a greatly simplified interface that makes it easy to get things done. Scripts can be run interactively in a terminal, in the background, or via [http://www.androidlocale.com/ Locale]. Python, Perl, JRuby, Lua, !BeanShell, !JavaScript, Tcl, and shell are currently supported, and we're planning to add more. See the [http://www.youtube.com/playlist?list=PL07A81E6CE96F158B SL4A Video Help] playlist on !YouTube for various demonstrations of SL4A's features. SL4A is designed for developers and is _alpha_ quality software. Please report bugs and feature requests on the [http://code.google.com/p/android-scripting/wiki/Issues?tm=3 issues list]. You can download the current APK by scanning or clicking the following barcode: [http://android-scripting.googlecode.com/files/sl4a\_r6.apk http://chart.apis.google.com/chart?cht=qr&chs=200x200&chl=http://android-scripting.googlecode.com/files/sl4a\_r6.apk&nonsense=something\_that\_ends\_with.png\]

To install SL4A, you will need to enable the "Unknown sources" option in your device's "Application" settings. Still have questions? Check out the [FAQ], [http://groups.google.com/group/android-scripting discussion list], or join #sl4a on freenode.

== Want to learn more? == Start by reading [http://android-scripting.googlecode.com/files/Practical\_Android\_Projects\_Ch05\_Introducing\_SL4A.pdf "Introducing SL4A: The Scripting Layer for Android"] by Pieter Greyling and [http://android-scripting.googlecode.com/files/Pro\_Android\_Python\_with\_SL4A\_Ch10\_Packaging\_and\_Distributing.pdf "Packaging and Distributing"] by Paul Ferrill. These are the intellectual property of Apress and are excerpt from the books "Practical Android Projects" and "Pro Android Python with SL4A." You can buy "Practical Android Projects" on [http://www.amazon.com/exec/obidos/ASIN/1430232439/ref=nosim/apre-20 Amazon] or directly from [http://apress.com/book/view/9781430232438 Apress]. Apress is happy to provide 25% off the price of the "Practical Android Projects" eBook. Simply enter the special code "SL4APROJECTROCKSHLDD" upon checkout when purchasing the eBook [http://www.apress.com/book/view/1430232439 here]. Offer expires 12/30/11. You can buy "Pro Android Python with SL4A" directly from [http://www.apress.com/9781430235699 Apress]. Apress is also happy to provide 25% off the price of the "Pro Android Python with SL4A" eBook. Simply enter the special code "THESL4APROJECTROCKS" upon checkout when purchasing the eBook [http://www.apress.com/9781430235699 here]. Offer expires 12/30/11.

== What's Powered by SL4A? == Want to see SL4A in action? Check out some of these cool SL4A powered projects:

=== Rockets === SL4A was used by the Nexus One payload for sensor logging. See the [http://blog.makezine.com/archive/2010/07/nexus\_onearduino\_smallsat\_satellite.html article in Make] for more information about the project.

=== Cellbots === We are a collection of hobbyists who want to free your cell phone from your pocket and let it connect and move with the real world. How? As a robot of course! Cellbots aren't just about using your phone to control a robot (which is cool too), but we aim on making your phone be the robot. It already has touch, hearing, speech, vibration, and many more senses, but needs legs (or wheels) to finally be the free roaming robot it was born to be. See the [http://www.cellbots.com/ Cellbots blog] or [http://www.youtube.com/user/cellbots YouTube channel] for more.

=== Oplop === Using a single master password and various account names, one can create an infinite number of unique account passwords. These unique account passwords are commonly called password hashes, domain-specific passwords, or per-site passwords. See the [http://code.google.com/p/oplop/ Oplop] project page for more information.

=== Broadcast === Broadcast is an embedded web application for remote Android device management. Broadcast has four goals: * Remote monitoring: Make Android state and device data available over a network. * Remote control: Allow remote control of an Android device over a network. * Proof-of-concept: Demonstrate that complex ruby applications can run in an Android environment, even with constrained resources. * Framework: Set the groundwork for a number of advanced applications. See [http://github.com/mleone/broadcast/ the project homepage], this [http://www.slideshare.net/panopticdev/broadcast-presentation presentation], and this [http://i52.tinypic.com/w9zfh4.jpg screenshot] for more information.

=== SMS Merger === SMS Merger is an excellent example of what can be done with Python and the !WebView API. SMS Merger is designed to send a series of personalized SMS. For example, to let Antony, Bob and Claire know which seat number they have been allocated for their exams, SMS Merger can turn a CSV file into the following SMS messages: Dear Antony, your seat is A1 Dear Bob, your seat is M4 Dear Claire, your seat is M2 See [http://3.bp.blogspot.com/\_No4Im6k15Dw/TPDSlM\_2ihI/AAAAAAAAAQA/pDxcy9w08vM/s1600/file-tab-with-preview.png these] [http://2.bp.blogspot.com/\_No4Im6k15Dw/TPDRiWnxk1I/AAAAAAAAAPo/o3ZhUsGgA\_A/s1600/merge-tab.png screenshots] and [http://android-scripting.blogspot.com/ Frank's blog] for more information.


Have a project you'd like to see listed here? Tell us about it on the [http://groups.google.com/group/android-scripting mailing list].

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 32.9%
  • Python 22.0%
  • Perl 21.1%
  • HTML 11.6%
  • Java 5.2%
  • C++ 1.4%
  • Other 5.8%