当我构建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
属性。
答案 0 :(得分:13)
经过多次讨论后,我在以下位置挖掘了生成的文件:
/app/build/intermediates/classes/debug/com/example/databinding/ViewDrawerPageHeaderBinding.java
和
/app/build/intermediates/classes/debug/com/example/BR.java