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工作室

相關問題