I downloaded 0194, and the latest version of the Android SDK, but when I try to launch an example sketch, either on the emulator or my Droid phone (both of which I've been successful at doing in the past), the sketch gets stuck at "starting build..." and I have a twinkly progress bar.
i've run tools/android to create a 2.1 AVM, and the SDK platform 2.1-update1, API 7, Revision 2. I've updated my path to include 'platform-tools'
Since Processing is going to just support Android 2.1 and higher, and Processing is a, dare I say it, graphics-focused tool, wouldn't it make sense to allow sketches to be compiled not only as apps, but also as live
desktops wallpapers?
Judging by my tests with the Android API with Eclipse, it's only the wrapper that varies (an Activity vs. a Thread for the live Wallpaper)
You guys are doing an awesome job regardless; I suggest Processing to my colleagues as an embedded solution whenever it's appropriate, and have had my bosses come back to me with questions about proposals, asking if Processing would be a good fit!
Just my 2¢. (value may vary based on exchange rates.)
(in fact, the sketch is a lightly modified version of the demo.)
Regular compilation of the sketch works, but when I switch to Android mode I get this error from the emulator:
java.lang.RuntimeException: There is no public pre() method in the class com.processinghacks.arcball.ArcBall
at processing.core.PApplet.die(PApplet.java:2411)
at processing.core.PApplet.registerNoArgs(PApplet.java:1131)
at processing.core.PApplet.registerPre(PApplet.java:1096)
at com.processinghacks.arcball.ArcBall.<init>(ArcBall.java:51)
at com.processinghacks.arcball.ArcBall.<init>(ArcBall.java:43)
at processing.android.test.arcball_test_2.ArcBall_test_2.setup(ArcBall_test_2.java:27)
at processing.core.PApplet.handleDraw(PApplet.java:1739)
at processing.core.PGraphicsAndroid3D$A3DRenderer.onDrawFrame(Unknown Source)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1116)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:975)
processing.app.debug.RunnerException: java.lang.RuntimeException: There is no public pre() method in the class com.processinghacks.arcball.ArcBall
at processing.app.Sketch.placeException(Sketch.java:1616)
at processing.app.tools.android.AndroidMode.stackTrace(Unknown Source)
at processing.app.tools.android.AndroidDevice.reportStackTrace(Unknown Source)
at processing.app.tools.android.AndroidDevice.access$400(Unknown Source)
at processing.app.tools.android.AndroidDevice$LogLineProcessor.handleCrash(Unknown Source)
at processing.app.tools.android.AndroidDevice$LogLineProcessor.processLine(Unknown Source)
at processing.app.exec.StreamPump.run(StreamPump.java:75)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:613)
Looking at the ArcBall.java file, I see that there is indeed a public pre() method.
Compiling without this library runs in the emu and on the device.
I can understand if this is just incomplete implementation at this point, but I want to make sure I'm not overlooking something else. (like the ArcBall code being 4 years old, and not compatible with the current version of Processing, which I feel is unlikely, given that it runs on the desktop.)