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 **
)
- Android proguard error com.google.ads.util.i: y setMediaPlaybackRequiresUserGesture (booleano)
- Proguard para ofuscar el código de Android con la biblioteca DNSJava
- Configurar proguard para excluir jar biblioteca que se extiende android.content.Context
- La ofuscación de Proguard está rompiendo simplexml
- Proguard no obstruye las aplicaciones de Android
-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?
- Retrofit2 proguard remove param
- La aplicación en la liberación se bloquea, mientras que en depuración no
- ProGuard no puede encontrar bibliotecas de referencia
- Proguard error si uso itext Library jar
- ¿Por qué debería deshabilitar ProGuard para vending.billing?
- Exportación de un proyecto de Android durante el uso de proguard en adt & sdk 20
- Proguard.ParseException: Esperando el nombre del miembro de la clase antes de '@' en Android Eclipse ADT
- Problemas con el uso de la biblioteca jackson-json al usar 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(...); }
- Android studio después de cambiar el nombre del paquete que arroja No se ha encontrado ningún cliente coincidente
- Preferencias compartidas "límite"