2010-12-07 5 views
2

내가 작성한 앱의 평가판을 만들려고합니다. 내 메인 프로젝트를 복사 한 다음 새로운 이름으로 새 프로젝트로 붙여 넣었습니다. 그런 다음 내 활동에 리팩토링 (재판 추가) 한 다음이 때문에 발생하는 오류를 수정했습니다. 프로젝트가 컴파일되고 나면 앱을 실행 해 보았습니다.Android & Eclipse에서 새 프로젝트에 기존 앱을 복사하면 재미있는 R이 생성됩니다. *

에뮬레이터에서 평가판 앱을 실행하려고하면 프로그래밍 방식으로 'R. *'에 액세스하면 내 앱에서 리소스 (드로어 블, 스타일 등)를 찾을 수 없습니다. 내 앱이 스타일을 하드 코딩 한 액티비티를 시작하면 잘 돌아 간다.

리소스가 매핑되는 방법을 잘 모르겠지만 각 프로젝트에 대해 생성 된 R.java를 열 때 그들은 동일합니다! 평가판 응용 프로그램에서 발생하는 오류는 "xyz에 대한 리소스를 찾을 수 없습니다."라는 메시지와 예외가 생성 된 R.java의 ID와 다르다는 것을 나타냅니다.

이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

감사합니다.

* 추가 ** 그래서 내가 버전의 안드로이드 1.5 (API 버전 3)을 목표로하고 있음을 언급하는 것을 잊었다. 난 그냥 4로 대상 버전을 업데이트 가지 일을 ... 1.5 목표로하고 싶습니다 ... 누구나 경험이 있습니까? 고마워요.

+0

새 프로젝트를 청소하셨습니까 –

+0

그래, 이클립스를 사용하여 청소했습니다. gen 및 bin 폴더를 삭제했습니다. – ekawas

+0

정말 임의의 생각이지만, 목표 버전을 다시 설정하면 다시 중단됩니까? 제가 궁금해하는 점은 버전을 변경하는 행위로 변경 한 버전이 아니라 문제를 정리 한 것입니다. –

답변

0

gen/폴더를보고 R.java가 생성되는 것을 확인하십시오. 코드에서 R.java의 모든 참조는 실제 현재 패키지 이름에 명시 적 또는 암시 적이어야합니다.

원하는 패키지에 R.java가 생성되지 않으면 eclipse에서이를 "이동"하도록 설득하는 것이 까다로울 수 있습니다. 작동하는 것처럼 보이는 것은 기본 Java 소스 파일의 복사본을 만들고 R.java가 들어갈 패키지 이름으로 이름을 변경/재배치 한 다음 원본을 삭제하는 것입니다.

프로젝트를 정리하고 다시 작성하면 다시 작동해야합니다. 나를 위해

+0

그래서 R이 올바른 패키지 네임 스페이스에 생성됩니다. 그 R의 내용이 틀린 것처럼 보입니다. 모든 소스가 올바른 R을 가리킴 (즉, 안드로이드가 생성 한 것) – ekawas

+0

이것이 올바른 답변은 아니지만 대부분의 사람들에게 도움이 될 것입니다. 도와 줘서 고마워 크리스. 나는 안드로이드 1.5을 지원하지 않고 끝내고 이제 1.6+를 내 앱에서 지원합니다. – ekawas

0

이 내가 찾은 최고의 작업 솔루션입니다 : Android - copy existing project with a new name

당신처럼 보인다 매니페스트 만 다음 당신의 기본 패키지을에 패키지 이름을 변경해야 이름 (리팩토링 자 포함) 및 마침내 이름을 매니페스트의 이름으로 바꿉니다.

관련 문제