gen ya existe pero no es una carpeta de origen


91

Estoy desarrollando mi proyecto de Android, después de eliminar una biblioteca no utilizada, aparece el error:

myproject/gen already exists but is not a source folder. Convert to a source folder or rename it

En mi código de actividad, R.javano se pueden resolver todos los recursos de .

Lo intenté, haga clic derecho en mi proyecto => Java Build Path => en la pestaña "Fuente", agregué gen / como fuente. Pero no ayuda con el problema ...

¿Por qué, cómo deshacerse de este problema?

----ACTUALIZAR----

Encontré que, el eclipse también se queja de que "El proyecto no tiene un archivo project.properties! Edite las propiedades del proyecto para establecer una". , pero tengo el archivo project.properties en mi proyecto. ¿Por qué se queja? He limpiado el proyecto y "arreglo las propiedades del proyecto", pero no ayuda.


5
compruebe que su carpeta src contiene cualquier carpeta gen. si no lo borra. .no es necesario crearlo manualmente. Limpia tu proyecto una vez.
Padma Kumar

hola, Mi carpeta src no contiene ninguna carpeta gen ...
Leem.fin

1
Me pasó después de importar un proyecto
max.mustermann

1
Tiene una muy buena respuesta, actualmente puntuada con 79, pero no la ha aceptado. Deberías aceptarlo. Y su "ACTUALIZACIÓN" debería ser una pregunta separada (y es posible que desee ver si alguien ya la ha respondido).
steveha

Creo que mi respuesta ayudará en este problema .. stackoverflow.com/questions/9738203/…
Ranjit

Respuestas:


234

Tengo el mismo problema.

Dos acciones, primero:

    1.Haga clic derecho en el proyecto y vaya a "Propiedades".
    2.Seleccione "Ruta de compilación Java" a la izquierda
    3.Abre la pestaña "Fuente"
    4.Haga clic en "Agregar carpeta ..." y marque "gen" y "src"

segundo: (porque la acción anterior me pidió que quitara algo ... no recuerdo qué era ...)

    1. Haga clic derecho en el proyecto y vaya a "Propiedades".
    2. Selecciona "Ruta de compilación Java" a la izquierda.
    3. Abra la "pestaña" Bibliotecas
    4. Agregue un JAR externo. Agregue la API de Google que se encuentra en su directorio de Android (android-sdk \ platform \ android-yourversion

¡Y ahora funciona para mí!


10
En mi caso solo necesité hacer la primera parte mencionada anteriormente. ¡Gracias!
tm_forthefuture

La primera solución también me ayudó en el primer intento :)
Saad Qureshi

2
Funcionó ... pero ¿cómo sucedió esto? Estúpido Android. :-)
Ryan Detzel

El primer paso funcionó para mí. No estoy seguro de cómo o por qué Eclipse decidió simplemente dejar estas carpetas (.classpath no pareció modificar) ...
ssawchenko

Saludos ... Funciona muy bien :)
vjamit

37

Solucion:

Paso 1 :

  • Haga clic derecho en el proyecto y vaya a "Propiedades"
  • Seleccione "Ruta de compilación de Java"
  • Cambiar a la pestaña "Fuente" Elimina todas las fuentes de la carpeta de origen en la ruta de compilación
  • Reiniciar Eclipse

Paso 2 :

  • Haga clic derecho en el proyecto y vaya a "Propiedades"
  • Seleccione "Ruta de compilación de Java"
  • Cambiar a la pestaña "Fuente"
  • Haga clic en "Agregar carpeta ..." y marque la carpeta de origen "gen" y "src" en la ruta de compilación
  • Reiniciar Eclipse

Final

Construir proyecto (s)

Codificador feliz :)


1
check gen solo resuelve el problema y no funciona con la carpeta src
Manikandan

Habría desperdiciado mi día. Gracias
Prakash

17
  1. Haga clic derecho en el proyecto y vaya a Propiedades
  2. Seleccione Java Build Path a la izquierda
  3. Pestaña Open Source
  4. Haga clic en Agregar carpeta ... y marque gen y src

Esa es la mejor respuesta. Conciso, problema resuelto, ¡boom!
Ely

8

Esto se debe al uso del importador incorrecto en Eclipse. Si tiene proyectos de Android, debe importarlos a su espacio de trabajo con Android-> Código de Android existente , no General-> Proyectos existentes .

ingrese la descripción de la imagen aquí


3

Tuve que eliminar toda la carpeta gen dentro de eclipse, no desde el explorador de archivos. luego hizo una limpieza y fue reconstruida. gracioso, esto ocurrió justo después de ejecutar un informe HTML de Lint.


Esto también funcionó para mí. Acabo de eliminar el archivo gen, y unos segundos después se volvió a generar y todo volvió a la normalidad.
Sandy

2

La carpeta gen es donde ADT crea el archivo R.java, que especifica sus definiciones de recursos. es decir, sus recursos (colores, dimensiones, diseños, etc.) se convierten a código y se colocan en R.java en la carpeta gen.

Por lo tanto, cuando cree la aplicación, debe asegurarse de que su IDE trate la carpeta gen como una carpeta de código fuente, ya que contiene la clase R.

En su IDE, debe marcar la carpeta gen como carpeta de origen, por lo que su contenido se construye junto con su fuente.

Tu tasa de aceptación es muy baja. Si quieres que la gente te ayude, necesitas una alta tasa de aceptación.


9
pero ¿cómo puedo aceptar si no hay una respuesta correcta? Verifico las respuestas, pero nadie es la solución ... Por ejemplo, mi publicación actual, sé qué es gen / y cómo funciona en Android, estoy buscando una solución a mi problema actual. Pero aún no tengo uno.
Leem.fin

1

Me encontré con el mismo problema, lo resolví de la siguiente manera:

En el Explorador de paquetes, haga clic con el botón derecho en la carpeta gen, busque "Ruta de compilación - Usar como carpeta de origen" y haga clic en ella.

Eso es. Espero que te ayude.


1

Había configurado SVN para un proyecto con el mismo problema, eliminé todas las carpetas y archivos, lo recuperé nuevamente de SVN y aún así no tuve suerte. Lo único que ayudó fue revertir los cambios y eliminar / volver a importar proyectos al espacio de trabajo. Espero que esto ayude


0

La última vez que tuve este problema, fue porque cambié la fuente a otra rama detrás de escena. Una vez que cerré Eclipse y lo relancé, el problema desapareció.


0

Tuve algunos de los mismos síntomas , pero los resolví de manera diferente:

Descubrí que tenía dos archivos en el directorio dibujable que estaban en conflicto: icon.png e icon.xcf. Esto hizo que R fallara en la generación. Moví el icon.xcf fuera del camino y se generó R y se compiló el proyecto.


0

Vaya a las propiedades del proyecto, luego vaya a Java Build Path, luego elimine la carpeta ya existente, luego haga clic en Agregar carpeta y luego agregue la carpeta de origen y gen. luego presione ok ............ Funcionará .......


0

Mi solución fue pegar lo siguiente en el archivo .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

0

También necesitamos verificar nuestras declaraciones de importación, si hemos importado 'android.R' tenemos que eliminar eso.


0

Esto sucede porque su archivo .classpath se borró de alguna manera. Este archivo contiene toda la información de la pestaña Java Build Path en Propiedades del proyecto. Puede agregar toda la información manualmente, pero hay una forma más fácil de solucionar este problema.

Si tiene una copia del archivo .classpath en su máquina, puede copiarlo y pegarlo en el directorio de su proyecto.


0

Probé las sugerencias dadas aquí y todavía tenía el problema. Finalmente, resultó que Eclipse se equivocó en sus importaciones. Por alguna razón, agregó las palabras "gen" y "src" al comienzo de la línea de importación. Tuve que cambiar todas las líneas de importación de

import gen.org.qtproject.qt5.android.bindings.QtApplication;

a

import org.qtproject.qt5.android.bindings.QtApplication;

Una vez que hice eso, todo volvió a la normalidad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.