ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Updating android_core to use forked rosjava_core

asked 2017-03-01 10:07:35 -0500

All, I am trying to debug and issue with rosjava_core when implemented in Android through android_core. I am trying to compile both rosjava_core and android_core from source so I can use my fixed version of rosjava_core. Here is how I have configured my repositories and ROS workspace.

  1. I have forked the following repositories. rosjava, rosjava_core, rosjava_bootstrap, android_core and rosjava_mvn_repo
  2. I have updated both my rosjava.rosinstall to point to my forked rosjava_core and rosjava_bootstrap repositories and my android_core.rosinstall to point to my forked android_core repository
  3. I cloned my forked rosjava_mvn_repo to ~/rosjava_mvn_repo and set my environmental variables to point to my rosjava_mvn_repo (ROS_MAVEN_DEPLOYMENT_REPOSITORY, ROS_MAVEN_REPOSITORY)
  4. I created a new ros workspace using wstool and my android_core.rosinstall and rosjava.rosinstall. I sourced my ROS workspace in my bashrc file.

This is how I am trying to propagate my fix from rosjava_core to android_core:

  1. I made my fix to rosjava_core and bumped my package number to 0.2.2 (rosjava_core:0.2.2)
  2. I updated my buildscript.gradle in rosjava_bootstrap to point to my maven github repository.
  3. I updated the RosPlugin.groovy file in rosjava_bootstrap to point to my forked maven repository
  4. Bumped the version of my rosjava_bootstrap to 0.2.2 in both the build.gradle file and package.xml file (rosjava_bootstrap:0.2.2)
  5. In my android_core buildscript.gralde I updatd my rootProject.buildscript to pply from: ""
  6. Ran catkin_make in ROS workspace

Everything compiles and builds without failing. When I look in my rosjava_maven_repo I see the updated packages for rosjava_core and rosjava_bootstrap with the 0.2.2 bump. Keep in mind I HAVE NOT PUSHED to my remote repository.

In my android_core project, if I gradle sync, I do not get the latest 0.2.2 rosjava code. I would think it could find my local rosjava_core:0.2.2.

If I push my packages to my remote rosjava_maven_repo and do a gradle sync in my android_core project I see the new rosjava_core:0.2.2 package.

Is this really how I have to go about testing rosjava_core in android_core? Do i have to bump my package number, push to my maven repository? Is there a way I can do my testing locally and use my local rosjava_core built files in my local rosjava_mvn_repo?

Sorry this might sound confusing, I am not a gradle master and think I just got lucky getting this to semi-work :)

Thanks for all the advice and help!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-03-01 13:05:44 -0500

I figured out that if you launch android studio from the terminal (instead of the desktop launcher) the local version (in rosjava_mvn_repo) of the rosjava_core is used. Make sure that when you update rosjava_core you rebuild the catkin workspace.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-03-01 10:07:35 -0500

Seen: 119 times

Last updated: Mar 01 '17