错误:程序类型已存在:android.support.v4.app.ActivityCompat $ OnRequestPermissionsResultCallback

时间:2018-10-01 20:09:01

标签: android

当我尝试运行我的应用程序时出现此错误:

  

错误:程序类型已存在:android.support.v4.app.ActivityCompat $ OnRequestPermissionsResultCallback

这是我的build.gradle(app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.madhvi.electric"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.firebase:firebase-auth:9.0.2'
    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'
}
apply plugin: 'com.google.gms.google-services'


这是我的build.gradle(project)

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

buildscript {
    
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath 'com.google.gms:google-services:3.0.0'

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

任何解决此问题的方法?我当然已经尝试了一切,但是我是新手,除了控制台说什么,我真的不知道导致错误的原因

3 个答案:

答案 0 :(得分:0)

在您的应用程序中启用multidex

在应用程序级别build.gradle依赖项中添加它:

implementation 'com.android.support:multidex:1.0.3'

在defaultConfig中添加它:

defaultConfig {
        applicationId "com.example.madhvi.electric"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true // ADD THIS LINE
}

答案 1 :(得分:0)

当我迁移到androidx时遇到了这个问题,问题是我两次包含相同的内容。尝试删除最后一个软件包并再次同步。如果这不起作用,请一次删除一个,以查看引起冲突的原因。

答案 2 :(得分:0)

某些使用较旧支持版本的旧库。

使用此命令检查冲突的依赖项。/gradlewapp:dependencies

然后删除所有像这样的冲突依赖项

 implementation ('com.jakewharton:butterknife:8.8.1'){
    exclude group: 'com.android.support'
}
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

这对我有用。