Uso de Gradle para dividir bibliotecas externas en archivos dex separados para resolver el límite de métodos de Dalvik 64k de Android
Hay unproper/easy
¿Cómo resolver el límite de métodos de 64k usando Gradle?
Me refiero a una tarea personalizada de Gradle para usar frascos pre-dexed para crear archivos dex separados, en lugar de una solaclasses.dex
.
Gracias
Ivan
Estado actualActualmente, estoy luchando con GMS: trae 20k métodos para usar Analytics. Uso Proguard para eliminar lo que no es necesario, pero aún así ... 72k métodos y contando ...
Puedo partirclasses.dex
en dos archivos usandodx
parámetro--multi-dex. Lo logré editando manualmente
sdk/build-tools/android-4.4W/dx
y editando la última línea como esta:
exec java $javaOpts -jar "$jarpath" --multi-dex "$@"
Mi archivo APK ahora contiene__classes.dex__ and __classes2.dex__
.
Estoy tratando de cargar dinámicamente el segundo archivo con algunos métodos:
DexdexenlazarDiestroenlazarSecundaria dex gradleenlazarLamentablemente todavía no hay suerte. Realmente espero que algún gurú de Google / Facebook / Square pueda proporcionar una solución adecuada.