es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para especificar las clases en el archivo Proguard.Conf para la ofuscación, puede utilizar las directivas -keep y -keepclassmembers. Estas directivas le indican a Proguard que mantenga las clases especificadas y sus miembros en lugar de ofuscarlos.

    Por ejemplo, para mantener una sola clase, puede agregar la siguiente línea a su archivo Proguard.Conf:

    -keep class com.example.MyClass
    

    Para mantener varias clases, puede utilizar comodines:

    -keep class com.example.* {*;}
    

    Esto mantendrá todas las clases en el paquete com.example.

    Para empaquetar el resto de las clases sin ofuscación, puede usar la directiva -dontobfuscate. Esto le indica a Proguard que no ofusque ninguna clase que no esté especificada en las directivas -keep y -keepclassmembers.

    -dontobfuscate
    

    Asegúrese de agregar estas directivas en el archivo pom.xml de Maven en la sección de configuración de proguard-maven-plugin, de esta manera:

    <build>
        <plugins>
            <plugin>
                <groupid>com.github.wvengen</groupid>
                <artifactid>proguard-maven-plugin</artifactid>
                <version>2.0.14</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals><goal>proguard</goal></goals>
                    </execution>
                </executions>
                <configuration>
                    <obfuscate>true</obfuscate>
                    <injar>${project.build.finalName}.jar</injar>
                    <outjar>${project.build.finalName}-small.jar</outjar>
                    <outputdirectory>${project.build.directory}</outputdirectory>
                    <proguardversion>6.2.2</proguardversion>
                    <options>
                        <option>-keep class com.example.MyClass</option>
                        <option>-keep class com.example.* {*;}</option>
                        <option>-dontobfuscate</option>
                    </options>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    Asegúrese de reemplazar com.example.MyClass y com.example por su paquete y nombres de clase. Espero que esto le ayude a ofuscar y empaquetar algunas de sus clases mientras mantiene las demás sin ofuscación.

Comments are closed.