Ask Your Question
0

class sensor_msgs.CompressedImage, unresolved supertypes: org.ros.internal.message.Message> Task:app:buildInfoGeneratorDebug

asked 2019-07-22 18:12:25 -0500

Tav_PG gravatar image

I can't compile my Android Kotlin Project because I get the following 'Kotlin compiler' error when gradle compiles:

Supertypes of the following classes cannot be resolved. Please make sure 
you have the required dependencies in the classpath: class 
sensor_msgs.CompressedImage, unresolved supertypes: 
org.ros.internal.message.Message> Task:app:buildInfoGeneratorDebug

This is a simple test project that has the bare minimum code using http://wiki.ros.org/shield_teleop as a boilerplate. I removed the joystick code but left the camera code.

A am using ROS Kinetic Ubuntu on the robot, Android 8.0 on the app.

Manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools" package="com.company.roscameratest">

    <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme" tools:replace="android:icon">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name="org.ros.android.MasterChooser" />

        <service android:name="org.ros.android.NodeMainExecutorService" >
            <intent-filter>
                <action android:name="org.ros.android.NodeMainExecutorService" />
            </intent-filter>
        </service>
    </application>

</manifest>

build.gradle (Project):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.3.41'
    repositories {
        google()
        jcenter()
 }

dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle (Module):

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.company.roscameratest"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    configurations.all {
        resolutionStrategy.force "org.ros.android_core:android_15:0.3.3"
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'org.ros.android_core:android_15:0.3.3'
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    //androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

repositories {
    maven {  url 'https://github.com/rosjava/rosjava_mvn_repo/raw/master' }
}
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-08-11 23:47:41 -0500

Tav_PG gravatar image

I have since resolved this issue. It is not completely a ROS issue.

I had found the issue was when I changed from AppCompatActivity to RosActivity, so I looked at all controls in the main form to see which classes they were using. Classes were being called in a mix of both android.support.v7.app.AppCompatActivity and androidx.appcompat.app.AppCompatActivity. I moved all my controls in my RosActivity form over from android to android-x and there was no compile error.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-07-22 18:12:25 -0500

Seen: 25 times

Last updated: Aug 11