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

rostango unsupported method at runtime

asked 2014-12-11 16:27:07 -0600

dan gravatar image

updated 2014-12-13 22:19:30 -0600

Following the instructions here: https://github.com/ologic/Tango/wiki/ROSTango-Instructions

I am able to successfully catkin_make and open the project in tango-studio (0.6.1).

When I try to run any of the apps, it sees the tango tablet, Target device: google-yellowstone.... I select it and then the process fails with: Unsupported method: AndroidArtifact.getOutputFile(). The version of Gradle you connect to does not support that method

I have the same issue with the samples built from here: https://github.com/ologic/Tango/wiki/Getting-Started-with-Tango-and-ROS and submitted a ros.answers question for that as well: http://answers.ros.org/question/199283/ros-tango-samples-dont-run/

The gradle build messages show that "Tooling API is using target Gradle version 1.12" which could go with plugin version 0.11 but I don't know how to check for the Android Gradle Plugin version (it should be 0.11 to work with studio version 0.6.1) and I am pretty sure this problem is due to using the wrong Plugin version.

I think that all I have to do is edit the build.gradle file to select plugin version 0.11, but I don't know how to do that. I tried editing build.gradle , changing

classpath group: 'org.ros.rosjava_bootstrap', name: 'gradle_plugins', version: '0.1.22'

to a variety of different versions (0.11 (not found), 0.11+ (not found), 0.1+ (found, but generates the same error)).

Here is the relevant section of build.gradle:

task wrapper(type: Wrapper) {
    gradleVersion = '1.12'
}

buildscript {
    def rosMavenPath = "$System.env.ROS_MAVEN_PATH".split(':').collect { 'file://' + it }
    def rosMavenRepository = "$System.env.ROS_MAVEN_REPOSITORY"
    repositories {
        rosMavenPath.each { p ->
            maven {
                url p
            }
        }
        mavenLocal()
        maven {
            url rosMavenRepository
        }
    }
    dependencies {
        classpath group: 'org.ros.rosjava_bootstrap', name: 'gradle_plugins', version: '0.1.22'
        // compile 'org.ros.tf2:tf2_ros:0.0.0-SNAPSHOT'
    }
}
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2014-12-13 22:36:51 -0600

dan gravatar image

updated 2014-12-13 23:26:33 -0600

Sledgehammer approach seems to have worked. In the file:

~/rjandroid/src/ROSTango/ROSTango/src/rostango/build.gradle

I added this to the dependencies section:

classpath 'com.android.tools.build:gradle:0.11.+'

and that by itself fails, but when you also add

jcenter()

to the repositories section, the programs load onto the Tango and run.

I have no idea whether this will actually work, but if it does, then these seem like very odd things for the repo to have left out of the build.grable file.

Since I also had this problem with the android_core build, I changed the build.gradle files located in the following directories:

~/rjandroid/src/android_core
~/rjandroid/src/android_extras

in addition to

~/rjandroid/src/ROSTango/ROSTango/src/rostango
edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2014-12-11 16:27:07 -0600

Seen: 712 times

Last updated: Dec 13 '14