Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master #296

Open
wants to merge 121 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
8964195
Fixed WebcamFacade runtime error.
filinep Apr 21, 2014
04cf33d
Update SimpleServer.java
jkordani May 23, 2014
32a3b35
Added option to change TTS pitch
Jun 16, 2014
c8b3db4
Updated readme
Aug 6, 2014
b66f6cc
Build with gradle 2.2.1 and SDK 21.1.2.
Mar 8, 2015
6c622ed
Build beanshell with gradle 2.2.1 and SDK 21.1.2.
Mar 9, 2015
e652f5d
Build python with gradle 2.2.1 and SDK 21.1.2.
Mar 9, 2015
9c93f87
Re-implement setForeground call that commented out in 1241 (1f0ffc67a…
Mar 11, 2015
b51af3e
Miss including the jni binaries to apk.
Mar 11, 2015
c02c14d
Append Seekbar event to catch the bar-event.
Mar 11, 2015
0fbeb11
Added tag 6x03 for changeset fa6ffde74c87
Mar 11, 2015
c39e0aa
merge
Mar 11, 2015
520dc20
merge
Mar 11, 2015
aea79b9
merge
Mar 11, 2015
f9c240d
Doc: append instructions for gradle and android studio.
Mar 14, 2015
5a76428
ignore Android studio settings.
Mar 14, 2015
8812e62
compile NDK files for another plat forms (x86, mips, armeabi-v7a)
Mar 14, 2015
c189082
change the file name of apk in gradle script.
Mar 14, 2015
68f8b17
USB Serial facade from https://bitbucket.org/kuri65536/usbhostserialf…
Mar 14, 2015
c9fae83
Update version name.
Mar 14, 2015
2f2e375
Added tag 6x04 for changeset 1b0c9b217e13
Mar 14, 2015
ae41d98
Remove python-for-android that managed by the another project/repogitory
Apr 16, 2015
0f838b9
Remove the unused tool
Apr 16, 2015
3a91aae
Remove python-for-android that managed by the another project/repogit…
Apr 18, 2015
e7e7a58
run_pie.c from Chromium project and its license information (merged i…
Apr 18, 2015
67b608d
Use run_pie.c to invoke the intepreters (that will be PIE binary)
Apr 19, 2015
58dea62
Facade: USBSerial: enabled in facade configuration. refs #2
Apr 19, 2015
8d28f8c
Documents from wiki
May 3, 2015
399371d
Merge the document of project-home
May 3, 2015
ba56dd3
Fix the links to go github pages.
May 4, 2015
cdf158f
Confirm CameraFacade in Android 5.1. closes #94
May 8, 2015
da5d350
Added tag 6x05 for changeset 69f3c4b80283
May 8, 2015
ba1f82a
update README.md
Jun 6, 2015
ae55ee2
Change the airplane mode above Kitkat for rooted device. closes #9
Jun 21, 2015
3441258
Append all sensors in SensorFacade. #closes #14
Jun 27, 2015
96c462f
change version code.
Jun 27, 2015
d560a66
Added tag 6.1.0 for changeset 83ac929160a1
Jun 27, 2015
3d9e4bf
merge document and linked docs folder. closes #
Jun 27, 2015
528757f
Remove language specific files. project will split into several langu…
Jun 27, 2015
368071d
Link to language branches. closes #15
Jun 29, 2015
b979aea
Fix links to language. refs #15
Jun 30, 2015
0af8c82
Remove google analytic which is never used, closes #4
Jul 19, 2015
e10b6e0
Added tag 6.1.1 for changeset 7d30d2872c3c
Jul 19, 2015
7dc20a2
Update link
Jul 19, 2015
55548c2
Update version code
Jul 19, 2015
eead36e
Format documents, fix some URLs
Aug 14, 2015
c6e2262
append README.md for docs folder
Aug 14, 2015
a77ad11
append link to damonkohler's wiki
Aug 14, 2015
c3c6027
Update README.md
scrogster Jan 6, 2016
78c140f
Merge pull request #20 from scrogster/patch-2
kuri65536 Jan 6, 2016
b624e66
pick a patch>
kuri65536 Feb 12, 2016
310bc3f
pick a patch
kuri65536 Feb 12, 2016
03460c8
pick a AOSP patch:
kuri65536 Feb 12, 2016
54e6516
pick a patch from AOSP:
kuri65536 Feb 12, 2016
2042155
pick a patch from AOSP:
kuri65536 Feb 12, 2016
4ffa54d
pick a patch from AOSP:
kuri65536 Feb 12, 2016
7bfd28a
pick a patch from AOSP:
kuri65536 Feb 12, 2016
c89c224
pick a patch from AOSP:
kuri65536 Feb 12, 2016
f0b1018
pick a patch from AOSP:
kuri65536 Feb 12, 2016
e4cb678
pick a patch from AOSP:
kuri65536 Feb 12, 2016
46147f6
pick a patch from AOSP:
kuri65536 Feb 12, 2016
e2c634a
pick a patch from AOSP:
kuri65536 Feb 12, 2016
f59aedb
pick a patch from AOSP:
kuri65536 Feb 12, 2016
fe52a74
pick a patch from AOSP:
kuri65536 Feb 12, 2016
abce5f8
Fix the minSdk 3/ Remove google analytic libs #4
Feb 15, 2016
1185750
update document about the uncontrollerable document
Feb 15, 2016
6da97d0
Add basic NFC support from AOSP source #10
kuri65536 Jan 24, 2017
3380b5d
removed enable/disable functions with build problem. (not public API)…
kuri65536 Jan 26, 2017
191ba8a
build with gradle 2.14.1 (included in android-studio 2.2) #21
kuri65536 Jan 26, 2017
f31a5e3
webViewShow only works with local files: close #27
kuri65536 Jan 27, 2017
884e6d7
fix indent: #27
kuri65536 Jan 27, 2017
7849bfc
script from AOSP, generate docs. #8
kuri65536 Jan 28, 2017
09811cd
fix errors with startSensingTimed on LG phones #29
kuri65536 Jan 28, 2017
7d2986b
append @JavascriptInterface Decoration #24
kuri65536 Jan 28, 2017
fb0023a
start to merge AOSP BluetoothFacade from
kuri65536 Feb 12, 2016
6659459
pick a patch from AOSP:
kuri65536 Jan 31, 2017
46594a8
pick a patch from AOSP:
kuri65536 Jan 31, 2017
172719e
pick a patch from AOSP:
kuri65536 Jan 31, 2017
c122293
pick a patch from AOSP:
kuri65536 Jan 31, 2017
d286287
pick a patch from AOSP:
kuri65536 Jan 31, 2017
03cd6f1
pick a patch from AOSP:
kuri65536 Jan 31, 2017
87aa0b2
pick a patch from AOSP:
kuri65536 Jan 31, 2017
d00d343
pick a patch from AOSP:
kuri65536 Jan 31, 2017
7f5202a
pick a patch from AOSP:
kuri65536 Jan 31, 2017
1e9248a
pick a patch from AOSP:
kuri65536 Jan 31, 2017
f8f0d20
pick a patch from AOSP:
kuri65536 Jan 31, 2017
8df1209
pick a patch from AOSP:
kuri65536 Jan 31, 2017
942b479
pick a patch from AOSP:
kuri65536 Jan 31, 2017
9aacbc0
pick a patch from AOSP:
kuri65536 Jan 31, 2017
cf73550
pick a patch from AOSP:
kuri65536 Jan 31, 2017
bdd0179
pick a patch from AOSP:
kuri65536 Jan 31, 2017
319eb25
pick a patch from AOSP:
kuri65536 Jan 31, 2017
9071f30
pick a patch from AOSP:
kuri65536 Jan 31, 2017
3911118
pick a patch from AOSP:
kuri65536 Jan 31, 2017
05dc510
pick a patch from AOSP:
kuri65536 Jan 31, 2017
d6fe04e
pick a patch from AOSP:
kuri65536 Jan 31, 2017
d0bf596
pick a patch from AOSP:
kuri65536 Jan 31, 2017
74d7f0d
pick a patch from AOSP:
kuri65536 Jan 31, 2017
8c4da68
pick a patch from AOSP:
kuri65536 Jan 31, 2017
88100c6
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27)):
kuri65536 Jan 31, 2017
e584054
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27))
kuri65536 Feb 2, 2017
d41df90
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27))
kuri65536 Feb 3, 2017
309baf2
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27))
kuri65536 Feb 3, 2017
0d3d05b
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27))
kuri65536 Feb 3, 2017
cb54aa1
fix build problem for API4.
kuri65536 Feb 4, 2017
d3556b6
fix build problems at picking patches.
kuri65536 Feb 4, 2017
40eaf08
move AOSP's Facade as New Bluetooth4Facade. (under edit)
kuri65536 Feb 5, 2017
f5d4e84
append some facades from AOSP.
kuri65536 Feb 5, 2017
e00c451
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27)):
kuri65536 Feb 5, 2017
dfa5967
moved resources to each sub-projects.
kuri65536 Feb 5, 2017
f4d76a1
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27)):
kuri65536 Feb 5, 2017
72f9303
moved a view class to use from BluetoothFacade.
kuri65536 Feb 5, 2017
f010ff8
pick a patch from AOSP (a same patch of 1311 (44aefbeaee27)):
kuri65536 Feb 5, 2017
be74205
Succeed to build BT4Facade #16
kuri65536 Feb 5, 2017
e81bf8d
modified by latest AOSP source.
kuri65536 Feb 5, 2017
9628330
pick a WifiFacade from AOSP (a same patch of 1311 (44aefbeaee27)):
kuri65536 Feb 6, 2017
a873dde
Implement zip genrator and renew sl4adoc.zip #11
kuri65536 Feb 7, 2017
e7cacc7
Added tag 6.2.0 for changeset 7804ac934979
kuri65536 Feb 7, 2017
d627511
fix building apk. duplicated classes are removed and renamed.
kuri65536 Feb 8, 2017
6a77ebe
Auto font sizing terminal windows in high density screen, refs #30
kuri65536 Mar 6, 2017
44cda90
control RPC server port in interpreter, and IPv4 or 6, close #34 .
kuri65536 Mar 21, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .hgignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ lua/log
android/PythonForAndroid/obj/*
android/PythonForAndroid/libs/armeabi/*
android/DocumentationGenerator/doc/*
.gradle
.idea
build
local.properties
gradle{w,w.bat,.properties}
gradle
*.iml
obj
syntax: regexp
(python|lua)/.*\.o
python/.*\.pyc
Expand Down
7 changes: 7 additions & 0 deletions .hgtags
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
fa6ffde74c87c4b7ca75dc8bca23fc60bae0be26 6x03
fa6ffde74c87c4b7ca75dc8bca23fc60bae0be26 6x03
1b0c9b217e13eb05d0549710ba2cfaa9d401577c 6x04
69f3c4b802837bae6862aba93f87d8e6497173a5 6x05
83ac929160a1516856558c2ea956fcdc3a1417b2 6.1.0
7d30d2872c3c176d6e31d86c3d1d3d3542cab69d 6.1.1
7804ac9349795c7eb95fd170ab193fb587b076f4 6.2.0
257 changes: 240 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
#Scripting Layer for Android (SL4A)
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.

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 and in the background. Python,
Scripts can be run interactively in a terminal, in the background. Python,
Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell are currently supported,
and we're planning to add more. See the [SL4A Video
Help](http://www.youtube.com/playlist?list=PL07A81E6CE96F158B) playlist on
and we're planning to add more. See the [SL4A Video Help](http://www.youtube.com/playlist?list=PL07A81E6CE96F158B)
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 [issues list](../../issues).

You can download the current APK by scanning or clicking the following barcode:

##Disclaimer

Expand All @@ -23,18 +24,240 @@ SL4A is designed for developers and is _alpha_ quality software.

##Documentation

The original Google Code wiki has been converted to Markdown and is available in the wiki
branch. A few of the most important pages are:
The original Google Code wiki has been converted to Markdown and
is available in the [docs folder](docs/).
A few of the most important pages are:

* [FAQ](docs/FAQ.md)
* [User Guide](docs/UserGuide.md)
* [API Reference](docs/ApiReference.md)
* [Tutorials](docs/Tutorials.md) ... it is a little old but useful for start.
* [damonkholer documents archive from googlecode](https://github.com/damonkohler/sl4a/tree/wiki)
... please report if you find the document that is not here.

<a name="create_issue"></a>Issues
===
I ignored the issues in google-code, because it's not controllable.
New issues will be accepted from [issue page](../../issues).

* [Create issue(github)](../../issues/new?title=&body=%2a%20What%20device(s)%20are%20you%20experiencing%20the%20problem%20on%3F%0A%20%20%2a%20ex:%20Nexus%20%3F%3F%3F%0A%2a%20What%20OS%20version%20are%20you%20running%20on%20the%20device%3F%0A%20%20%2a%20ex:%20Andriod%20%3F%3F%3F%0A%2a%20What%20version%20of%20the%20product%20are%20you%20using%3F%0A%20%20%2a%20SL4A%20r%3F%3F%3F%3F%0A%20%20%2a%20PythonForAndroid%20r%3F%3F%0A%2a%20What%20steps%20will%20reproduce%20the%20problem%3F%0A%20%201.%20%0A%20%202.%20%0A%20%203.%20%0A%2a%20What%20is%20the%20expected%20output%3F%20What%20do%20you%20see%20instead%3F%0A%20%20%2a%20expected:%20launch%20%3F%3F%3F%0A%20%20%2a%20see:%20stop%20running%0A%2a%20Please%20provide%20any%20additional%20information%20below.%0A)

* [FAQ](https://github.com/damonkohler/sl4a/blob/wiki/FAQ.md)
* [User Guide](https://github.com/damonkohler/sl4a/blob/wiki/UserGuide.md)
* [API Reference](https://github.com/damonkohler/sl4a/blob/wiki/ApiReference.md)
##Install

##Issues
[![QR code for binary(apk)][qrcode]](../../releases/download/6.1.1/sl4a-r6.1.1-arm-debug.apk)

Issues have been migrated from Google Code. However, this probject is no longer under active development. Consider responding to and filing new issues against an active fork.
<wiki:gadget url="http://www.ohloh.net/p/346315/widgets/project_users_logo.xml" height="43" border="0" />

[qrcode]: http://chart.apis.google.com/chart?cht=qr&chs=200x200&chl=http://github.com/kuri65536/sl4a/releases/download/6.1.1/sl4a-r6.1.1-arm-debug.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.

##Support

Still have questions? Check out the [FAQ](docs/FAQ.md).

Support for SL4A is provided by the community on the [project mailing
list](https://groups.google.com/forum/#!forum/android-scripting).

## Want to learn more? ##

Start by reading ["Introducing SL4A: The Scripting Layer for Android"][book1]
by Pieter Greyling and ["Packaging and Distributing"][book2]
by Paul Ferrill.

[book1]: http://github.com/kuri65536/sl4a/wiki/books/Practical_Android_Projects_Ch05_Introducing_SL4A.pdf
[book2]: http://github.com/kuri65536/sl4a/wiki/books/Pro_Android_Python_with_SL4A_Ch10_Packaging_and_Distributing.pdf

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
[Amazon](http://www.amazon.com/exec/obidos/ASIN/1430232439/ref=nosim/apre-20)
or directly from [Apress](http://apress.com/book/view/9781430232438).

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 [here](http://www.apress.com/book/view/1430232439).
Offer expires 12/30/11.

You can buy "Pro Android Python with SL4A" directly from
[Apress](http://www.apress.com/9781430235699).

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 [here](http://www.apress.com/9781430235699).
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 [article in Make](http://blog.makezine.com/archive/2010/07/nexus_onearduino_smallsat_satellite.html)
for more information about the project.

[![movie rockets 1][rockets1]](http://www.youtube.com/watch?feature=player_embedded&v=hQ7pUroGvFc)
[![movie rockets 2][rockets2]](http://www.youtube.com/watch?feature=player_embedded&v=nSyWDqgNRmo)
[rockets1]:http://img.youtube.com/vi/hQ7pUroGvFc/0.jpg
[rockets2]:http://img.youtube.com/vi/nSyWDqgNRmo/0.jpg


### 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 [Cellbots blog](http://www.cellbots.com/) or
[YouTube channel](http://www.youtube.com/user/cellbots) 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 [Oplop](http://code.google.com/p/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 [the project homepage](http://github.com/mleone/broadcast/), this
[presentation](http://www.slideshare.net/panopticdev/broadcast-presentation),
and this [screenshot](http://i52.tinypic.com/w9zfh4.jpg) 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 [these](http://3.bp.blogspot.com/_No4Im6k15Dw/TPDSlM_2ihI/AAAAAAAAAQA/pDxcy9w08vM/s1600/file-tab-with-preview.png)
[screenshots](http://2.bp.blogspot.com/_No4Im6k15Dw/TPDRiWnxk1I/AAAAAAAAAPo/o3ZhUsGgA_A/s1600/merge-tab.png)
and [Frank's blog](http://android-scripting.blogspot.com/) for more information.

---

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


<a name="issue"></a>Please tell me issues
===
* [Create issue(github)](../../issues/new?title=&body=%2a%20What%20device(s)%20are%20you%20experiencing%20the%20problem%20on%3F%0A%20%20%2a%20ex:%20Nexus%20%3F%3F%3F%0A%2a%20What%20OS%20version%20are%20you%20running%20on%20the%20device%3F%0A%20%20%2a%20ex:%20Andriod%20%3F%3F%3F%0A%2a%20What%20version%20of%20the%20product%20are%20you%20using%3F%0A%20%20%2a%20SL4A%20r%3F%3F%3F%3F%0A%20%20%2a%20PythonForAndroid%20r%3F%3F%0A%2a%20What%20steps%20will%20reproduce%20the%20problem%3F%0A%20%201.%20%0A%20%202.%20%0A%20%203.%20%0A%2a%20What%20is%20the%20expected%20output%3F%20What%20do%20you%20see%20instead%3F%0A%20%20%2a%20expected:%20launch%20%3F%3F%3F%0A%20%20%2a%20see:%20stop%20running%0A%2a%20Please%20provide%20any%20additional%20information%20below.%0A)


Build Instructions
===

Gradle
---
* Clone this project, and type below in your terminal:

```shell
$ cd android/ScriptingLayerForAndroid
$ echo sdk.dir=/path/to/android-sdk > local.properties
$ sh /path/to/android-stdudio/gradle/gradle-2.2.1/bin/gradle assembleDebug
Building ??% ...
$ ls build/outputs/apk/
ScriptingLayerForAndroid-arm-debug.apk
```

Please replace /path/to strings to your environment or installed place.

* Connect you phone or launch a virtual machine, then send the apk to them:

```shell
$ /path/to/android-sdk/platform-tools/adb install build/outputs/apk/ScriptingLayerForAndroid-arm-debug.apk
```

* Install the interpreters apk in Android. (each interpreters is not build yet.)
* Enjoy scripting!

Android Studio
---
* Clone this project, and import it into Android stdudio.
* Select "Import project"
* Select the folder: cloned/project/android/Scriptinglayerforandroid
* Configure the gradle path: /path/to/android-stdudio/gradle/gradle-2.2.1
* Configure the android sdk path.

After Android Studio launch,

* Select the menu: "Build" >> "Build Module"
* Select the menu: "Run" >> "Run"
* Connect your phone or launch a virtual machine, compiled apk will be installed.


Eclipse
---
* Clone this project, and import it into Eclipse. Make sure that the Java compliance
level is at 1.6 (right-click any project, go to Properties > Java Compiler > Configure Workspace Settings
and select 1.6.

* Make sure that you have all the appropriate Android SDKs installed through Eclipse. You can determine
this by looking at what errors prop up.

* Make sure the environment variable ANDROID\_SDK is set, by going to Window > Preferences > Java >
Build Path > Classpath Variables and creating a new variable ANDROID\_SDK that points to the android-sdks
folder.

* Make sure you clean all projects by going to Project > Clean.

* If there are still issues, look at this to find tidbits you could possibly do:
http://jokar-johnk.blogspot.co.nz/2011/02/how-to-make-android-app-with-sl4a.html

Languages
===
Languages are shipped with Android application. (but not maintainanced well except of python.)

* [Perl](../../tree/lang-perl)
* [Python](https://github.com/kuri65536/python-for-android)
* [Rhino - Javascript](../../tree/lang-rhino)
* [Ruby - JRuby](../../tree/lang-jruby)
* [Tcl](../../tree/lang-tcl)

Facade
===
* [USBHostSerialFacade](/USBHostSerialFacade.md): for USB Serial devices

<!---
vi: ft=markdown:et:fdm=marker
-->
41 changes: 41 additions & 0 deletions USBHostSerialFacade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
USB Host Serial Facade
===
SL4A Facade for USB Serial devices by Android USB Host API.

It control the USB-Serial like devices
from Andoroid which has USB Host Controller
(I tested the product with Android tablet).

The sample
demonstration is also available at [youtube video](http://www.youtube.com/watch?v=EJ7qiGXaI74)

This facade developped in [My Bitbucket site](https://bitbucket.org/kuri65536/usbhostserialfacade),
you can see the commit log in it.

Requirements
===
* Android device which has USB Host controller (and enabled in that firmware).
* Android 4.0 (API14) or later.
* USB Serial devices (see [Status](#Status)).
* USB Serial devices were not handled by Android kernel.

> I heard some android phone handle USB Serial devices
> make /dev/ttyUSB0 in kernel level.
> In this case, Android does not be able to handle the device
> from OS level.

please check Android Applications be able to grab the target USB Devices,
such as [USB Device Info](https://play.google.com/store/apps/details?id=aws.apps.usbDeviceEnumerator).

Status
===
* probably work with USB CDC, like FTDI, Arduino or else.

* 2012/09/10: work with 78K0F0730 device (new RL78) with Tragi BIOS board.

[M78K0F0730](http://www.marutsu.co.jp/shohin_55296/>)

* 2012/09/24: work with some pl2303 devcies.

<!--- vi: ft=markdown:et:ts=4
-->
52 changes: 52 additions & 0 deletions android/BeanShellForAndroid/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
}

apply plugin: 'com.android.application'

dependencies {
compile project(':InterpreterForAndroid')
compile('com.android.support:support-v4:21.0.3'){
force = true
}
}

android {
buildToolsVersion "21.1.2"
compileSdkVersion 21

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

instrumentTest.setRoot('tests')

}

defaultConfig {
minSdkVersion 4
targetSdkVersion 4
}
productFlavors {
}
dexOptions {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
}

3 changes: 3 additions & 0 deletions android/BeanShellForAndroid/settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
includeFlat 'Utils'
includeFlat 'Common'
includeFlat 'InterpreterForAndroid'
Loading