web-dev-qa-db-fra.com

Impossible d'accéder à la classe ActivityCompatApi23

J'ai des problèmes d'exécution avec mon fichier Gradle. J'ai ajouté ce compile 'com.google.Android:flexbox:0.3.1' comme dépendance à la compilation à mon fichier Gradle. J'ai rencontré une erreur et l'ai ajoutée dans mon fichier Gradle au niveau du projet.

maven {
            url "https://maven.google.com"
        }

Ce qui a finalement ressemblé à ceci après avoir ajouté ce qui précède

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

Après avoir ajouté ce qui précède dans mon fichier Gradle au niveau de l'application, je rencontre maintenant une erreur différente lorsque j'essaie d'exécuter mon application. J'ai donc fait ce qui suit selon certaines réponses de SO.

  1. Essayé de nettoyer et de reconstruire.
  2. Accédez au chemin projectName\.idea\libraries et supprimez les fichiers contenant la version de la bibliothèque de support autre que la version actuelle 25.3.13.Pour résoudre l'erreur, j'ai supprimé cette ligne de mon fichier Gradle au niveau de l'application,

    androidTestCompile ('com.Android.support.test.espresso: espresso-core: 2.2.2', { groupe d'exclusion: 'com.Android.support', module: 'annotations-support' })

Maintenant, le fichier Gradle final ressemble à ceci avec l'erreur,

Erreur: 

Error:(28, 8) error: cannot access ActivityCompatApi23
class file for Android.support.v4.app.ActivityCompatApi23 not found

Mon fichier Gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.test"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile 'com.Android.support:appcompat-v7:25.3.1'
    compile 'com.Android.support:design:25.3.1'
    compile 'com.Android.support:cardview-v7:25.3.1'
    compile 'com.Android.support:support-v4:25.3.1'
    compile 'com.google.Android:flexbox:0.3.1'
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
    testCompile 'junit:junit:4.12'
}
5
GeekDroid

Vous avez déclaré compileSdkVersion égal à 25, alors que 0.3.1 version de flexbox layout utilise support libs version 26.0.0 - c'est un problème, compileSdkVersion doit correspondre à la version majeure de support libs.

Mettez à niveau votre projet à 26 ou utilisez une version de la structure flexbox qui repose sur sdk 25, qui semble être la v0.2.7:

compile 'com.google.Android:flexbox:0.2.7'
3
azizbekian

J'aime le problème que je rencontre

Quand j'utilise Android Room comme ceci: 

compileSdkVersion 25 compiler "Android.Arch.persistence.room:runtime:1.0.0"

J'ai la même erreur.

Parce que compileSdkVersion doit correspondre à la version majeure de support libs.

Plus de détails, vous pouvez voir ceci: Erreur de support après la persistance de la pièce

Room dépend de 26.1 des bibliothèques de support, ce qui explique probablement pourquoi elle est cassée car SupportLibrary ne promet pas d’interopérabilité entre les versions.

Aussi, vous pouvez résoudre le problème utiliser cette 

compile ("Android.Arch.persistence.room:runtime:1.0.0") {
                exclude group: 'com.Android.support'
}

5
Tony

utilisation 

compile 'com.Android.support:appcompat-v7:26.1.0'
0
user1075359