Android 错误:无法解析以下类的超类型。请确保在类路径中具有所需的依赖项
我无法编译我的Android Kotlin项目 我不知道这是什么 渐变日志: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
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所需的声誉