2011-02-08 4 views
10

내 목표는 실험을 통해 배우기 위해 소스 파일을 수정하면 원래 샘플 파일 이 아닌이 영향을받을 수 있도록 NotePad 샘플 프로젝트를 복제하는 것입니다. 이 목표에 대한 합리적인 설명은 @Neutrino의 this post에있는 1-2-3 탄환에서 잘 설명됩니다. 중성미자의 게시물 @를 바탕으로SDK 샘플 프로젝트를 작업 영역에 복제하는 방법은 무엇입니까?

, 나는 다음 단계를 수행 :

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. 

이 프로젝트 생성을 초래하지만 (나는 안드로이드 N 오전 기억을 원인이 무엇에 관한 단서없이 21 오류와 함께 제공 : 복사 작업 공간 ewbie와 나는 메모장 프로그램)을 작성하지 않은 :

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 

내가 잘못하지 않았고, 나는이 메모장 샘플 빌드의 사본을 만들고 실행하는 데 필요한 것은 무엇 무엇?

답변

11

좋아요, 나는 거기에 도달했다고 생각합니다 (원래 단계와 다음 단계의 미묘한 차이점에 유의하십시오) :

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에는 AndroidManifest.xml에 없습니다 : \ 안드로이드 SDK 창문이 있지만, NoteList 디렉토리에 하나가있다. 이 점에 대해 왜 불평합니까? 왜 C : \ android-sdk-windows에서 찾고 있습니까?

어쨌든 실행 구성을 만든 후에는 복사 된 그대로의 샘플 프로젝트가 아무런 문제없이 에뮬레이터에서 실행되도록 진행되었습니다 (이제 프로그래밍 측면을 배우기 시작할 수 있습니다).

요약하면, 문제의 원인은 안드로이드 7 샘플 (안드로이드 8 대신)을 사용하고 있고 빌드 타겟 1.5 (2.2 대신)를 사용했다는 것입니다.

모두 잘되었습니다. :)

2

만드는 시도는 반드시 가져 오기 문은 올바른 :

또한

R cannot be resolved - Android error

, 왜 당신이 C:\sb\workspace\NotesList\bin\resources.ap_에서 찾고 생각하십니까? 그것은 당신의 프로젝트가 저장된 곳이 아닙니다, 그렇죠?


내가 대신 일을하려고 제안 할 수 있음 :

  1. 또한, 작업 공간에서 프로젝트를 삭제 디스크에서 삭제 (또는 당신이하지 않는, 그래서 그것을 유지하려는 경우 이름을 변경 당신이 NodePad 루트 디렉토리를 찾을 때까지 가져하려고 프로젝트)
  2. 이클립스, File > Import에서
  3. 과 충돌은
  4. Select root directory를 선택하고 폴더 샘플에 찾아보고 Existing Projects into Workspace 옵션을 선택
  5. 클릭 Open는 또는 관련 "OK"옵션은
  6. 이 상자를 선택 무엇이든 Copy projects into workspace
  7. 이가 떠나, 당신의 땜질에 대한 API 데모의 좋은 탄소 사본을 가져와야합니다 Finish

클릭 디렉토리 트리의 원본 소스가 수정되지 않았습니다.

+0

와우! 나는 안드로이드 개발 도구가 너무 일관성이 없다는 것을 깨닫지 못했다. 때로는 Ctrl + Shift + O가 문제를 해결하고 때로는 문제를 일으킨다. 어쨌든, 나는 그 두 가지를 시도했다 - 그것은 도움이되지 못했다. 귀하의 질문에 : 네, C : \ sb \ workspace는 프로젝트가 저장되는 곳입니다. 샘플에서 ** 복사 **됩니다. 그리고 +1 도움이되는 시도에 +1. –

+0

NotesList> res> 레이아웃에 main.xml 파일이 없다는 것을 발견했습니다. 이것이 문제의 근원 일 수 있습니까? 그렇다면 어떻게 될 수 있습니까? 안드로이드 SDK와 함께 제공되는 샘플 프로젝트가 모범적일까요? –

+0

@androideve 활동에서 결코 호출되지 않으면 main.xml이 필요하지 않습니다. node_editor.xml, noteslist_item.xml 및 title_editor.xml –

2

Eclipse 프로젝트에서 마우스 오른쪽 버튼을 클릭하고 속성을 선택한 다음 Android로 이동하여 올바른 SDK가 선택되었는지 확인하십시오.

1

간단한 해결책 :

  1. "새로운";
  2. "Android Project"
  3. 원하는 프로젝트의 최종 프로젝트 이름을 삽입하십시오.
  4. 예제를 다운로드 한 "Build Target"을 선택하십시오.
  5. "기존 샘플에서 프로젝트 만들기"를 선택하고 원하는 코드 샘플을 선택하십시오.
  6. "마침"을 클릭하십시오.
  7. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "복사"를 선택하십시오.
  8. 프로젝트 탐색기에서 빈 영역을 마우스 오른쪽 버튼으로 클릭하고 "붙여 넣기"를 선택하십시오.
  9. 프로젝트에 대해 선택한 최종 이름을 입력하십시오.
  10. 프로젝트를 작업 영역 내의 일반적인 경로에 두려면 "기본 위치 사용"을 선택하십시오.

이제 프로젝트와 코드가 복제되어 작업 공간에서 작동합니다.

관련 문제