Currently every time you build "debug" or "release" apk from a ruboto-core project, it re-dexes all of JRuby and your app's Java code. That's obviously unnecessary if the app's logic is mostly in Ruby.
update_scripts helps a lot, of course, but it would be nice if you could just build .apk files without re-dexing stuff that hasn't changed. It would also avoid the confusing situation where an app has been re-built and re-installed, but the scripts have not been updated.
We should have dexing happen as a separate step, dependent on whether the libs jars and the app's .java/.class files have actually changed. If they have not, the existing dex file can be used. This would greatly speed up the build/deploy/test cycle for Ruboto apps.
also see this blog post:
Yeah, I've been meaning to try that. Basically we'd have a Ruboto Core app people install, and then other Ruboto apps could just depend in it having the pre-dexed JRuby stuff in /data/data/org.ruboto/files/jruby.jar. Might not be hard to prototype
As a result, Ruboto apps would be tiny.
This might help:
I have been able to load a class from a separate app. I have added the code (commented) to RubotoActivity.java.
I have no idea what the next step should be. Please help!
I do create a classloader. How do we make that classloader active for JRuby?
* Issues #31 #39 #64 Make apps use a common Ruboto Core platform APK
The original intent of this issue requires not using ANT to build the APK. I am thinking this might be a good idea, but I would like to hear from you all if you think we should struggle to gain control over the build process, and ditch ANT over time, or strive to re-use as much as possible from the ANT build scripts?
Postponing to version 0.5.
Not re-dexing unchanged classes is now a standard feature of the Android SDK. Closing.