升级 Android Studio 2.3 后 DataBinding 不工作
DataBinding not working after Upgrade 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 并没有改变任何东西。所有插件都是最新的!现在我的问题是,为什么会出现这个错误,我该如何解决?欢迎任何帮助!
英语不是我的母语;请原谅我的任何错误。
编辑1
喜欢android项目googlesamples/android-architecture
git checkout todo-databinding
- 然后运行
./gradlew assembleDebug
构建,构建失败因为以下错误:
complete log of build
EDIT2 我已经按照 Data Binding broke after upgrade to 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-Zad Prasla,谢谢!
两件事
将你的 gradel-wrapper.properties distributionUrl 还原为 "https://services.gradle.org/distributions/gradle-2.14.1-all.zip"
将 gradle 版本类路径更改为以前版本“'com.android.tools.build:gradle:2.2.3'”
P.S。 Instant 运行 将停止使用旧 gradle 版本的 ADT。
问题出现在一个很难在所有错误中看到的警告中:
警告:使用不兼容的插件进行注释处理:android-apt。这可能会导致意外行为。
如果您删除 apt,数据绑定将起作用。
更新到 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
还原 build.gradle 中的 GoBind 插件:
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 的系统。
android-apt
因此使用 apt
自 Android Studio 2.2 以来已被弃用。
在 android-apt migration guide 之后,将以下内容添加到您的 build.gradle
:
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0' // use same gradle version!
annotationProcessor 'com.android.databinding:compiler:2.3.0'
}
如果您使用的是 Kolin,请改用:
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'
}
我也遇到了同样的问题。
我用的是 ButterKnife 和 Dagger!!
解决如下
1) 从应用级别 gradle 文件中删除:
apply plugin: 'android-apt'
or apply plugin: 'com.neenbedankt.android-apt'
2) 从项目级别 gradle 文件中删除:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
3) 只需将 "apt to annotationProcessor" 更改为以下依赖项:
apt 'com.jakewharton:butterknife-compiler:8.5.1',
apt "com.google.dagger:dagger-compiler:2.5"
收件人:
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1',
annotationProcessor "com.google.dagger:dagger-compiler:2.5"
我最近也下载了最新版本的 android studio 2.3.3,因为我在 2.2.3 版中遇到了同样的错误,即 错误:解析失败:com.android.databinding:compiler:2.2.3 ,即使在最新版本中,我也遇到了同样的错误,我检查了项目结构,在 File>Project Structure>Project,Android插件版本还是2.2.3,我改成2.3.3,构建成功,一切正常。
我通过将 gradle 的版本更改为:
解决了这个问题
classpath 'com.android.tools.build:gradle:3.0.1'
因为我使用的是 Android Studio 3.0.1
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 并没有改变任何东西。所有插件都是最新的!现在我的问题是,为什么会出现这个错误,我该如何解决?欢迎任何帮助!
英语不是我的母语;请原谅我的任何错误。
编辑1
喜欢android项目googlesamples/android-architecture
git checkout todo-databinding
- 然后运行
./gradlew assembleDebug
构建,构建失败因为以下错误:
complete log of build
EDIT2 我已经按照 Data Binding broke after upgrade to 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-Zad Prasla,谢谢!
两件事 将你的 gradel-wrapper.properties distributionUrl 还原为 "https://services.gradle.org/distributions/gradle-2.14.1-all.zip" 将 gradle 版本类路径更改为以前版本“'com.android.tools.build:gradle:2.2.3'”
P.S。 Instant 运行 将停止使用旧 gradle 版本的 ADT。
问题出现在一个很难在所有错误中看到的警告中:
警告:使用不兼容的插件进行注释处理:android-apt。这可能会导致意外行为。
如果您删除 apt,数据绑定将起作用。
更新到 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
还原 build.gradle 中的 GoBind 插件:
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 的系统。
android-apt
因此使用 apt
自 Android Studio 2.2 以来已被弃用。
在 android-apt migration guide 之后,将以下内容添加到您的 build.gradle
:
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0' // use same gradle version!
annotationProcessor 'com.android.databinding:compiler:2.3.0'
}
如果您使用的是 Kolin,请改用:
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'
}
我也遇到了同样的问题。 我用的是 ButterKnife 和 Dagger!!
解决如下
1) 从应用级别 gradle 文件中删除:
apply plugin: 'android-apt'
or apply plugin: 'com.neenbedankt.android-apt'
2) 从项目级别 gradle 文件中删除:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
3) 只需将 "apt to annotationProcessor" 更改为以下依赖项:
apt 'com.jakewharton:butterknife-compiler:8.5.1',
apt "com.google.dagger:dagger-compiler:2.5"
收件人:
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1',
annotationProcessor "com.google.dagger:dagger-compiler:2.5"
我最近也下载了最新版本的 android studio 2.3.3,因为我在 2.2.3 版中遇到了同样的错误,即 错误:解析失败:com.android.databinding:compiler:2.2.3 ,即使在最新版本中,我也遇到了同样的错误,我检查了项目结构,在 File>Project Structure>Project,Android插件版本还是2.2.3,我改成2.3.3,构建成功,一切正常。
我通过将 gradle 的版本更改为:
解决了这个问题classpath 'com.android.tools.build:gradle:3.0.1'
因为我使用的是 Android Studio 3.0.1