Cómo configurar proguard para eliminar SOLAMENTE llamadas de registro de android

Estoy tratando de configurar proguard para eliminar SOLAMENTE las llamadas a android.util.Log de mi aplicación para Android (para la versión de compilación). Yo específicamente no quiero proguard para hacer cualquier ofuscación o minificación del código.

Esta es la configuración que he intentado, pero no quita las llamadas de Log (supongo que debido a la -keep class ** )

 -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod -keep class ** { *; } -assumenosideeffects class android.util.Log { *; } 

¿Es lo que estoy pidiendo incluso posible con proguard?

Puede eliminar las llamadas de registro con esta opción en proguard-project.txt :

 -assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); } 

Esta opción sólo es relevante si la optimización no está desactivada, como en proguard-android.txt . proguard-android-optimize.txt especificar proguard-android-optimize.txt lugar de ello, en project.properties :

 proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt 

Puedes deshabilitar el encogimiento y la ofuscación si lo deseas. También puede conservar la API interna de su aplicación desde la optimización si lo desea:

 -keep class myapp.** { *; } 

Desactivar estos pasos y mantener todo el código por supuesto no es óptimo desde un punto de vista de ProGuard.

En build.gradle

 buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } 

En proguard-rules.pro

 -dontwarn ** -target 1.7 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!code/allocation/variable -keep class ** -keepclassmembers class *{*;} -keepattributes * #This will not remove error log -assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); } 
  • ProGuard y SharedPreferences
  • Android proguard obfuscated código está causando NullPointerException cuando realmente no debe ser
  • NoClassDefFoundError: android.support.design.internal.NavigationMenu en Android 4.2.2 (wiko)
  • Proguard ParseException con Predeterminado proguard.cfg en Android
  • Android Build falla al usar Proguard y Gradle
  • Recurso no encontrado excepción después de ejecutar proguard
  • Cómo especificar lesiones para proguard dentro de android gradle archivos de compilación para las bibliotecas que se extraen de maven central
  • ¿Qué hace ciertas clases de android "debe-mantener"?
  • Android ProGuard + MultiDex causa ClassNotFoundException
  • Uso de Proguard para Android en Eclipse obtuvo error
  • NoSuchMethodError para VideoView.setOnPreparedListener ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.