Colección de citas famosas - Slogan de motivación - Cómo ofuscar la biblioteca de unión de Android

Cómo ofuscar la biblioteca de unión de Android

Los proyectos de Android verán estos proyectos

proyectos. ¿propiedad? Este documento se utiliza para abrir el proyecto. ¿Confundido?

proguard-project.txt? Este archivo registra las propiedades de la ofuscación del código.

Para activar el desenfoque, simplemente cambia .

# proguard .config = $ { SDK . dir }/tools/proguard/proguard-Android . proguard-project.tx? Propiedades ofuscadas:

Normalmente, solo necesitamos realizar los pasos anteriores para cumplir con los requisitos. Si existen algunos requisitos especiales y algunas clases o paquetes jar no necesitan ofuscarse. en este momento necesitamos modificar el archivo proguard-project.txt. La siguiente es la experiencia compartida por los internautas que buscaron en Internet:

1. ¿Necesita confundirse en el archivo proguard-project.txt?

Esta es una clase que no necesita ofuscarse en su propio paquete. Si algunas clases llaman a jni, no es necesario ofuscarlo; Además, se producirá un error si se introducen otros proyectos en el proyecto como bibliotecas, estos no se ofuscarán. Algunas clases del proyecto no se deben ofuscar.

Esto es para evitar la entrada de archivos jar de terceros. ¿El proyecto se ofusca?

Además, agregue el texto anterior; de lo contrario, se informará una advertencia en la consola

2. p>-Optimizado a través de 5 niveles de compresión

-dontusemixedcaseclassnames no producirá varios nombres de clases cuando se ofusquen

p>

-dontskipnoppubliclibraryclasses especifica que las clases de bibliotecas no públicas no deberían. ser ignorado.

-No validar previamente sin validación previa

-Detallado

¡Optimizar código/simplificación/clasificación/fusión! *optimización

-mantener la clase pública *extender la actividad de la aplicación Android sin cambios

-Mantener la clase pública *extender android.app.Application

-Mantener la clase pública *extender android.app.Service

-Mantener clase pública*extender contenido de Android

-Mantener clase pública*extiende proveedor de contenido Android.content.

-Mantener clase pública*extiende Android.app.backup.backupagenthelper

-Mantener clase pública *extiende android.preference.Preference

-Mantiene clase pública com.Android.vending. licensing.ilisensingservice

: conserva la interfaz abstracta pública com.asqw.android.Listener{

Protección pública<. Métodos > Todos los métodos no están ofuscados.

}

-Mantener la clase pública com.asqw.android{

public void Start(Java . lang . string); este enfoque es menos confuso.

}

-keepclasswithmembernames clase * {Si todos los miembros de la clase especificada están presentes (después del paso de compresión), proteja los nombres de la clase especificada y de los miembros de la clase.

Local<Methods>

}

-keepclasswithmembers class * {Protege la clase y los miembros de la clase especificados, siempre que todas las clases y los miembros de la clase especificados estén presentes.

Público <init>(android.content.Context, Android.util.attributeset);

}

-keepclasseswithmembers clase * {

public <init>(android.content.Context, android.util.AttributeSet, int);

}

-mantener la clase de miembros de la clase * extender la actividad .app de Android {Proteger a los miembros de la. clase especificada. Si esta clase está protegida, estarán mejor protegidos.

public void * (Android . view . view);

}

-keepclassmembers enumeración * {

public static * * 【 】valores();

valor estático público * de (Java . lang . string);

}

-mantener clase * implementandroid OS . {Proteger el archivo de clase especificado y los miembros de la clase.

SO Android final estático público. Parcelable $Creador*;