Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

TUIO for Android

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 RemoteInput
Octocat-spinner-32 TUIOService
Octocat-spinner-32 TuioInput
Octocat-spinner-32 androidx86
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README
Octocat-spinner-32 notes.txt
README
TUIO for Android-x86

A (working) attempt to add native TUIO input support to the Android platform.


This is fully working!



Instructions: 
This application will run a TUIO client on your Android device, and translate that into Android touch events which it injects into the OS.
Given the nature of this service, it must be given system privileges, which normal applications cannot get.  
The solution is to compile the application and sign it with the system keys.  This is not normally possible unless you built it yourself.
However, the following APK can be installed once your custom build (in that case, it will have blank system keys):

 * https://github.com/rjmarsan/TuioForAndroid/blob/master/androidx86/froyo/TuioSign/TUIOService-Signed.apk
 * 'adb install TUIOService-Signed.apk' will install it for you
 * open up the application 'TUIO Service' and enable the service
 * check if data is getting entered by opening up the test program
   * If not, make sure you have forwarded UDP port 3333 to your Android VM, or whatever

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
However, be warned:
    A) This is a work in progress, it may not be fully functional all the time
    B) This RUNS WITH SYSTEM PRIVILEGES, AND TAKES ARBITRARY DATA FROM THE NETWORK TO CONTROL YOUR SYSTEM
       (You need to trust your network.)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



Building:
    Prereqs:
        Eclipse (or ant, but I don't know how to help you there)
        A custom build of Android-X86 (instructions on their website)
        A device to run it on, VirtualBox, VMWare, KQemu, etc...
    Make sure you forwarded ports (if on a VM):
        Forward TCP port 5556 to enable ADB to work
        Forward UDP port 3333 to enable TUIO to work
    If on a VM: Run 'adb connect localhost:PORT' where PORT=5556, or whatever you chose
    Else:  'adb connect <device ip>:PORT'
    Open up TUIOService in Eclipse, or whatever, if you don't know how to import an Android project, google it.
    Running it normally may be a little useless, as it requests to run as system uid, which Android will reject unless signed
        However, commenting out that line in AndroidManifest.xml will allow it to run, but crash if it injects events outside your application
    Right click the project, go down to Android Tools and select Export Unsigned Application Package...
    Export it to androidx86/froyo/TuioSign/TUIOService.apk  (or where ever if you want, it's just a suggestion)
    Enter the androidx86/froyo/TuioSign/ directory and run ./notes.sh (signs your application package and writes it to TuioService-Signed.apk)
    'adb uninstall com.sigmusic.tacchi.tuio' to remove the application
    'adb install TuioService-Signed.apk' to install the new version





quick tips:
to get the emulator to listen to your port 3333:
    telnet localhost 5554
    redir add udp:3333:3333


see http://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature to sign app for system
Something went wrong with that request. Please try again.