[ros-users] Ros Java + Android

Daniel Stonier d.stonier at gmail.com
Tue May 7 07:50:22 UTC 2013


I've been watching our devs struggling with the android build environment
for a while and decided to take a look at it for a couple of days recently.

The result of which was some work to help make it easier. In short (more
detail below) you can build in about the same manner as you would a typical
catkin workspace - one shot builds and dependency tracking across repos.

If you would like to get a handle on what's done, I've written up some
instructions on how to build the current turtlebot android apps (make sure
to use the '*legacy*' sources)
here<http://ros.org/wiki/turtlebot_android/Tutorials/hydro/Installation>
.

These are just tentative though. I'd like to get together with whoever's
interested to talk about how we can push this further (and re-integrate
with damon and chad's code) so we can have a convenient development
environment for android with hydro. Up until now it's felt terribly hackish.

Probably a good place to start some discussion would be at a BoF at RosCon.
We can then continue with a sig thereafter. Of course, if you're not going
to RosCon, let us know what you think and we can float any issues there.
Being a relative newbie with java/gradle/maven/android I have some starters:


   - Should we setup a maven repo for rosjava jars or integrate with bloom?
   - If maven, what is the best approach and how to do for android packages?
   - Is it possible to speed up the android build process (what's making it
   slow)?
   - How best to organise android code?


Cheers,
Daniel

PS : A more detailed summary of the changes so far:

   - catkinization
      - Can use the usual tools (e.g. catkin_make)
      - Parallel builds
      - Chained workspaces (much lighter workspaces -> faster builds)
   - catkin_rosjava_setup()
      - Calls out to gradle in the compile step.
   - catkin_android_setup()
      - Adds library deps (from package.xml) to project.properties in the
      cmake step
      - Retargets the project (via ANDROID_TARGET cmake variable)
      - Updates the project in the cmake step
      - Calls out to gradle in the compile step
   - catkin_create_android_library_pkg and catkin_create_android_pkg
   - includes kazuto's minor patches into android_gingerbread
   - moves kazuto's app manager patches into android_apps
   - split gingerbread and honeycomb into separate stacks so it easy to
   target a workspace for one or the other.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20130507/3e980d13/attachment-0003.html>


More information about the ros-users mailing list