2015-09-18 9 views
5

Kiedy zbudować aplikację Android, plik R.java wykorzystywana do odwołania zasobów w kodzie jest generowane w następującej lokalizacji:Gdzie znajdują się wygenerowane klasy powiązań danych?

/app/build/generowany/źródło/r/debug/com/example/R. java

Mam świadomość, że nowa biblioteka powiązań danych Androida działa w podobny sposób, generując klasy wiążące w oparciu o nazwy plików układu podczas procesu kompilacji. Na przykład ten układ nazwany 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> 

powinien wygenerować klasę o nazwie ViewDrawerPageHeaderBinding. Dokumentacja ta będzie znajdować się w pakiecie . Jeśli jednak po zbudowaniu przeszukuję mój projekt pod kątem pliku o tej nazwie, nie otrzymam wyników. Aplikacja działa dobrze na urządzeniach, więc zakładam, że wygenerowane pliki są częścią ostatecznego pliku .apk. Czy można sprawdzić ich zawartość?

To samo pytanie dotyczy np. wygenerowana klasa BR, używana do odniesienia do aktualizowalnych właściwości Observable z adnotacją @Bindable.

Odpowiedz

11

Po kilka poking, że odkryła wygenerowane pliki w następujących miejscach:

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

i

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

+0

W Android Studio 3.0 znajdziesz tam tylko pliki .class. Pliki java znajdują się teraz w '\ MODULE \ build \ generated \ source \ apt \ debug \ com \ example \ PACKAGE' –