ver recuperar rastro que persona otro otra mensajes los historial eliminar eliminan dejar definitivamente conversaciones como celular borrar borrados android logging obfuscation proguard

android - rastro - como recuperar mensajes que eliminan de whatsapp



Android Proguard no elimina todos los mensajes de registro (4)

Esto solo elimina todo el debug Log.d(TAG, "..."); y error Log.e(TAG, "...") llama:

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

Para eliminar todas las llamadas de registro, simplemente use esto:

-assumenosideeffects class android.util.Log { *; }

Quiero crear una aplicación de Android ofuscada. Yo uso ProGuard para eso. Me gustaría eliminar automáticamente todos los mensajes de Log. *. ¿Cómo puedo hacer eso? Encontré this post pero todavía los recibo. (Yo uso un descompilador para comprobar la ofuscación).
El proguard-project.txt es el siguiente:

-injars libs/In.jar -outjars libs/Out.jar #-libraryjars <java.home>/lib/rt.jar -libraryjars C:/Users/thomas/android-sdks/platforms/android-7/android.jar -dontpreverify -repackageclasses '''' -allowaccessmodification -optimizations !code/simplification/arithmetic -renamesourcefileattribute SourceFile -keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod -keep public class * { public protected *; } -keepclassmembernames class * { java.lang.Class class$(java.lang.String); java.lang.Class class$(java.lang.String, boolean); } -keepclasseswithmembernames class * { native <methods>; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } -assumenosideeffects class android.util.Log { public static *** d(...); public static *** e(...); }

Cualquier ayuda sería apreciada.
Gracias.


La configuración por defecto de Android Proguard desactiva la optimización. Para habilitarlo, en el archivo project.properties de su proyecto use proguard-android-optimize.txt en lugar de proguard-android.txt


Para cualquier persona que no pueda envolver su cabeza alrededor de la guardia profesional, debes asegurarte de hacer dos cosas.

1: De @yorkw

-assumenosideeffects class android.util.Log { *; }

2: De @Gallal

En el archivo project.properties de su proyecto use:

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

en lugar de

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

Esto se debe a que tiene dos opciones de programación "listas para usar" ya que están incluidas en el SDK.

android-adk > tools > proguard

Que contiene dos archivos:

proguard-android.txt proguard-android-optimize.txt

Espero que ayude a alguien más en la línea.


Si tiene Android Studio, debe modificar el build.gradle de su aplicación principal.

En su archivo de gradle, debe especificar el uso de proguard-android-optimize.txt como archivo predeterminado.

buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(''proguard-android-optimize.txt''), ''proguard-rules.pro'' // With the file below, it does not work! //proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } }

En realidad, en el proguard-android.txt predeterminado proguard-android.txt , la optimización está deshabilitada con las dos marcas:

-dontoptimize -dontpreverify

El proguard-android-optimize.txt no agrega esas líneas, por lo que ahora puede funcionar con assumenosideeffects .

Luego, como se dijo en otras respuestas para Eclipse o de otra manera, solo tiene que agregar a su archivo principal de progenard la línea:

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