android Data Binding - 命令行构建找不到BR.java文件

时间:2016-05-21 23:42:30

标签: android data-binding android-gradle

通过选择 app / build.gradle 文件

来使用Android数据绑定功能时
android {
    dataBinding {
        enabled = true
    }
}

使用gradlew包装器脚本从命令行调用Gradle构建,或者由于无法找到生成的BR.java文件,本地安装的最新版本失败:

rm -rf build && gradle --stop && gradle clean build
...
:app:compileDevelopmentDebugJavaWithJavac
app/src/main/java/com/mydomain/MyActivity.java:13: error: cannot find symbol
import com.mydomain.BR;
                   ^

...但Android Studio能够很好地引用该文件, 从菜单中选择File > Invalidate Caches / Restart

实际上,在无法从命令行构建之后,该文件存在于磁盘上:

app $ find ./ -name BR.java
.//build/intermediates/classes/development/debug/com/mydomain/BR.java

尝试强制它进入 app / build.gradle 文件中的源集Java目录并没有任何帮助:

android {
    applicationVariants.all { variant ->
        def intermediatesDir = "$project.buildDir/intermediates/classes/${variant.dirName}/"
        android.sourceSets.main.java.srcDirs += intermediatesDir
    }
}

我非常希望继续从命令行构建我的项目,以便应用程序不会被Android Studio构建。

在使用Android数据绑定功能时,如何在源文件中引用BR.java时从命令行构建?

1 个答案:

答案 0 :(得分:0)