Как дублировать проект SDK-образца в рабочее пространство?
Моя цель состоит в том, чтобы дублировать примерный проект NotePad таким образом, что если я буду возиться с исходными файлами, чтобы учиться на экспериментах, исходные файлы примеров будут не. Рациональное достижение этой цели очень хорошо объясняется в пулях 1-2-3 в этом сообщении by @Neutrino.
На основании сообщения @Neutrino я выполнил следующие шаги:
Шаг 1: Скопируйте образец кода во временное место (вне каталога рабочей области):
1. Close Eclipse.
2. Copy the entire sample folder
**NotePad** from C:\android-sdk-windows\samples\android-7
to C:\Users\androideve\Documents\NotePad
Шаг 2. Импорт из копии в рабочее пространство:
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.
Это приводит к созданию проекта, но оно содержит 21 ошибку без каких-либо подсказок относительно того, что их вызывает (помните, что я новичок в Android, и я не писал программу 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
Что я сделал неправильно и что мне нужно сделать, чтобы сделать копию этого примера NotePad и запустить?
Ответы
Ответ 1
ОК, я думаю, что добираюсь туда (обратите внимание на тонкие различия между исходными шагами и следующими):
Шаг 1: Скопируйте образец кода во временное место (вне каталога рабочей области):
1. Close Eclipse.
2. Copy the entire sample folder
**NotePad** from C:\android-sdk-windows\samples\android-8
to C:\Users\androideve\Documents\NotePad
Шаг 2. Импорт из копии в рабочее пространство:
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.
Теперь проект создается по-прежнему, но вместо 21 ошибки у меня есть только 1 предупреждение:
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
У меня также есть два красных сообщения на консоли:
[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)
Это правда: в C:\android-sdk-windows нет AndroidManifest.xml, но есть один в каталоге NoteList. Почему он жалуется на это? Почему он смотрит в C:\android-sdk-windows?
В любом случае, после создания конфигурации запуска, экземпляр-проект с копированным-verbatim продолжал работать на эмуляторе без каких-либо проблем (теперь я могу, наконец, перейти к изучению его части программирования).
В целом, источником проблемы было то, что я использовал образец Android 7 (вместо Android 8), и я начал с целью сборки 1.5 (вместо 2.2).
Теперь все хорошо.:)
Ответ 2
Попробуйте убедиться, что ваши инструкции импорта верны:
R не может быть разрешено - ошибка Android
Кроме того, почему вы думаете, что он смотрит на C:\sb\workspace\NotesList\bin\resources.ap_
? Это не где ваш проект хранится, не так ли?
Возможно, я попробую сделать это:
- Удалите проект из рабочей области, также удалите его с диска (или переименуйте его, если хотите сохранить его, чтобы он не противоречил проекту, который вы собираетесь импортировать)
- В Eclipse
File > Import
и выберите опцию Existing Projects into Workspace
- Выберите
Select root directory
и перейдите в папку "Образцы", пока не найдете корневой каталог NodePad
- Нажмите
Open
или независимо от того, какая соответствующая опция "ОК"
- Установите флажок
Copy projects into workspace
- Нажмите
Finish
Это должно импортировать красивую копию копий API для вашего мастерства, оставив исходный источник в дереве каталогов без изменений
Ответ 3
Щелкните правой кнопкой мыши по проекту Eclipse, выберите свойства, перейдите в Android и убедитесь, что выбран правильный SDK.
Ответ 4
Упрощенное решение:
- "Новый";
- "Проект Android"
- вставить имя временного проекта (не окончательный вариант);
- выберите "Build Target", для которого вы загрузили примеры;
- выберите "Создать проект из существующего образца" и выберите нужный образец кода;
- нажмите "Готово";
- щелкните правой кнопкой мыши по проекту и выберите "Копировать";
- щелкните правой кнопкой мыши по пустой области в Project Explorer и выберите "Вставить";
- вставьте окончательное имя, которое вы выбрали для проекта;
- выберите "Использовать местоположение по умолчанию", если вы хотите, чтобы проект находился в обычном пути в рабочей области.
Чтобы он, проект и код теперь дублируются и работают в вашей рабочей области.