生成的数据绑定类位于何处?

时间:2015-09-18 14:43:04

标签: android android-databinding

当我构建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包中的文档mentions。但是,如果我在构建后在项目中搜索具有此名称的文件,则不会得到任何结果。该应用程序在设备上运行良好,所以我假设生成的文件是最终.apk的一部分。是否可以检查其内容?

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

1 个答案:

答案 0 :(得分:13)

经过多次讨论后,我在以下位置挖掘了生成的文件:

  

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

  

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