Android 错误:无法解析以下类的超类型。请确保在类路径中具有所需的依赖项

Android 错误:无法解析以下类的超类型。请确保在类路径中具有所需的依赖项,android,compilation,kotlin,Android,Compilation,Kotlin,我无法编译我的Android Kotlin项目 我不知道这是什么 渐变日志: buildscript { ext.kotlin_version = '1.3.50' repositories { maven { url "https://maven.google.com" } google() jcenter() mavenCentral() } dependencies { classpath 'com.android.to

我无法编译我的Android Kotlin项目

我不知道这是什么

渐变日志:

buildscript {
ext.kotlin_version = '1.3.50'
repositories {
     maven {
        url "https://maven.google.com"
    }
    google()
    jcenter()
    mavenCentral()


}
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.3'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
    classpath 'com.google.gms:google-services:4.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    maven {
        url "https://maven.google.com" // Google's Maven repository
    }
    google()
    jcenter()
    mavenCentral()


}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
错误:无法解析以下类的超类型。请确保在类路径中具有所需的依赖项: 类android.support.v7.app.AppCompatActivity,未解析的超类型:SupportParentable

build.gradle(应用程序)


我通过改变插件调用的顺序来修复它

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
}
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'
}
app/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
}
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'
}

在我的例子中,我有一个库模块,其中一个抽象应用程序类实现了Dagger的
HasActivityInjector
,另一个应用程序模块依赖于库,它自己的(非抽象)应用程序类扩展了基础应用程序类


我的Gradle依赖项是
实现
s,因此应用程序模块的应用程序类无法访问(即使那里没有导入,否则问题会很明显,因为您会遇到“无法解决”错误。修复方法是将dagger
实现
依赖项替换为
api
,这使得依赖模块也可以使用它们。

在我的情况下,我必须在我的主模块上添加所需的依赖项odule并使用以下命令编译最新版本:

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

将您的google play gradle版本更新至最新版本

在尝试其他操作之前,请尝试: Android Studio->文件->无效缓存/重新启动


这对我很有效。

对我来说,问题是子模块没有使用AndroidX活动。我想类名冲突了

添加此选项以解决以下问题:


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

我在应用程序级别build.gradle中的库以下出现错误

  implementation 'com.google.firebase:firebase-iid:20.0.2'
所以解决方案是项目级build.gradle中的顺序,所以 在解决错误之前,结构是

buildscript {
ext.kotlin_version = '1.3.50'
repositories {

    google()
    jcenter()
    mavenCentral()
    maven {
        url "https://maven.google.com"
    }

}
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.3'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
    classpath 'com.google.gms:google-services:4.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {

    google()
    jcenter()
    mavenCentral()
    maven {
        url "https://maven.google.com" // Google's Maven repository
    }

}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
public class MainActivity implements MyListener {

} 
解决错误后,结构为:

buildscript {
ext.kotlin_version = '1.3.50'
repositories {
     maven {
        url "https://maven.google.com"
    }
    google()
    jcenter()
    mavenCentral()


}
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.3'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
    classpath 'com.google.gms:google-services:4.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    maven {
        url "https://maven.google.com" // Google's Maven repository
    }
    google()
    jcenter()
    mavenCentral()


}
}

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

默认情况下,它会尝试使用google()下载,因为它是序列中的第一个,但当我们将maven移到最上面时,它会再次使用maven创建构建,构建成功。干杯:)

在我的应用程序中设置crashlytics时,我使用了“推荐”依赖关系,如下所示。但这是导致错误的部分

// Firebase Crashlytics
// (Recommended) Add the Google Analytics dependency.
implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
删除“分析”行解决了我的问题

// Firebase Crashlytics
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
希望这对其他人也有帮助

最佳

(应用程序)---取决于---(库)

在我的情况下,我没有更改任何依赖项配置,也没有更改顺序。 我必须将本地pojo(模型)jar文件从库模块复制到应用程序

应用程序位于kotlin 这个图书馆是用java编写的


这是一个错误,我不应该在应用程序和库中使用pojo.jar

我修复了升级其他库时出现的错误。 当我添加firebase=ads(来自google adsmob)时,我的错误显示出来了。 因此,我在firebase auth(16.0.5)和firebase广告(19.0.1)中发现了冲突


将firebase迁移到19.3.0解决了这个问题。

在我的例子中,我删除了片段中未使用的
OnFragmentInteractionListener

public interface OnFragmentInteractionListener {
    // TODO: Update argument type and name
    void onFragmentInteraction(Uri uri);
}
但是,在我的活动中,我未能删除对此
OnFragmentInteractionListener
的引用:

public class MainActivity extends AppCompatActivity implements
        MyFragment.OnFragmentInteractionListener {

奇怪的是,我没有给出表明找不到
OnFragmentInteractionListener
的错误,而是收到了上面的“无法解析以下类的超类型”没有对类的引用。

在我的例子中,我转到项目结构并将所有firebase依赖项更新为最新和最高版本。目前,以下是其版本的实现:

    implementation 'com.google.firebase:firebase-auth:19.3.1'
    implementation 'com.google.firebase:firebase-database:19.3.1'
    implementation 'com.google.firebase:firebase-storage:19.1.1'
    implementation 'com.google.firebase:firebase-analytics:17.4.3'

清理项目并重建它这对我来说很有效

在我的情况下,这个错误会随机发生,通常在通过Android Studio执行的过程中发生

根本原因是我的Activity类扩展了另一个嵌套包中的一些接口:

套餐电视活动

buildscript {
ext.kotlin_version = '1.3.50'
repositories {

    google()
    jcenter()
    mavenCentral()
    maven {
        url "https://maven.google.com"
    }

}
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.3'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
    classpath 'com.google.gms:google-services:4.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {

    google()
    jcenter()
    mavenCentral()
    maven {
        url "https://maven.google.com" // Google's Maven repository
    }

}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
public class MainActivity implements MyListener {

} 
套餐电视.活动.错误

interface MyListener {

}
因此,它通常发生在执行过程中,但在第二次运行后,它会自动解析,因此没有人会费心解析它。有时Android Studio无法识别该接口是可访问的,因此没有显示相同错误的感觉:

Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
    class tv.activities.MainActivity, unresolved supertypes: MyListener
最终解决方案:

buildscript {
ext.kotlin_version = '1.3.50'
repositories {
     maven {
        url "https://maven.google.com"
    }
    google()
    jcenter()
    mavenCentral()


}
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.3'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
    classpath 'com.google.gms:google-services:4.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    maven {
        url "https://maven.google.com" // Google's Maven repository
    }
    google()
    jcenter()
    mavenCentral()


}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
公开界面将永久解决此问题。

public interface MyListener {
}

或者重构包的可访问性,而AS不会混淆我通过从
java(已生成)中删除与
dagger-shilt
相关的文件来解决我的问题
重建
我的项目

在app moduleHi@OlegOsipenko!Post updated!中提供了
build.gradle
的内容。你能解决问题吗?订单为什么重要?gradle.org是否指定我忘记将
Dagger
依赖项添加到我使用的类的模块中。
impleme如果显式地添加到模块中,安装就足够了。(谢谢你的想法,顺便说一句,你让我从几个小时的调试中解脱出来。)这就是首席。你的意思是如果我们通过“将其添加为模块”来使用库,那么我们需要在“应用”中写入该库中定义的依赖项吗模块?为什么?在我的例子中,在尝试访问片段上的方法时发生了此错误。为了避免仅为此错误应用api配置,我刚刚创建了一个接口并在片段上实现它。@24您不想使用
api
,而想保留
实现
?问题在于inheritance使用抽象类。在不将实现更改为api的情况下,是否还有其他解决方法?这对我的情况没有帮助!这并不能回答问题,应该删除。如果你想对帖子发表评论,你应该提供以赢得c所需的声誉