2011-02-28 32 views
7

estoy preparando el lanzamiento de una aplicación en el mercado, en la lectura de la documentación de Google located here se sugiere lo siguiente: Deactivate any calls to Log methods in the source code.¿Existe alguna manera fácil de "desactivar el registro" antes de liberar su aplicación en el mercado?

¿Existe una manera más fácil que tener que ir a través de todos mis archivos de origen y quitar manualmente cada línea ?

Además, ¿por qué eliminar el registro, es un cerdo de recursos?

Respuesta

7

Usted puede hacer esto a través de proguard. En las últimas herramientas y SDK, un archivo de configuración proguard ya debería existir. Christopher respondió esto en un similar question.

La forma más sencilla es probablemente para hacer funcionar su JAR compilado a través ProGuard antes del despliegue, con una configuración como:

-assumenosideeffects class android.util.Log { 
    public static int v(...); 
} 

que la voluntad - aparte de todas las otras optimizaciones ProGuard - eliminar cualquier declaraciones de registro detallado directamente desde el bytecode.

Puede decidir qué logoutputs desea desactivar a través de la adición de

-assumenosideeffects class android.util.Log { 
    public static int d(...); 
    public static int i(...); 
    public static int e(...); 
} 

en el fichero de configuración Proguard también. Me gusta mantener los mensajes .e en mi código porque los que solo se usan en algunas partes de catch quieren disminuir el rendimiento durante la ejecución normal de la aplicación.

Cuestiones relacionadas