2014-04-02 3 views
0

그래서 내 컴퓨터의 한 작업 공간에서 완전히 작동하는 프로젝트가 있습니다. 다른 모든 사람들이 작업 할 수 있도록 저장소로 이동합니다. 모든 변화가 잘되었는지 확인하기 위해 내려갑니다. 프로젝트를 새 작업 공간으로 가져오고이 빌드에서 자동 빌드를 사용하면 오류가 발생하지 않습니다.git에서 다운로드 한 프로젝트를 빌드 할 때 여러 개의 dex 파일 오류

나는 명령 행으로 이동하여 프로젝트에서 ant clean 버전을 실행하고 빌드가 실패한 자산에 대해 크런치를 실행하기 전에 여러 개의 dex 파일 정의 오류로 실패합니다. 필자는 프로젝트의 높낮이를 확인하고 원본 작업 공간의 다른 사본과 비교했지만 필자는 그 이유가 무엇인지에 따라 빌드 할 수 없습니다. bin 및 gen 폴더를 지우고 모든 가져 오기를 제거하고 기본적으로 프로젝트 만 남겨두고 이클립스에서 깨끗하게 실행하고 lib 프로젝트 클래스 중 하나와 관련된 dex 정의 오류를받습니다. Ive는 여분의 사본이 될 수있는 곳을 찾으려고했지만 아무 것도 찾을 수 없습니다.

지난 몇 날 동안 주변에서 인터넷 검색을하는 것은 나를 위해 일한 그런 문제 havent에 대한 일반적인 해결책으로 도움이되지 못했습니다. 그렇다면 여분의 클래스 정의가 어디에서 왔는지 파악하는 가장 좋은 방법은 무엇입니까? 그래서 올바르게 제거 할 수 있도록 저장소를 수정하고 저장소를 수정할 수 있습니다. 나는 프로젝트 gitignore에서 제외해야하는 프로젝트의 파일 중 하나와 관련된 느낌이 들지만 어느 것이 될지 확실하지 않습니다. 이 문제에 대한 도움은 크게 혼란스러운 시간을 많이 먹었 기 때문에 크게 감사 할 것입니다.

답변

0

문제의 근원을 찾지 못했지만 해결 방법을 찾았습니다. 모든 지원 라이브러리를 안드로이드 프로젝트에서 완전히 벗어난 새로운 루트 폴더로 옮겼습니다. 일단 내가 그 일을하고 모든 것을 청소 한 후에는 개미를 깨끗하게 처리하고 프로젝트를 잘 진행했습니다.

0

동일한 패키지 이름을 가진 클래스가 두 개 이상있는 경우이 오류가 발생합니다. 이 문제의 일반적인 원인 중 하나는 같은 라이브러리에 다른 버전이있는 경우입니다. 예를 들어 ActionbarSherlock을 추가하는 경우 'libs forder에 자신의 support library이 있고 프로젝트의 support library의 다른 버전이 libs 폴더에 있습니다. 그런 경우 support library .jar 한 버전을 사용하는 모든 다른 라이브러리에 넣어야합니다. 이것이 도움이되기를 바랍니다.

+0

불행히도 이것은 쉽게 해결 될 항아리와 관련이 없습니다. 그것은 내 안드로이드 프로젝트가 의존하고 어떤 이유로 두 번 추가되는 프로젝트에있는 특정 클래스와 관련이 있습니다. 필자는 중복 된 파일 찾기를 시도했지만 나는 그것을 찾을 수 없다. 필자는 심지어 모든 것을 bin 파일 대신 프로젝트 외부의 다른 폴더에 만들도록 노력했지만 여전히 그럴 수 없습니다. –

관련 문제