生成的数据绑定 类 位于何处?
Where are generated data binding classes located?
当我构建一个 Android 应用程序时,用于在代码中引用资源的文件 R.java
生成在以下位置:
/app/build/generated/source/r/debug/com/example/R.java
我的理解是新的 Android 数据绑定库以类似的方式工作,在构建过程中根据布局文件名生成绑定 classes。例如,此布局名为 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
的 class。这个 class 将位于 com.example.databinding
包中的文档 mentions。但是,如果我在构建后在我的项目中搜索具有此名称的文件,我将得不到任何结果。该应用程序在设备上运行良好,因此我假设生成的文件是最终 .apk 的一部分。是否可以检查它们的内容?
同样的问题适用于例如生成的 BR
class,用于引用用 @Bindable
注释注释的可更新 Observable
属性。
经过更多的探索,我在以下位置发现了生成的文件:
/app/build/intermediates/classes/debug/com/example/databinding/ViewDrawerPageHeaderBinding.java
和
/app/build/intermediates/classes/debug/com/example/BR.java
当我构建一个 Android 应用程序时,用于在代码中引用资源的文件 R.java
生成在以下位置:
/app/build/generated/source/r/debug/com/example/R.java
我的理解是新的 Android 数据绑定库以类似的方式工作,在构建过程中根据布局文件名生成绑定 classes。例如,此布局名为 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
的 class。这个 class 将位于 com.example.databinding
包中的文档 mentions。但是,如果我在构建后在我的项目中搜索具有此名称的文件,我将得不到任何结果。该应用程序在设备上运行良好,因此我假设生成的文件是最终 .apk 的一部分。是否可以检查它们的内容?
同样的问题适用于例如生成的 BR
class,用于引用用 @Bindable
注释注释的可更新 Observable
属性。
经过更多的探索,我在以下位置发现了生成的文件:
/app/build/intermediates/classes/debug/com/example/databinding/ViewDrawerPageHeaderBinding.java
和
/app/build/intermediates/classes/debug/com/example/BR.java