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.
Cette réponse m'a aidé dans un cas similaire: https://stackoverflow.com/a/52550118/8655667
Android.enableExperimentalFeatureDatabinding=true
et Android.databinding.enableV2=false
à gradle.properties
Après la reconstruction, il devrait vous donner le motif réel de l’échec de la compilation.
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.