![]() |
|
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Ya he llegado... 64k
Pues eso, ya he llegado a lo que nunca creí que llegaría, el famoso límite de 64k. Y todo ha sido por actualizar las librerías de Google de la 23.1.0 a las 23.3.0, estaba claro que con tantas librerías de soporte necesarias para hacer un proyecto hoy en día llegaría tarde o temprano, a eso súmale las librerías que no son de Google que también uso.
Ya he añadido la librería de soporte de MultiDex (otra mas), activado el MultiDex y subido la versión mínima a 14 (ya iba siendo hora... aún hacia compatibles con 9). Ahora tocará probar la app y ver que ocurre, porque en la página de Google te meten un miedo que flipas de todos los problemas que puede traer el MultiDex. Alguno que haya activado el MultiDex en un proyecto, ¿notáis que tarde más en iniciarse? ¿Ocurre sólo la primera vez? ¿Os da problemas? EDITO: He estado haciendo pruebas con el emulador, y no sólo creo que tarde más, sino que hasta parece que va más rápido. El emulador es Kit Kat, que se supone que tiene peor soporte de MultiDex que los dispositivos Lollipop en adelante. Parece que no era tan traumática la cosa, si lo llego a saber lo hago antes. Ahora voy a probar a hacer un ProGuard, a ver si así explota o no. Saludos ;) Última edición por kriogeN Día 14/04/16 a las 10:45:00 |
|
|
|
#2
|
||||
|
||||
|
Ya te iba a felicitar por el aumento de salario, 64K no está nada mal, ahora a por los 100K
DDDNo he tenido el gusto, aunque también he tenido que subir la versión mínima del cuatro en raya de Android 1.6 a Android 2.0.1 (wow jaja) porque la biblioteca de soporte v4 aunque ponen que es compatible con API 4 lo cierto es que ya no lo es. Y sí, ¡tengo usuarios con Android 2.1 todavía! |
|
#3
|
||||
|
||||
|
Cita:
DDY si, hay muchas cosas en la v4 que realmente son "compat" (también en la v7, pero menos), que lo que significa es "esto no existe, pero te lo pongo para que compile, luego tu ya comprueba si devuelve NULL que significa que no puedes usarlo en tu versión". Por ejemplo, hay un SearchViewCompat en v4 que si lo usas en una versión inferior a 14 siempre da NULL, y luego en la v7 hay un SearchView que si que funciona de verdad. Por cierto, acabo de probar la versión con ProGuard y también funciona de lujo, sin añadir nada a la configuración de exclusiones. Así que nada, un miedo perdido, si por necesidad tenéis que usar MultiDex en las pruebas que he hecho funciona de lujo. |
|
#4
|
||||
|
||||
|
Genial, gracias por compartir la al final no tan traumática experiencia.
Los usuarios con Android 2.1 tienen premio porque no ven publicidad, Admob no soporta esa versión ya . Pero con lo que me refería a que ya no es compatible con API 4 es que directamente da errores VerifyError y básicamente han dicho en el tracker que no se van a molestar demasiado en arreglarlos. Normal por otro lado...
|
|
#5
|
|
|
Buenas, hablando de los 64k:
Estoy intentando firmar una app para subirla al market y lo que antes no me pasaba ahora me pasa y no se por qué. Segun el log tambien he llegado a los 64k pero me resulta bastante raro. Estos son los dos errores que me aparecen: Error:The number of method references in a .dex file cannot exceed 64K. Learn how to resolve this issue at https://developer.android.com/tools/.../multidex.html Error:Execution failed for task ':proyectolocalizacion:transformClassesWithDexForR elease'. > com.android.build.api.transform.TransformException : com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'' finished with non-zero exit value 2 Y este es el build gradle: Cita:
Hay alguna manera de solucionarlo sin hacer MultiDex o tocar el proguard? |
|
#6
|
||||
|
||||
|
No, o haces ProGuard para eliminar referencias o haces MultiDex.
De todas formas yo ya tengo 2 app con MultiDex y funciona perfectamente, es algo a lo que se le debe perder el miedo. Respecto a las librerías, solo con las de Google (Support, Appcompat y GMS) ya es bastante fácil quedarte cerca de las 64k de referencias, hay la tira de cosas ahí. |
|
#7
|
|
o sea que con las librerias de volley y las necesarias para usar google maps ya se llega practicamente a los 64 k ???
|
|
#8
|
||||
|
||||
|
Las Support, Google Play Services y Appcompat han crecido muchísimo, de hecho a mi el aviso me llegó cuando subí de versión la Support y la Google Play Services.
|
|
#9
|
||||
|
||||
|
Cita:
Las de firebase si que duelen bastante, sobretodo las nuevas. Al final habilitar el multidex es cuestion de 3 lineas, te acabas acostumbrando ![]() Si os preocupa este limite, os recomiendo esta web, donde pegas el compile de gradle y te dice cuantos metodos tiene: http://www.methodscount.com |
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
| Herramientas | |
|
|
Hora actual: 16:39:23 (GMT +1)
HTCMania: líderes desde el 2007


DDD



