![]() |
|
| 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
|
||||
|
||||
|
Compatibilidad librerías de soporte support.v4 y appcompat_v7.
Soy novato en Android y me he encontrado con el siguiente problema:
Tengo una clase principal que extiende de FragmentActivity que abre un DialogFragment, para ello utilizo la librería de compatibilidad support.v4 para versiones inferiores a la api 11. Funciona perfectamente, pero el problema surge cuando añado en Propiedades la librería appcompat_v7, que aparentemente no da error en Eclipse, pero al ejecutar la aplicación sí que da error. Si pudieran ayudarme se lo agradecería mucho, pues no doy con ello. |
|
|
|
#2
|
||||
|
||||
|
En primer lugar veo que es tu primer post, así que bienvenido al foro. Y ahora al tema.
¿Te da error al compilar o al ejecutar? Si te da error al ejecutar es por algo que has hecho, por el simple hecho de añadir una librería la aplicación no falla si no la usas. Si te da error al compilar es muy común que uses una versión de la Support V4 distinta a la que va incluida en la AppCompar V7, que por si misma usa la Support V4. En ese caso te daría un error indicando que los SHA1 de ambas Support V4 son distintos. Y por último, te recomiendo que des el salto a Android Studio, además de porque el ADT ya no se va a actualizar más y tendrás problemas usando nuevas versiones del SDK de Android, las librerías se compilan por separado directamente sobre el proyecto final, no como en Eclipse que se compilan de forma individual y se usan en el proyecto final. Por lo tanto el error de la incompatibilidad de versiones de las distintas Support V4 no existe en Android Studio. |
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Compatibilidad librerías de soporte support.v4 y appcompat_v7.
Lo primero gracias por tu respuesta. El error lo da al ejecutar, en la compilación no aparece ningún aviso de error. El caso es que la aplicación la voy haciendo por partes y cuando veo que funciona la incorporo a la aplicación llamémosla principal, y esto es una parte. Cuando la he probado sin la librería appcompat_v7 funciona perfectamente, pero como en la principal utilizo esta librería, hago la prueba incorporándola y me da “Se ha detenido la aplicación…”, esto es lo que me trae de cabeza. En cuanto que la versión support.v4 sea distinta de la incluida en appcompat_v7 me has dejado fascinado, ¿cómo puede ser eso?
En lo referente a usar Android Studio, dado lo que me cuentas desde luego tendré que pasarme, pues también es increíble lo que me cuentas de que se deje de actualizar el ADT. Pero de momento me gustaría saber cómo salgo de este atolladero en Eclipse. Y de nuevo gracias por tu interés en la respuesta. |
|
#4
|
||||
|
||||
|
Mira a ver que error te da en la ventana de mensajes del ADT.
Pero si lo que haces es cambiar la Activity por una AppCompatActivity asegurate de que también cambias el Theme por uno compatible con AppCompatActivity. En cuanto a las otras 2 cosas, es así, en Eclipse las versiones de las librerías se compilan en local en cada proyecto, así que si si cargas 2 librerías con dependencias a la misma librerías, que en su compilación local son distintas, da error de conflicto y no compila. En cuanto a lo del ADT, ya no se compilan versiones nuevas del Bundle de Eclipse con ADT, si quieres añadir versiones nuevas de ADT a Eclipse tienes que hacerlo a mano. Y Google anunció hace mucho tiempo que en cuanto Android Studio fuese estable irían abandonando el soporte a ADT. Última edición por kriogeN Día 26/10/15 a las 09:45:09 |
| Gracias de parte de: | ||
|
#5
|
||||
|
||||
|
Compatibilidad librerías de soporte support.v4 y appcompat_v7.
Tienes razón, el problema está en las SHA de las librerías:
Found 2 versions of android-support-v4.jar in the dependency list, [2015-10-26 10:30:04 - SeekBar2] but not all the versions are identical (check is based on SHA-1 only at this time). [2015-10-26 10:30:04 - SeekBar2] All versions of the libraries must be the same at this time. [2015-10-26 10:30:04 - SeekBar2] Versions found are: [2015-10-26 10:30:04 - SeekBar2] Path: C:\Users\Joaquin\Desktop\SeekBar2\libs\android-support-v4.jar [2015-10-26 10:30:04 - SeekBar2] Length: 1364881 [2015-10-26 10:30:04 - SeekBar2] SHA-1: 91a1b1aabf740a6f64c2f73f5b0dc6611779ac8b [2015-10-26 10:30:04 - SeekBar2] Path: C:\Users\Joaquin\Desktop\PruebaInterfaz\appcompat_ v7\libs\android-support-v4.jar [2015-10-26 10:30:04 - SeekBar2] Length: 1184670 [2015-10-26 10:30:04 - SeekBar2] SHA-1: fde22d8d2ef6363324a3d79a1dd16c8645c25564 [2015-10-26 10:30:04 - SeekBar2] Jar mismatch! Fix your dependencies |
|
#6
|
||||
|
||||
|
Que raro.. a mi ese error me lo daba en tiempo de compilación, no de ejecución, a lo mejor ha cambiado con los últimos ADT.
La solución es coger la última versión del android-support-v4.jar y copiarlo en todos los proyectos que estés usando. |
| Gracias de parte de: | ||
|
#7
|
||||
|
||||
|
Compatibilidad librerías de soporte support.v4 y appcompat_v7.
Parece ser que tu solución va a funcionar, te cuento, he quitado appcompat_v7 de Propiedades > Android > Library y support.v4 de libs y he añadido ambas en Referenced Libraries. Parece ser que de momento funciona, ya te contaré cuando integre el código del todo y a ver como funcionan los Themes.
|
|
#8
|
||||
|
||||
|
Compatibilidad librerías de soporte support.v4 y appcompat_v7.
Disculpa la tardanza pero me he liado muchísimo con un DialogFragment y el Intent de pasar los datos, que funciona por separado pero no al integrarlo. Bueno otra vez darte las gracias y decirte que la solución que me diste para las librerias funciona perfectamente.
|
|
#9
|
||||
|
||||
|
Cita:
|
|
#10
|
||||
|
||||
|
Marcamos como Solucionado
|
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 23:20:53 (GMT +1)
HTCMania: líderes desde el 2007






