2015-12-20 12 views
13

Próbuję zaimplementować powiązanie danych w aplikacji na Androida. This to link, który obserwuję, aby go skonfigurować. Nawet po wykonaniu wszystkich niezbędnych narzędzi, Dostaję następujący błąd w Gradle-build:Używanie powiązania danych w błędzie Androida: pakiet *. *. Databinding nie istnieje

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

(Ten pakiet jest to, co mam w moim pliku importu MainActivity.java) Próbowałem this (dane -binding kompilator), ale nie działało.

Problem polega na tym, że już z powodzeniem wypróbowałem aplikację hello-world wykorzystującą powiązanie danych i działa. Ale kiedy próbuję go zaimplementować w aplikacji, którą zrobiłem kilka tygodni temu, pojawia się błąd, o którym wspomniałem powyżej. Szukając rozwiązań, skopiowałem-wkleiłem pliki gradle z mojej udanej aplikacji na świat hello do mojej starej aplikacji - to też nie wyszło.

Oto mój poziom aplikacja 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' 
} 

A oto buildscript pliku poziom build.gradle projektu:

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

Oto linki do minimalnej wersji trzeciej pliki (jeśli to konieczne)

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

Po długich włosów ciągnięcie, nie mogę wymyślić rozwiązanie i znowu i znowu się ten sam błąd kompilacji. Jako tymczasowe rozwiązanie próbuję skopiować i wkleić moje klasy i układy w projekcie roboczym "Cześć świat". czego mi brakuje?

EDIT:

Po kilku godzinach poszukiwań bezcelowym, wróciłem do mojego kodu. Sprawdzał słowo po słowie i znalazł błąd w pisaniu pod nazwą zmiennej wiążącej w pliku xml. Wszystko działa dobrze teraz!

+0

Miałem podobne problemy. Okazuje się, że Dagger 2.3 i Gradle 2.0 z biblioteką biblioteki danych powodują pewne błędy kompilacji. Obniżenie sztyletu do 2.2 wydaje się być pomocne w niektórych przypadkach. – VsMaX

Odpowiedz

1

Miałem ten sam problem, okazało się duplikatem deklaracji symbolu w jednym z moich zajęć * .java. Jest to pokazane w konsoli Gradle, ale było trochę ukryte wśród błędów związanych z pamięcią danych. Miałem około 72 błędów wiążących dane, a ten błąd w postaci duplikatu był pośrodku, więc łatwo go przeoczyć.

Powiązane problemy