web-dev-qa-db-fra.com

erreur: impossible de trouver la classe de symboles DataBindingComponent

J'ai téléchargé un projet Android, mais j'obtiens cette erreur:

Error:(42, 42) error: cannot find symbol class DataBindingComponent

Exemple d'importation:

import Android.databinding.DataBindingComponent; // no code-time error
import Android.databinding.DataBindingUtil;
import Android.databinding.ViewDataBinding;

Exemple d'utilisation:

public FragmentFantasyPointsSingleBinding(DataBindingComponent bindingComponent, View root) {
        super(bindingComponent, root, 0);
        Object[] bindings = ViewDataBinding.mapBindings(bindingComponent, root, 4, sIncludes, sViewsWithIds);
        this.animationView = (LottieAnimationView) bindings[3];
        this.mboundView0 = (FrameLayout) bindings[0];
        this.mboundView0.setTag(null);
        this.progressView = (LinearLayout) bindings[2];
        this.recyclerView = (RecyclerView) bindings[1];
        setRootTag(root);
        invalidateAll();
    }

Il n'y a pas d'erreur sur le code, mais sur la compilation, j'obtiens l'erreur que j'ai mentionnée.

Lorsque j'essaie de passer à la définition sur Android Studio, je ne peux pas.

Niveau de construction de l'application:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.esports.flank"
        minSdkVersion 19
        targetSdkVersion 26
        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'
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.Android.support:appcompat-v7:26.1.0'
    implementation 'com.Android.support.constraint:constraint-layout:1.1.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'
    compile 'com.Android.support:support-annotations:26.1.0'
    compile "com.Android.support:appcompat-v7:26.1.0"
    compile "com.Android.support:recyclerview-v7:26.1.0"
    implementation 'com.Android.support:cardview-v7:26.1.0'
    implementation 'com.github.bumptech.glide:glide:4.7.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    compile('com.Twitter.sdk.Android:Twitter:3.3.0@aar') {
        transitive = true
    }
    compile 'com.Microsoft.Azure:azure-mobile-Android:3.4.0@aar'
    implementation 'com.airbnb.Android:lottie:2.5.5'
    compile 'com.github.ybq:Android-SpinKit:1.1.0'
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
    compile 'com.romandanylyk:pageindicatorview:1.0.1@aar'
    api 'com.google.guava:guava:26.0-Android'
    compile 'com.Android.support:design:26.1.0'
    implementation 'com.wajahatkarim3.EasyFlipView:EasyFlipView:2.1.0'
}

J'ai essayé de nettoyer et de reconstruire le projet, pas de chance pour l'instant.

Merci pour l'aide.

3

Cette réponse m'a aidé dans un cas similaire: https://stackoverflow.com/a/52550118/8655667

  1. Ajouter des lignes Android.enableExperimentalFeatureDatabinding=true et Android.databinding.enableV2=false à gradle.properties
  2. Projet de synchronisation
  3. Construire -> Projet propre
  4. Construire -> Reconstruire le projet

Après la reconstruction, il devrait vous donner le motif réel de l’échec de la compilation.

6
cora32

Dans mon cas, le problème était dû au fait que j'avais déplacé un ViewModel de son paquet "répertoire" d'origine vers un nouveau répertoire créé pour nettoyer mon projet. J'ai aussi eu quelques autres erreurs.

J'avais cliqué à plusieurs reprises sur "Make Project" pour localiser les problèmes d'importation jusqu'à ce qu'ils soient tous nettoyés, mais les erreurs restantes ne figuraient pas dans les fichiers XML pertinents que j'avais trouvés avec Windows GREP.

J'ai ouvert les fichiers XML associés et constaté que la variable faisait toujours référence au chemin d'origine (notez que les "<" et ">" ne sont pas affichés car je ne sais pas comment les échapper):

nom de variable = "viewModel" type = "original.project.path.name"

Je l'ai changé pour:

nom de variable = "viewModel" type = "new.project.path.name"

Cela a corrigé ma version de ce problème.

0
Jeff