2013-05-12 2 views
5

두 개의 외부 라이브러리 (라이브러리 A 및 라이브러리 B)를 Eclipse의 내 프로젝트로 가져옵니다. 이 라이브러리들은 모두 "android-support-v4.jar"라이브러리가 필요합니다. 그래서 컴파일 할 때, 그것은 오류를 발생 :여러 "android-support-v4"라이브러리 간의 충돌

 
Jar mismatch! Fix your dependencies 

나는 모든 유사한 질문을 읽었습니다, 내 프로젝트에서 라이브러리 "androi 지원-v4.jar"를 삭제하려고했다. Java 구성 경로 -> 라이브러리 -> 선택 "android-support-v4.jar"-> 모든 지시 사항을 따르십시오. 나는 그것을 삭제할 수 없다 ???

enter image description here

에도, 경우에 나는 2 라이브러리 A와 B 때문에 A와 B의 요구를 모두 "안드로이드 사이에 충돌이 여전히 존재, 내 프로젝트에서"안드로이드 지원-v4.jar "을 삭제할 수 있습니다 -support-v4.jar "를 입력하십시오. 라이브러리 A에서 "android-support-v4.jar"를 삭제하면 라이브러리 A를 컴파일 할 수 없습니다.

+3

프로젝트 계층 구조에서이 jar를 삭제하십시오. 그런 다음 여기에서 다른 하나를 복사하고 속성에서 추가하십시오. 둘 다 똑같은 항아리인지 확인하십시오. 이거 해봤 니? –

+0

/libs/folder를 삭제합니다. – Blundell

+0

내 프로젝트에서 "android-support-v4.jar"을 삭제했습니다. 그러나 라이브러리 A와 라이브러리 B 사이에 여전히 충돌이 있습니다. 라이브러리 A에서 "android-support-v4.jar"를 삭제하면 (libs/폴더를 삭제하십시오), 라이브러리 A를 컴파일 할 수 없습니다. – chipbk10

답변

9

답장을 보내 주셔서 감사합니다. @SercanOzdemir. 해결책은 내 프로젝트이며 모든 의존성 라이브러리는 하나의 "android-support-v4.jar"로 추론해야합니다. 그래서 내가 뭘 내 프로젝트에서

  • , 나는 라이브러리 B에서 도서관
  • 에서 "안드로이드 지원-v4.jar"을 추가하고, 나는 그것의 항아리를 삭제하고, 또한 안드로이드 - 지원 - "추가 v4.jar 도서관 A로부터 "안드로이드 지원-v4.jar"라이브러리 A는

그래서 모두가 하나에 추론에서 "

+0

환영합니다 ^^ –

2

당신은 SupportLibrary jar 파일에 새 라이브러리 프로젝트를 생성하고, 할 수 있습니다 지원 라이브러리가 필요한 모든 프로젝트에서 참조하십시오. 이 방법으로 병 하나를 관리하면됩니다. 지원 라이브러리를 업데이트 할 때마다 깨끗한 빌드를 수행하십시오.

항상 SupportLibrary의 공용 복사본을 유지하고 모든 프로젝트에서 빌드 경로의 외부 jar로 추가 할 수 있습니다. 그러나 프로젝트를 만들어서 가능한 빨리 라이브러리를 업데이트 할 수는 없습니다.

추 신 : SupportLibrary 프로젝트를 생성 할 때 자원을 포함시키지 마십시오. 일반적으로 eclipse는 새 프로젝트를 만들 때 v11/styles.xml 및 values-v14/styles.xml 값을 만듭니다. 이로 인해 다른 라이브러리 프로젝트에 SupportLibrary 프로젝트가 포함될 때 빌드가 실패 할 수 있습니다 (특히 Honeycomb 아래의 API를 대상으로하는 경우).