2015-12-20 6 views
13

Sto cercando di implementare l'associazione dati nell'app Android. This è il link che sto seguendo per configurarlo. Anche dopo aver fatto tutti gli attrezzi necessari, sto ottenendo il seguente errore in Gradle-build:Utilizzo di associazione dati nell'errore di Android: pacchetto *. *. L'associazione dati non esiste

error: package com.example.satpracticeapp.databinding does not exist.

(Questo pacchetto è quello che sto importando nel mio file MainActivity.java) ho provato this (i dati -binding compilatore), ma non ha funzionato.

Il problema è che ho già provato con successo un'app hello-world utilizzando l'associazione dati e funziona. Ma quando cerco di implementarlo in un'app che ho realizzato poche settimane fa, ho ricevuto l'errore che ho menzionato sopra. Cercando le soluzioni, ho copiato i file gradle dalla mia app hello world di successo alla mia vecchia app, anche questo non ha funzionato.

Ecco la mia app livello build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.example.satpracticeapp" 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    dataBinding { 
     enabled = true 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.android.support:design:23.1.0' 
} 

Ed ecco la buildscript del file di progetto di livello build.gradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 
    } 
} 

Ecco i link al sito minimo dei tre file (se è necessario)

  1. MainActivity.java
  2. ViewModel.java
  3. activity_main.xml

Dopo molte tirate di capelli, non riuscivo a capire la soluzione e ottenere più e più volte lo stesso errore di generazione. Quindi, come soluzione temporanea, sto provando a copiare e incollare le mie classi e i miei layout nel progetto di lavoro Hello World. Cosa mi manca?

EDIT:

Dopo alcune ore di ricerche inutili, sono tornato al mio codice. Controllato parola per parola e trovato un errore di battitura al nome di una variabile vincolante nel file xml. Adesso tutto funziona bene!

+0

Ho avuto problemi simili. Risulta che Dagger 2.3 e Gradle 2.0 con la libreria di databinding causano alcuni errori di compilazione. In alcuni casi il downgrade del pugnale a 2.2 sembra essere d'aiuto. – VsMaX

risposta

1

Ho avuto lo stesso problema, si è rivelato essere una dichiarazione di simbolo duplicata in una delle mie classi * .java. È mostrato nella console Gradle ma era un po 'nascosto tra gli errori di associazione. ho avuto circa 72 errori di associazione dati e questo errore di simbolo duplicato era nel mezzo, quindi è facile perdere.

Problemi correlati