2011-04-17 24 views
26

Estoy tratando de usar GSON en mi proyecto, pero mi aplicación está fallando, con logcat diciendo que com.google.gson.Gson no se puede encontrar. He puesto import com.google.gson.Gson en mis archivos de clase, tengo gson en mi explorador de paquetes y lo he agregado haciendo clic con el botón derecho -> construir ruta -> agregar bibliotecas. También aparece en Project-> properties-> java build path-> libraries tab-> gson. ¿Qué he hecho mal?¿Por qué no puedo encontrar android com.google.gson.Gson

Respuesta

14

¿Ha puesto el archivo jar en la carpeta libs del proyecto? Si no, intente moverlo allí, creando la carpeta si es necesario. Debe estar en el mismo nivel que la carpeta src.

Tuve un problema similar al tratar de crear una aplicación y eso lo resolvió.

+6

Lord Flash: "lib" no es correcto, Jason dijo el nombre correcto: "libs". – Murat

+0

Descargue aquí: http://code.google.com/p/google-gson/downloads/list and put y la carpeta del proyecto "libs". –

+0

Mi problema también se resolvió, gracias. – Devendra

2

Hoy he observado que no le gusta cuando agrega su biblioteca. La solución que funcionó para mí fue agregarlo solo como un contenedor externo. Lo he observado siguiendo los pasos descritos por el autor de este post, es decir, Propiedades -> Ruta de compilación de Java -> Bibliotecas -> Agregar JAR externos y apuntar a la biblioteca gson descargada.

0

Tuve un problema similar, pero creo que mi requisito era más complicado ya que el GSON libarary fue utilizado por un Android Library Project del que dependía mi proyecto principal de Android. He intentado los dos enfoques anteriores, pero ninguno de ellos funcionó para mí. Si agrego el archivo GSON jar directamente al proyecto principal de Android, funciona, pero eso no es lo que quería.

Con un poco de investigación, me he dado cuenta de que el contenedor GSON no usa ninguna dependencia (bibliotecas de terceros). Así que mi solución fue copiar el archivo fuente del proyecto GSON al filtro de src de mi biblioteca de Android y funcionó como un hechizo. para que pueda usar el código fuente en lugar del código binario. El código fuente es parte de la descarga en un archivo jar, solo descomprímelo.

+1

Sí, puede agregar el código fuente para cualquier dependencia de código abierto de terceros, pero eso no significa que deba hacerlo. Terminas manteniendo ese código en la fuente, que es una pendiente resbaladiza a la falta de soporte. –

2

me encontré con el mismo problema (cuando se instala SDK 17) ...

La solución es, que sólo hay que poner los archivos jar puro en el "libs" carpeta (sin subcarpetas). Tampoco necesita declararlos, Android los encontrará por sí mismo. Es posible que tenga que hacer un proyecto > Limpio

+0

con la última actualización, tiene que ser "libs" no "lib" – dldnh

40

Lo que funcionó para mí: Marca la casilla junto a la lib (GSON-2.0.jar) en: 'Propiedades del proyecto' - 'Java Build Path'> -> ' Pestaña Pedido y exportación. Luego haz una limpieza/compilación.

Esto agrega el atributo exportado = true a la entrada de la ruta de clase

<classpathentry exported="true" kind="lib" path="libs/gson-2.0.jar"/> 
+0

Esto es lo que solucionó la mina – Jesse

+0

Genial;). Gracias :) – androniennn

+0

¡Trabajó para mí también, gracias! – Mike

1

estoy seguro de que haya copiado el frasco en "librerías", y la ruta de la propiedad> Java Build> Bibliotecas (pestaña) también añadidos , ¿derecho?

mi problema era estúpida ... compruebe que no sea tarro Gson, si tiene dos telas al menos en la pestaña superior:

  1. xx androide
  2. Dependencias Android (especialmente éste, echaba de menos esto, me eclipse mostrar un error de "no pudo encontrar com.google.gson.xx clase")

simplemente hacer una copia del proyecto va a resolver este problema ...

1

No edite.el archivo classpath directamente o incluso coloca archivos en las carpetas lib fuera de Eclipse. En su lugar, use la ruta Java Build-> Ordenar y Exportar pestaña para seleccionar las bibliotecas que se exportarán en la unidad de implementación final (ej. Guerra/apk) Para estar seguro, haga un Proyecto-> Limpiar después de cambiar la ruta de compilación.

0

Me enfrenté a lo mismo. Pero la solución fue bastante fácil, simplemente haga clic con el botón derecho en su proyecto-> Properies-> Bibliotecas-> Agregar tarros externos-> OK y eso es todo. Resolvió mi problema. Espero que lo haga resolver la suya, así

7

estoy usando IntelliJ, no eclipsar pero aquí es cómo lo hice:

  1. descargar los archivos fuente de https://google-gson.googlecode.com/files/google-gson-2.2.4-release.zip

  2. ellos Descomprimir

  3. Cópialos en la carpeta "libs" de tu proyecto. Hice esto manualmente usando la terminal, pero puede hacerlo yendo a la carpeta de proyectos ubicada en su computadora. Su Project_Name> aplicación> Liberaciones [pegarlos aquí]

  4. Ir a su editor (IntelliJ en mi caso) debería ver el los 3 archivos siguientes en la carpeta libs de la estructura del proyecto:

    • gson-2.2.4.jar

    • gson-2.2.4-javadoc.jar

    • gson-2.2.4-sources.jar

  5. abrir su archivo build.gradle e inserte la línea siguiente en la sección dependencias:
    compile files('libs/gson-2.2.4.jar', 'libs/gson-2.2.4-javadoc.jar', 'libs/gson-2.2.4-javadoc.jar')

  6. Haga clic derecho sobre cada uno de los archivos de origen y seleccione "Agregar biblioteca ..."

  7. Uso las siguientes opciones:

    • Name: name of the jar file

    • Level: Project Library

    • Add to Module: select project your adding to

  8. Reconstruir proyecto Build > Rebuild project

  9. Importación y utilizarlo!

    import com.google.gson.Gson; 
    
0

Si Projct Propiedades -> ruta de compilación de Java -> Añadir frascos externos no funciona y su proyecto es un proyecto web, trate de añadir el frasco GSON directamente a la carpeta lib del servidor. Ejemplo: para apache Tomcat a apache-tomcat/lib.

0

He estado intentando lo mismo y he leído tantas respuestas y he probado tantas cosas que no en el vial, pero he resuelto este problema haciendo solo un clic y es simple.

1) Añadir el archivo .jar en la carpeta de librerías asegurarse de que sus bibliotecas no Lib 2) Limpiar y construir su proyecto, verá que los archivos bajo la carpeta libs 3) haga clic derecho en el archivo y vaya a construir ruta y seleccione agregar a la ruta de compilación

Ejecute su proyecto, funcionará bien. Espero que esto ayude

0

estoy usando Android Studio que tenía el mismo problema que tuve resolverlo por seleccione F4 pulse proyecto desde emergente clic aplicación y en las dependencias seleccione dependencia de archivo y seleccionar las tres carpetas que había pegado en directorio lib

Cuestiones relacionadas