Processing for Android

Pre-release downloads of Processing with built-in support for Android. Note that this code is incomplete and contains many bugs. It is not ready for widespread use. It should be considered "nightly build" quality. Do not use this code while operating heavy equipment. Do not rely on this code for thesis or diploma work, as you will not graduate. Do not use this code if you're prone to whining about incomplete software that you download for free.

Instructions

Download and install the Android SDK. You do not need the "ADT Plugin for Eclipse" (step #2). However in step #3, make sure the following are also installed:
  • SDK Platform Android 2.0, API 5
  • Google APIs by Google Inc., Android API 5
Once the Android SDK is installed, use the download links below to grab a version of Processing that includes the new Android mode.

In keeping with the spirit of the Processing project, we hope to remove the Android SDK installation step from the download/install process. (Bug #1383)

Download

These are pre-release versions of the Processing code. When it's ready for prime time, the Android components will be available as a separate download, or added to the main download.

Read the revisions.txt document in the download to find out what's new and old in this release.

To use the tools on Windows (and Linux), you'll need to have the bin folder of a full JDK in your PATH. Should be fixed for 0178.

On all three platforms, you'll need to have the 'tools' folder of the Android SDK in your PATH. No more.

On all platforms, set an ANDROID_SDK environment variable that points at your SDK installation (not the tools folder, the root of the SDK). Only for people who are building from source.

On Mac OS X, there's a problem with picking up the ANDROID_SDK environment variable. Try setting it in your .profile or .bashrc file, then use Terminal to launch via: open /Applications/Processing-0177.app. Theoretically you can set ANDROID_SDK in ~/.MacOSX/environment.plist, but I wouldn't recommend it, because it can break launching all applications on your machine. This mess will be fixed for 0178. And fixed it is.

2010 03 04 | Revision 0178
Windows standard or without Java | Mac OS X | Linux x86

2010 02 21 | Revision 0177
Windows standard or without Java | Mac OS X | Linux x86

2010 02 20 | Revision 0176
Windows standard or without Java | Mac OS X | Linux x86

2010 01 07 | Revision 0175
Windows standard or without Java | Mac OS X | Linux x86

2009 12 06 | Revision 0174
Windows standard or without Java | Mac OS X | Linux x86

2009 11 30 | Revision 0173
Windows standard or without Java | Mac OS X | Linux x86

2009 11 29 | Revision 0172
Windows standard or without Java | Mac OS X | Linux x86

Android Mode

To build for Android, select Tools → Android Mode. This will load the Android tools for the current sketch window. This overrides the behavior of the Run and Export options:
  • Run - preprocess the current sketch, create an Android project, and run (debug) it in the Android emulator.
  • Present - the same as Run, but run on a device (phone) that's attached by USB.
  • Export - creates a "release" build of the apk files. (coming very soon)
  • Export to Application - same as export, but also sends it to a USB connected device (phone). (also not yet implemented, but also coming soon)
The Stop button is currently ignored. (Bug #1386) The stop button should be working in 0178.

The size() command does nothing, all sketches are full screen (Bug #1397).
Currently only 2D, but support for 3D is on its way (Bug #1396).

Troubleshoot 'n Discuss

Please use this mailing list for all Android discussion. In the future, this will be moved to the discourse section of the site. The list is just to keep things manageable until things are at least "beta" quality.

The most common problem is that the Android Debug Bridge gets itself into a weird state. If that happens, use Tools → Reset Android to reset the connection.

If you find a bug, file it a dev.processing.org/bugs, and be sure to select the “android” component, so that it's routed to the correct location.

A list of known bugs, sorted by priority, can be found here.