9

当我构建一个 Android 应用程序时,R.java用于在代码中引用资源的文件在以下位置生成:

/app/build/generated/source/r/debug/com/example/R.java

我的理解是,新的 Android 数据绑定库以类似的方式工作,在构建过程中根据布局文件名生成绑定类。例如,此布局名为view_drawer_page_header.xml

<data>
    <variable name="viewModel" type="com.example.ViewModel" />
</data>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- actual layout -->

</LinearLayout>

应该生成一个名为ViewDrawerPageHeaderBinding. 文档提到这个类将位于com.example.databinding包中。但是,如果我在构建后在我的项目中搜索具有此名称的文件,则不会得到任何结果。该应用程序在设备上运行良好,因此我假设生成的文件是最终 .apk 的一部分。是否可以检查它们的内容?

同样的问题适用于例如生成的BR类,用于引用Observable带有注释的可更新属性@Bindable

4

1 回答 1

16

经过一番摸索,我在以下位置挖掘了生成的文件:

/app/build/intermediates/classes/debug/com/example/databinding/ViewDrawerPageHeaderBinding.java

/app/build/intermediates/classes/debug/com/example/BR.java

于 2015-09-18T15:04:09.973 回答