2010-11-25 11 views
48

He escrito un contenedor sobre Log.java proporcionado por Android. My Class agregará algunas otras características de nivel de aplicación en Logs.Obteniendo el valor "depurable" de androidManifest del código?

Ahora las cosas es que quiero verificar desde el código si "depurable" está configurado a "verdadero" o "falso" en el archivo androidManifest.xml.

¿Puedo hacer eso? Si es así, ¿cómo?

Gracias Todo con anticipación.

+0

Solo tenga en cuenta este ajuste Log: http://stackoverflow.com/questions/4199563/android-util-log-when-publishing-what-can-i-do-not-do – Blundell

Respuesta

98

Utilice PackageManager para obtener un objeto ApplicationInfo en su aplicación, y marque el campo flags para FLAG_DEBUGGABLE.

boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)); 
53

Ahora puede usar el campo booleano estático BuildConfig.DEBUG para lograr lo mismo. Esta clase se genera durante la compilación y se puede ver en su carpeta gen.

+0

Esta es la forma correcta para hacerlo creo herramientas de construcción posterior 17. – jophde

+0

Desde mucho antes .. – Snicolas

+1

Esta es la mejor solución. A diferencia de la respuesta aceptada, esto le da un campo final. De esta forma, el código de depuración que depende de ese indicador se vuelve inalcanzable y el compilador lo elimina. – Broatian

Cuestiones relacionadas