proyectos - importar proyecto android studio
¿Cómo duplicar un proyecto de muestra de SDK en el espacio de trabajo? (4)
Haga clic derecho en su proyecto Eclipse, elija propiedades, vaya a Android y asegúrese de que esté seleccionado el SDK correcto.
Mi objetivo es duplicar el proyecto de ejemplo de NotePad de modo que si retoco los archivos fuente para aprender a través de la experimentación, los archivos de muestra originales no se verán afectados. El racional detrás de este objetivo se explica muy bien en las viñetas 1-2-3 en esta publicación de @Neutrino.
Basado en la publicación de @ Neutrino, realicé los siguientes pasos:
Paso 1: Copie el código de muestra a una ubicación temporal (fuera del directorio del espacio de trabajo):
1. Close Eclipse.
2. Copy the entire sample folder
**NotePad** from C:/android-sdk-windows/samples/android-7
to C:/Users/androideve/Documents/NotePad
Paso 2. Importar desde la copia al espacio de trabajo:
1. Start Eclipse
2. File > New > Project > Android Project [Next]
> Create project from existing **source**: C:/Users/androideve/Documents/NotePad
3. Delete project from Package Explorer (without deleting its files from disk!)
4. File > Import...
> General > Existing Projects into Workspace [Next]
> Browse: C:/Users/androideve/Documents/NotePad
> Check "Copy projects into workspace" [Finish]
5. Delete entire folder C:/Users/androideve/Documents/NotePad from disk.
Esto da como resultado la creación del proyecto, pero viene con 21 errores sin ninguna pista sobre las causas (recuerda, soy un novato de Android y no escribí el programa NotePad):
Description Resource Path Location Type
Error generating final archive: java.io.FileNotFoundException: C:/sb/workspace/NotesList/bin/resources.ap_ does not exist NotesList Unknown Android Packaging Problem
error: Error: String types not allowed (at ''layout_height'' with value ''match_parent''). note_editor.xml /NotesList/res/layout line 17 Android AAPT Problem
error: Error: String types not allowed (at ''layout_width'' with value ''match_parent''). note_editor.xml /NotesList/res/layout line 17 Android AAPT Problem
error: Error: String types not allowed (at ''layout_width'' with value ''match_parent''). noteslist_item.xml /NotesList/res/layout line 17 Android AAPT Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 148 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 151 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 175 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 177 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 194 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 195 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 265 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 269 Java Problem
R cannot be resolved to a variable NoteEditor.java /NotesList/src/com/example/android/notepad line 276 Java Problem
R cannot be resolved to a variable NotesList.java /NotesList/src/com/example/android/notepad line 83 Java Problem
R cannot be resolved to a variable NotesList.java /NotesList/src/com/example/android/notepad line 94 Java Problem
R cannot be resolved to a variable NotesList.java /NotesList/src/com/example/android/notepad line 177 Java Problem
R cannot be resolved to a variable NotesLiveFolder.java /NotesList/src/com/example/android/notepad line 48 Java Problem
R cannot be resolved to a variable NotesLiveFolder.java /NotesList/src/com/example/android/notepad line 51 Java Problem
R cannot be resolved to a variable TitleEditor.java /NotesList/src/com/example/android/notepad line 71 Java Problem
R cannot be resolved to a variable TitleEditor.java /NotesList/src/com/example/android/notepad line 80 Java Problem
R cannot be resolved to a variable TitleEditor.java /NotesList/src/com/example/android/notepad line 83 Java Problem
¿Qué hice mal y qué necesito para hacer que se ejecute y ejecute la copia de este ejemplo de NotePad?
Intente asegurarse de que sus declaraciones de importación sean correctas:
R no puede resolverse: error de Android
Además, ¿por qué crees que está mirando C:/sb/workspace/NotesList/bin/resources.ap_
? No es allí donde está almacenado tu proyecto, ¿verdad?
Podría sugerir intentar hacer esto en su lugar:
- Elimine el proyecto de su área de trabajo, también elimínelo del disco (o cámbiele el nombre si desea conservarlo para que no entre en conflicto con el proyecto que está a punto de importar)
- En Eclipse,
File > Import
y elija la opciónExisting Projects into Workspace
- Elija
Select root directory
y vaya a la carpeta Muestras hasta que encuentre el directorio raíz de NodePad - Haga clic en
Open
o cualquiera que sea la opción relevante "Aceptar". - Marque la casilla
Copy projects into workspace
- Haga clic en
Finish
Esto debería importar una buena copia en papel de la demostración de la API para su retoque, dejando la fuente original en el árbol del directorio libre de modificaciones
OK, creo que estoy llegando (nótese las diferencias sutiles entre los pasos originales y los siguientes):
Paso 1: copie el código de muestra en una ubicación temporal (fuera del directorio del espacio de trabajo):
1. Close Eclipse.
2. Copy the entire sample folder
**NotePad** from C:/android-sdk-windows/samples/android-8
to C:/Users/androideve/Documents/NotePad
Paso 2. Importar desde la copia al espacio de trabajo:
1. Start Eclipse
2. File > New > Project > Android Project [Next]
> Create project from existing **source**: C:/Users/androideve/Documents/NotePad
> Build Target: **Uncheck** Android 1.5. **Check** Android 2.2. [Finish]
3. Delete project from Package Explorer (without deleting its files from disk!)
4. File > Import...
> General > Existing Projects into Workspace [Next]
> Browse: C:/Users/androideve/Documents/NotePad
> Check "Copy projects into workspace" [Finish]
5. Delete entire folder C:/Users/androideve/Documents/NotePad from disk.
Ahora, el proyecto se creó como antes, pero en lugar de 21 errores, solo tengo 1 advertencia:
Description Resource Path Location Type
Attribute minSdkVersion (3) is lower than the project target API level (8) AndroidManifest.xml /NotesList line 1 Android ADT Problem
También tengo dos mensajes rojos en la consola:
[2011-02-10 12:45:50 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Unable to read C:/android-sdk-windows/AndroidManifest.xml: java.io.FileNotFoundException: C:/android-sdk-windows/AndroidManifest.xml (The system cannot find the file specified)
[2011-02-10 12:45:50 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Unable to read C:/android-sdk-windows/AndroidManifest.xml: java.io.FileNotFoundException: C:/android-sdk-windows/AndroidManifest.xml (The system cannot find the file specified)
Es cierto: no hay AndroidManifest.xml en C: / android-sdk-windows, pero hay uno en el directorio NoteList. ¿Por qué se queja de esto? ¿Por qué está buscando en C: / android-sdk-windows?
De todos modos, después de crear una configuración de inicio, el proyecto de ejemplo copiado literalmente comenzó a ejecutarse en el emulador sin ningún problema (ahora, finalmente, puedo seguir aprendiendo el lado de la programación).
En resumen, la fuente del problema fue que estaba usando la muestra de Android 7 (en lugar de Android 8) y que procedí con el objetivo de compilación 1.5 (en lugar de 2.2).
Todo está bien ahora. :)
Solución más simple:
- "Nuevo";
- "Proyecto Android"
- inserte un nombre de proyecto temporal (no el final que desea);
- seleccione un "Objetivo de compilación" para el cual ha descargado ejemplos;
- seleccione "Crear proyecto a partir de muestra existente" y elija la muestra de código que desee;
- haga clic en "Finalizar";
- haga clic derecho en el proyecto y seleccione "Copiar";
- haga clic derecho en un área vacía en el Explorador de proyectos y seleccione "Pegar";
- inserte el nombre final que ha elegido para el proyecto;
- seleccione "Usar ubicación predeterminada" si desea que el proyecto esté en la ruta habitual dentro del espacio de trabajo.
Eso es todo, el proyecto y el código ahora están duplicados y funcionando en su espacio de trabajo.