17

DataBinding在我的项目中工作得很好,但今天升级Android Studio 2.3之后。 运行“应用”失败,因为以下错误:升级后的DataBinding无法工作Android Studio 2.3

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-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山@萨 - 扎德Prasla,谢谢!

+0

我有android.databinding.PropertyChangeRegistry类似的问题。它在导入语句中给我一个错误,我无法编译该项目。当我恢复到Build Tools 2.2.3时,它可以工作。我认为2.3上的数据绑定有问题。 – petrnohejl

+0

你是否看到其他错误? –

+0

另外,您的配置中是否还有其他不同之处,比如apt? –

回答

14

android-apt因此使用apt已被弃用,因为Android Studio 2.2。
android-apt migration guide,而不是添加以下到您的build.gradle

dependencies { 
    annotationProcessor 'com.android.databinding:compiler:2.3.0' 
} 

如果使用的是歌林,改用:

apply plugin: 'kotlin-kapt' 

dependencies { 
    kapt 'com.android.databinding:compiler:2.3.0' 
} 
+0

不工作,错误仍在继续。为什么? –

+0

它为我工作时,除了这种变化,我也将gradle版本降级到2.3.0 依赖项classpath'com.android.tools.build:gradle:2.3.0' } – Tushar

0

两件事情 恢复您的gradel-wrapper.properties distributionUrl为“https://services.gradle.org/distributions/gradle-2.14.1-all.zip” 的gradle这个版本的类路径更改为以前的版本“ 'com.android.tools.build:gradle:2.2.3'“

PS即时运行将停止使用旧版gradle版本的ADT。

+0

Hi @ Sa-Zad Prasla,回复我的gradle版本是工作,但不是最好的解决方案,谢谢你的回复。 –

2

的问题是在一个警告,很难看到在所有的错误:

警告:使用了注释处理不兼容的插件:Android的贴切。这可能会导致意外的行为。

如果删除apt,数据绑定就可以工作。

+1

add'apt'com.android.databinding:compiler:2.3.0'' build.gradle。现在一切都好,即时运行。是导致错误的数据绑定编译器的版本? –

1

Android Studio v2.3更新后,数据绑定也破灭了。 GoLang Bind插件无法生成库.aar文件

我们的问题已通过GoMobile版本“+ eb90329 2017年3月7日”更新和GoBind插件恢复为版本“0.2.6”(尽管当前版本为“0.2。8" )

更新GoMobile:

$ go get -u -x golang.org/x/mobile/cmd/gomobile 
    $ gomobile init -x 

还原戈宾德插件中的build.gradle:

plugins { 
    id "org.golang.mobile.bind" version "0.2.6" 
    } 

该方案正在与去版本1.7.1和1.8系统以及Android的Studio版本2.1.2,2.2.3和2.3

2

我也面临着同样的问题。 我正在使用黄油刀和匕首!

解决如下

1)从应用层面gradle这个文件中删除:

应用插件: 'Android的易' 或应用插件: 'com.neenbedankt.android-容易'

2)从项目层面gradle这个文件中删除:

类路径 'com.neenbedankt.gradle.plugins:Android的贴切:1.8'

3)和简单地改变 “容易annotationProcessorchange” 为以下相关:

易于 'com.jakewharton:butterknife编译:8.5.1', 易于 “com.google.dagger:匕首编译:2.5”

要:

annotationProcessor 'com.jakewharton:butterknife编译:8.5.1', annotationProcessor “com.google.dagger:匕首编译器:2.5”

0

我太最近下载了最新版本的Android 2.3工作室的.3,因为我在版本2.2.3中遇到了同样的错误,例如错误:无法解析:com.android.databinding:编译器:2.2.3,即使在最新版本中,我也遇到同样的错误,我检查了项目结构,在File> Project Structure> Project, Android插件版本仍然是2.2.3,我将其更改为2.3.3,并且构建成功并且一切正常。

0

我改变我的Gradle版本来解决这个问题:

classpath 'com.android.tools.build:gradle:3.0.1' 

由于我使用的是Android 3.0.1工作室

相关问题