2013-05-27 11 views
6

ho notato che l'ActionBarSherlock libreria visualizzare un sacco di informazioni di debug nella mia domanda, semplicemente perché non c'è un sacco di linee in questo modo:Rimozione log ActionBarSherlock quando BuildConfig.DEBUG

if (BuildConfig.DEBUG) 
    Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); 

Fortunatamente, il registro è visualizzato solo sul mio dispositivo di debug. Grazie alla dichiarazione if.
Il grosso problema è che vorrei rimuovere tutto il registro sul dispositivo di debug per mettere a fuoco il mio codice.

so 2 soluzioni per evitare che:

  1. cancellare/modificare tutti i registri della biblioteca
  2. Filtro il logcat in Eclipse.

C'è un modo più semplice per raggiungere questo obiettivo e "falsificare" la libreria dicendo che non ci si trova su un dispositivo di debug? Vorrei davvero evitare le 2 soluzioni di cui sopra.

+0

Hai provato impostato BuildConfig.DEBUG = false? Non è una buona pratica modificare il file BuildConfig ma dovrebbe essere ok durante lo sviluppo – Ethan

+0

quale versione di Sherlock hai? Non riesco a trovare alcun riferimento a BuildConfig.DEBUG – Blackbelt

+0

@blackbelt basta guardare qui: https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock/src/com/actionbarsherlock/ActionBarSherlock.java –

risposta

0

I messaggi di debug verranno visualizzati solo quando l'app è in esecuzione in modalità di debug. Ciò significa che, se non lo hai definito in AndroidManifest.xml, verrà visualizzato solo nelle build di debug.

Una volta creata una build di produzione, questa non verrà visualizzata.

È possibile testare questo impostando manualmente il flag di debug nel file Androidmanifest ed eseguendolo. Vedere anche http://developer.android.com/guide/topics/manifest/application-element.html per i dettagli sulle opzioni nel file manifest.

Detto questo, probabilmente non ti aiuterà molto perché la tua app non verrà eseguita in modalità di debug e non potrai connettere un debugger.

È possibile sostituire tutti i riferimenti a BuildConfig.DEBUG con qualcosa come your.package.name.SherlockConfig.DEBUG e definire lì la variabile di debug. in questo modo puoi abilitare e disabilitare il debug di ActionbarSherlock.

4

Aprire il progetto ActionBarSherlock
Aprire il file /gen/com/actionbarsherlock/BuildConfig.java
e impostare DEBUG = false

+0

Essendo un file generato automaticamente e rigenerato automaticamente, questo non aiuta molto, sfortunatamente. –

+0

@ Gábor non ricostruisce il progetto di libreria dopo che sono state apportate queste modifiche – valerio

Problemi correlati