Привязка данных не работает после обновления Android Studio 2.3
DataBinding работал очень хорошо в моем проекте, но после обновления Android Studio 2.3 сегодня . запустить 'app' не удалось, потому что следующая ошибка :
Error:(15, 40) Error: package com.javan.myrecorder.databinding not exist.
import com.javan.myrecorder.databinding.FragmentEventsBinding;
:app:compileMockDebugJavaWithJavac FAILED
Я просто обновляю Android studio и ничего не менял. все плагин является последним! Теперь мой вопрос, почему возникает эта ошибка и как ее можно решить? любая помощь приветствуется!
английский-не мой родной язык, пожалуйста, простите любые ошибки на моем часть.
EDIT1
как проект android googlesamples / android-архитектура
-
git checkout todo-databinding
- и затем запустить
./gradlew assembleDebug
построить, построить не удалось из-за следующей ошибки:
EDIT2 я исправил эту проблему, после привязка данных сломалась после обновления до Gradle 2.3.
на build.gradle(app)
добавить
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
..balabala
dependencies {
apt 'com.android.databinding:compiler:2.3.0'
}
какой-то файл в моем проекте:
gradle-wrapper.properties
#Mon Mar 06 10:59:04 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip
@petrnohejl @George Mount @Sa-зад Прасла, спасибо!
7 ответов
android-apt
и, следовательно, используя apt
был устаревшим с Android Studio 2.2.
После Android-apt руководство по миграции, вместо этого добавьте следующее к вашему build.gradle
:
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0' // use same gradle version!
annotationProcessor 'com.android.databinding:compiler:2.3.0'
}
если вы используете Колин, вместо этого используйте:
apply plugin: 'kotlin-kapt'
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0' // use same gradle version!
kapt 'com.android.databinding:compiler:2.3.0'
}
проблема заключается в предупреждении, которое трудно увидеть среди всех ошибок:
предупреждение: использование несовместимых плагинов для обработки аннотаций: android-apt. Это может привести к неожиданному поведению.
Если вы удалите apt, привязка данных работает.
Я также столкнулся с той же проблемой. Я использовал ButterKnife и Кинжал!!
решено следующим образом
1) удалить из приложения уровня gradle файл:
применить плагин: 'android-apt' или применить плагин: 'com.нинбеданкт.android-apt'
2) удалить из файла gradle уровня проекта:
classpath 'com.нинбеданкт.градля.Плагины: android-apt: 1.8'
3) и просто измените "apt на annotationProcessorchange" следующим образом зависимости:
apt ' com.jakewharton: butterknife-компилятор: 8.5.1', apt " com.гуглить.Кинжал:Кинжал-составитель:2.5"
в:
annotationProcessor 'ком.jakewharton: butterknife-компилятор: 8.5.1', annotationProcessor " com.гуглить.Кинжал:Кинжал-составитель:2.5"
привязка данных также сломалась для нас после обновления до Android Studio v2.3. Плагин Golang Bind не смог создать библиотеку .aar
файлы
наша проблема была решена с помощью комбинации обновления GoMobile версии "+ eb90329 Mar 7 2017 "и плагина GoBind вернуться к версии" 0.2.6 "(хотя текущая версия"0.2.8")
Обновление GoMobile:
$ go get -u -x golang.org/x/mobile/cmd/gomobile
$ gomobile init -x
вернуть плагин GoBind в сборке.Gradle в:
plugins {
id "org.golang.mobile.bind" version "0.2.6"
}
Это решение работа над системами с go версии 1.7.1 и 1.8, а также Android Studio версии 2.1.2, 2.2.3 и 2.3.
две вещи Верните обратно свою обертку gradel.свойства distributionUrl к "https://services.gradle.org/distributions/gradle-2.14.1-all.zip" Измените путь к классам gradle version на предыдущую версию " com.андроид.инструменты.сборка: gradle: 2.2.3'"
P.S. Instant run прекратит работу над ADT со старой версией gradle.
Я тоже недавно загрузил последнюю версию Android studio 2.3.3, потому что я получал ту же ошибку в версии 2.2.3 i.e ошибка: не удалось решить: com.андроид.привязка данных:компилятор:2.2.3, даже в последней версии, я получал ту же ошибку,я проверил структуру проекта, в Файл>Структура Проекта>Проект, версия плагина для Android все еще была 2.2.3, я изменил ее на 2.3.3, и сборка прошла успешно, и все работает гладко.
Я решил эту проблему, изменив свою версию gradle на:
classpath 'com.android.tools.build:gradle:3.0.1'
Так как я использую Android Studio 3.0.1