【发布时间】:2015-12-20 18:22:02
【问题描述】:
我正在尝试在 Android 应用中实现数据绑定。 This 是我设置它的链接。即使做了所有必要的实现,我在 gradle-build 中收到以下错误:
错误:com.example.satpracticeapp.databinding 包不存在。
(这个包是我在我的 MainActivity.java 文件中导入的) 我试过this(数据绑定编译器),但没用。
问题是我已经成功地尝试了一个使用数据绑定的 hello-world 应用程序并且它可以工作。但是,当我尝试在几周前制作的应用程序中实现它时,我得到了上面提到的错误。在寻找解决方案时,我将 gradle 文件从我成功的 hello world 应用程序复制粘贴到我的旧应用程序 - 这也没有成功。
这是我的应用级 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'
}
这里是项目级 build.gradle 文件的构建脚本:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
这里是三个文件的最小版本的链接(如果需要的话)
在费了很多力气之后,我无法找出解决方案,并且一次又一次地遇到相同的构建错误。 所以,作为一个临时解决方案,我正在尝试将我的类和布局复制粘贴到工作中的 hello world 项目中。我错过了什么?
编辑:
经过几个小时毫无意义的搜索后,我回到了我的代码。逐字逐句检查,发现xml文件中绑定变量的名称有打字错误。 现在一切正常!
【问题讨论】:
-
我也遇到过类似的问题。事实证明,带有数据绑定库的 Dagger 2.3 和 Gradle 2.0 会导致一些编译错误。在某些情况下,将 dagger 降级到 2.2 似乎会有所帮助。
标签: android data-binding