Error: supertypes of the following classes could not be resolved. Make sure you have the necessary dependencies in the classpath

I cannot compile an Android Kotlin project.

I do not know what it is...

Gradle log:

error: supertypes of the following classes cannot be resolved. Make sure you have the necessary dependencies in the classpath: class android.support.v7.app.AppCompatActivity, unresolved supertypes: SupportParentable

build.gradle (application)

buildscript { ext.android_plugin_version = "2.3.3" ext.kotlin_version = '1.1.2-5' repositories { maven { url 'https://maven.google.com' } maven { url "https://jitpack.io" } mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:$android_plugin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { maven { url 'https://maven.google.com' } maven { url "https://jitpack.io" } mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' def compat_version = '26.+' def play_services_version = '11.0.1' def firebase_version = '9.6.1' android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { applicationId "com.site.app" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { arguments = ["library" : "true"] } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dexOptions { javaMaxHeapSize "4g" } dataBinding { enabled true } sourceSets { main.java.srcDirs += 'src/main/kotlin' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } kapt { generateStubs = true correctErrorTypes = true } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' // android compile 'com.android.support:multidex:1.0.1' compile "com.android.support:appcompat-v7:${compat_version}" compile "com.android.support:design:${compat_version}" compile "com.android.support:cardview-v7:${compat_version}" compile "com.android.support:recyclerview-v7:${compat_version}" compile "com.android.support:gridlayout-v7:${compat_version}" compile "com.google.android.gms:play-services:${play_services_version}" compile "com.google.android.gms:play-services-ads:${play_services_version}" compile "com.google.android.gms:play-services-maps:${play_services_version}" compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.google.maps.android:android-maps-utils:0.4+' kapt "com.android.databinding:compiler:$android_plugin_version" // kotlin compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" } 
+24
source share
6 answers

In my case, I had a library module with an abstract application class that implements the Dagger HasActivityInjector and a library dependent application module and my own (non-abstract) application class that extends the base class of the application.

My Gradle dependencies were implementation and therefore were not available for the application module application class (even if there was no import, otherwise the problem would be immediately obvious, since you received a β€œfailed to solve” error. The fix was to replace the dagger implementation dependencies with api , which makes them available for dependent modules.

+22
source

I fixed this by changing the order of the plugins call!

build.gradle

 buildscript { ext.android_plugin_version = '2.3.3' ext.kotlin_version = '1.1.3-2' repositories { jcenter() mavenCentral() maven { url "https://maven.google.com" } maven { url 'https://maven.fabric.io/public' } maven { url "https://jitpack.io" } } dependencies { classpath "com.android.tools.build:gradle:$android_plugin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" classpath 'io.fabric.tools:gradle:1.+' } } allprojects { repositories { jcenter() mavenCentral() maven { url "https://maven.google.com" } maven { url 'https://maven.fabric.io/public' } maven { url "https://jitpack.io" } } } task clean(type: Delete) { delete rootProject.buildDir } 

application /build.gradle

 apply plugin: 'com.android.application' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'io.fabric' android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { applicationId "com.sample.app" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true } buildTypes { debug { ext.alwaysUpdateBuildId = false } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dexOptions { javaMaxHeapSize "4g" } dataBinding { enabled true } sourceSets { main.java.srcDirs += 'src/main/kotlin' } lintOptions { abortOnError false disable 'InvalidPackage' } } kapt { generateStubs = true } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' // kotlin kapt "com.android.databinding:compiler:$android_plugin_version" compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // android compile 'com.android.support:multidex:1.0.1' compile "com.android.support:appcompat-v7:${compat_version}" compile "com.android.support:design:${compat_version}" compile "com.android.support:cardview-v7:${compat_version}" compile "com.android.support:recyclerview-v7:${compat_version}" compile "com.android.support:gridlayout-v7:${compat_version}" compile "com.android.support:support-vector-drawable:${compat_version}" compile 'com.android.support.constraint:constraint-layout:1.0.2' compile "com.google.android.gms:play-services-ads:${play_services_version}" compile "com.google.android.gms:play-services-maps:${play_services_version}" compile "com.google.android.gms:play-services-gcm:${play_services_version}" compile 'com.google.maps.android:android-maps-utils:0.4+' // fabric compile('com.crashlytics.sdk.android:crashlytics: 2.6.8@aar ') { transitive = true; } // logger compile 'com.orhanobut:logger:2.1.1' // dexter compile 'com.karumi:dexter:4.1.0' // firebase compile "com.google.firebase:firebase-messaging:${firebase_version}" // persistence compile "android.arch.persistence.room:runtime:1.0.0-alpha3" annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha3" // facebook compile 'com.facebook.android:facebook-android-sdk:4.+' // retrofit compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'com.squareup.retrofit2:converter-gson:2.3.0' // gson compile 'com.google.code.gson:gson:2.8.1' // jobs compile 'com.evernote:android-job:1.1.11' // chart compile 'com.github.PhilJay:MPAndroidChart:v3.0.1' // fresco compile 'com.facebook.fresco:fresco:1.3.0' // indicator compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1' } 
+12
source

Before trying anything else, try: Android Studio -> File -> Cancel Cache / Restart

It worked for me.

+4
source

For me, the problem was that the child module did not use AndroidX Activity. I guess class names collided.

Added this to solve:

implementation 'androidx.legacy:legacy-support-v4:1.0.0'

+1
source

In my case, I had to add the necessary dependency on my main module and compile the latest version with:

 android { configurations.all { resolutionStrategy.force "com.squareup.picasso:picasso:${picassoVersion}" } } 
0
source

Update your version of Google Play to the latest version.

0
source

Source: https://habr.com/ru/post/1268923/


All Articles