2016-05-09 18 views
8

In studio Android 2.1, i messaggi di errore a tempo di compilazione da errori XML sono completamente non-utile:androide Data binding: come ottenere i messaggi di errore utili

Error:(11, 41) error: package mypackage.databinding does not exist 
Error:(15, 13) error: cannot find symbol class MyActivityBinding 

Il vero errore di solito è qualcosa come "non c'è tale attributo android:adapter "o" variabile foo non contiene la barra delle proprietà "o qualcosa del genere. Ma invece di mostrare effettivamente tali errori, mostra quelli non utili sopra, che ti dicono solo che i binding non sono stati generati a causa di un errore sconosciuto.

risposta

0

Un modo per ottenere l'errore corretto è quello di eseguire Gradle in un terminale con '--info', come:

gradle :app:build --info 

che non è esattamente integrato in AS, quindi non posso davvero accettare che la risposta .

3

Non c'è un modo semplice per ora. In generale, se si affrontano errori di compilazione e messaggi di errore puntare a mancare le classi di databinding, di solito è un riferimento errato dal layout (ad esempio si tenta di accedere alle classi dei membri che si assegnano non si espongono, di solito accade quando si usa il c & layout).

Ancora peggio, quando si utilizzano altre librerie di generazione di codice (Icepick, Butterknife, ecc.), Il vero colpevole può essere spesso in codice completamente estraneo al binding. Quindi, quando qualcosa del genere si verifica nel mio codice, di solito controllo la vista Gradle Console e la rilevo dalla fine, ignorando tutti i messaggi di errore relativi al databinding come "classe mancante" o "pacchetto inesistente"

Problemi correlati