Exportación de un proyecto de Android durante el uso de proguard en adt & sdk 20
He actualizado a la nueva adt & sdk 20 , y estoy teniendo problemas con la nueva forma Proguard se utiliza en Eclipse. No soy un pro con Proguard en absoluto, pero siempre lo he usado y funcionó muy fácilmente. Simplemente edité el archivo "project.properties" y añadí allí "proguard.config = proguard.cfg", y funcionó.
Lamentablemente, algunos cambios se hicieron que no puedo encontrar ninguna información de cómo trabajar con ellos. El sitio web oficial que habla de Proguard (en el sitio web de Android) todavía habla de la forma más antigua.
- Android Proguard ZipException al generar APK firmado
- transformClassesAndResourcesWithProguardForRelease 'en Android
- Proguard con el proyecto android utilizando bibliotecas (de compatibilidad)
- Android Proguard - IllegalArgumentException en la clase TypeReference de Jackson
- Error al trabajar con Jackson library post-obfuscation usando Proguard
Escribieron en "project.properties" para descomentar la siguiente línea:
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Esto no funcionó, me da estos errores al intentar exportar:
Proguard returned with error code 1. See console java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options? at proguard.shrink.Shrinker.execute(Shrinker.java:159) at proguard.ProGuard.shrink(ProGuard.java:275) at proguard.ProGuard.execute(ProGuard.java:101) at proguard.ProGuard.main(ProGuard.java:492)
Puede alguien ayudarme con esto? Nunca tuve que cambiar el archivo proguard.cfg antes y todo era bastante automático. Era muy raro que tuviera que hacer tal cosa.
También agregaron un archivo "proguard-project.txt" que probablemente reemplaza a proguard.cfg y "extends" del archivo de la carpeta sdk, así que me pregunto: ¿estará bien hacer alguna referencia al archivo en el proyecto (y poner En el archivo el contenido del archivo "principal")? Si es así, ¿cómo hago eso?
- Proguard causa un accidente en los servicios de Google Play 'ActivityRecognitionResult getMostProbableActivity
- No se puede obtener jar biblioteca para trabajar con Android y Proguard
- Error de compilación referenciando archivo build.xml y proguard: "null returned: 1"
- Proguard hace reflexionar con la clase R en la aplicación android ya no funciona
- ¿Cómo configurar Proguard usando Gradle?
- Kotlin android proguard error
- Proguard warning biblioteca clase android.webkit.WebView depende de la clase del programa android.webkit.WebViewClien
- ProGuard - org.codehaus.jackson.map.JsonMappingException: No se encontró ningún constructor adecuado para el tipo
Si funcionaba bien antes y no has aprendido Proguard, solo cambia esta línea:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
A esta línea:
proguard.config=proguard.cfg
Entonces usted tendrá su antigua configuración de Proguard de nuevo, yo recomendaría la actualización, sin embargo, sólo debería funcionar a menos que el uso de algunos frascos de terceros? Estos son los que está diciendo que falta y debe usar el indicador -keep para impedir que Proguard los elimine cuando obstruya.
Ok, la solución es que por alguna razón, tuve la ubicación incorrecta establecida para la variable sdk.dir en eclipse.
Así que lo que hice fue
- Ir a las preferencias de eclipse
- Buscado por variables
- Y fue a las variables java-> build path-> classpath,
- Y agregó la variable "sdk.dir" con el valor del directorio de android sdk.
Cree un archivo proguard.cfg en su carpeta raíz del proyecto y actualice su adt a 21 y utilice proguard v4.8 o 4.9 y no olvide ejecutar Android Lint antes de exportar APK
La ruta del archivo de configuración predeterminado se ha cambiado a
$ {Sdk.dir} /tools/proguard/proguard-android-optimize.txt
Usando SDK 22, mi solución fue copiar proguard-project.txt desde $ {sdk.dir} / tools / proguard / en mi área de trabajo de proyecto.
Si observa project.properties, verá que hace referencia a ${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
.
Encontró $ {sdk.dir} bien, pero estaba buscando proguard-project.txt en el directorio del proyecto.
- ¿Cómo puedo obtener el mapa de bits en caché que he descargado con Volley ImageLoader?
- ¿Cómo comprobar si dos objetos proxy de enlace de Android son iguales?