Je ne peux pas compiler mon projet Android Kotlin parce que je reçois le texte suivant « compilateur Kotlin » erreur lorsque 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
Ce projet est un test simple qui a le code strict minimum. La principale différence entre une application android régulière. et celui-ci est ma classe MainActivity usages RosActivity plutôt que AppCompatActivity.
J'ai changé « ext.kotlin_version » ( super - types des classes suivantes ne peut être résolu S'il vous plaît assurez-vous que les dépendances nécessaires dans le classpath. )
J'ai essayé de changer l'ordre des dépendances ( erreur:. Supertypes des classes suivantes ne peut pas être résolu S'il vous plaît assurez-vous que les dépendances nécessaires dans le classpath )
J'ai essayé « resolutionStrategy.force » ( erreur:. Supertypes des classes suivantes ne peuvent pas être résolus S'il vous plaît assurez-vous que les dépendances nécessaires dans le classpath )
J'ai essayé « cache Invalider / restart » ( erreur:. Supertypes des classes suivantes ne peut être résolu S'il vous plaît assurez-vous que les dépendances nécessaires dans le classpath )
J'ai changé « org.jetbrains.kotlin: Kotlin » , mais cela n'a pas ( super - types des classes suivantes ne peuvent pas être résolus )
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 (Projet):
// 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' }
}
En gradle, si votre mise en œuvre du projet A, mais aussi B. de mise en œuvre si votre projet a utilisé une classe A whitch degrés classe B, vous pouvez simplement appeler la méthode de construction, ne peut pas appeler la méthode whitch appel superClass en B, ou l'utiliser procédé pour paramater.
juste essayer implemntation à api.
api 'org.ros.android_core: android_15: 0.3.3'