Jar Mismatch 의존성 목록에서 android-support-v4.jar의 2 가지 버전을 찾았습니다.


130

2 가지 버전의 Android 앱 (무료 / 유료)을 만들려고합니다. 둘 다 공통 파일이 포함 된 Android 라이브러리가 있습니다. 새 Android 프로젝트를 만들고 라이브러리를 사용하려고하는데 아래 오류가 발생합니다.

Found 2 versions of android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/Zaheer/Developer/App Free/libs/android-support-v4.jar
    Length: 349252
    SHA-1: 612846c9857077a039b533718f72db3bc041d389
Path: /Users/Zaheer/Developer/App Library/libs/android-support-v4.jar
    Length: 337562
    SHA-1: 27c24d26e4c5d57976e6926367985548678e913c

이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 나는 성공하지 못한 빌드 길을 가지고 놀고 있습니다.


나는 아주 발견 간단한 해결책 이러한 상황에서 작동, 내 대답은 아래를 체크 아웃
gprathour

답변:


177

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

하나를 삭제하십시오.

나는 성공하지 못한 빌드 길을 가지고 놀고 있습니다.

1 단계 : 모든 작업을 취소하십시오. R16 이상 버전의 Eclipse 용 ADT 플러그인에서 빌드 경로가 혼란 스러우면 잘못한 것입니다.

2 단계 : JAR의 두 버전 중 하나를 선택하거나 SDK 설치의 "extras"영역에서 하나를 선택하십시오.

3 단계 : 올바른 JAR을에 넣습니다 App Library.

단계 # 4 :에서 App FreeJAR 파일을 가져 오기 때문에 에서 하나를 삭제하십시오 App Library.

두 지점 ( App FreeApp Library) 에 동일한 실제 JAR 파일을 대신 사용할 수 있지만 아무 이유없이 추가 공간을 차지합니다.


1
@Necronet : 모두 동일한 JAR을 사용하십시오. 예를 들어, 최신 프로젝트를 각 프로젝트에 복사하십시오.
CommonsWare

@CommonsWare : 최신 버전을 확인하는 방법?
Mehul Joisar

2
@MehulJoisar : JAR 작성자의 책임입니다. 의 경우 android-support-v4.jar최신 버전은 SDK 설치의 최신 버전입니다.
CommonsWare

5
@MehulJoisar : 대답 할 수 없습니다. 나는 일반적으로 android-support-v4.jarSDK 에서 최신 버전 을 가져 와서 모든 라이브러리 프로젝트에 복사하고 SDK에서 하나를 삭제합니다.
CommonsWare

1
방금이 문제가 있었지만 다른 (더 어려운) Eclipse / Android 문제와 마찬가지로 완전히 파란색으로 보였습니다. 이 답변은 효과를 해결하지만 분명히 원인은 아닙니다.
Joe Lapp

24
  1. 앱 무료에서 android-support-v4.jar 삭제
  2. App Library에서 App Free로 동일한 파일 추가

@Lee Chun Hoe MAC OS에서이 경로로 이동하는 방법을 알려주세요. android-support-v4.jar을 삭제하고 싶습니다.
Rakesh

@Rakesh Eclipse 패키지 탐색기에서 프로젝트를 확장하고 libs 폴더 아래에서 해당 android-support-v4.jar 파일을 삭제하십시오.
이춘호

12

위의 솔루션은 대부분 문제를 해결합니다. 이러한 솔루션을 사용한 후에도 문제가 지속됩니다. 그때

프로젝트 폴더-> libs->로 이동하여 "android-support-v4.jar"을 삭제하십시오.

내 문제가 해결되어 문제가 해결되기를 바랐습니다.


11

및 빌드 경로 android-support-v4.jar에 여러 개의 라이브러리 프로젝트가 있고 libs프로젝트가 두 프로젝트 모두에 종속 되는 시나리오 가 있습니다. 예를 들어 내 경우에는 작업 공간에 다음 라이브러리 프로젝트가 있습니다.

  • libfacebook
  • libsherlockactionbar

이 두 프로젝트는 독립적이며 project.properties다음과 같습니다.

# Project target.
target=android-17
android.library.reference.1=../libfacebook
android.library.reference.2=../libsherlockactionbar

프로젝트를 빌드하면 동일한 파일의 두 복사본에 대한 중복 참조가있는 jar 불일치 문제가 발생합니다. 이 문제를 해결하기 위해 한 것은 약간의 속임수입니다. 및을 포함하여 내 작업 공간 libcommons의 다른 모든 라이브러리 프로젝트에 대한 부모 라는 새 라이브러리 프로젝트를 만들었습니다 . 그런 다음 다른 모든 프로젝트에서 지원 라이브러리를 제거하고 의 libs 폴더 안에 사본 하나만 보관했습니다 . 그런 다음 다른 모든 라이브러리 프로젝트에 대한 참조로 추가 했습니다. 작업 공간을 정리하면 모든 것이 매력처럼 작동합니다.libfacebooklibsherlockactionbarlibcommonslibcommons


8

이것은 파일을 삭제하고 추가하는 것보다 더 우아한 수정입니다!

당신은 단지해야합니다 :

  1. 프로젝트 앱을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. "Android 도구"> "지원 라이브러리 추가"로 이동
  3. 권한을 승인하고 라이브러리를 업데이트하도록합니다
  4. 프로젝트 App Library에 대해이 프로세스를 반복하십시오.

그러면 Android 지원 라이브러리가 동기화됩니다 (:


감사합니다-이것은 내 문제를 해결했습니다. BaseGameUtils를 추가하고 다음과 같은 오류가 발생했습니다 :)
neowhoru

@neowhoru, 문제 없습니다! 공유하게 된 것을 기쁘게 생각합니다!
cokeby190

1
@MuhammedRefaat에 도움이되어 기쁩니다! (:
cokeby190

7

매우 간단한 솔루션

매우 간단한 해결책은 제 경우에 효과적이었습니다. 동일한 (android-support-v4.jar) jar 파일을 모든 프로젝트에 복사하십시오. 더 이상 갈등이 없습니다.

1 jar 파일 android-support-v4.jar을 프로젝트의 libs 폴더에서 복사하십시오.

2 이미 존재하는 두 번째 프로젝트의 libs 폴더에서 jar 파일 android-support-v4.jar을 삭제합니다.

3 첫 번째 프로젝트의 새로 복사 된 jar 파일을 두 번째 프로젝트의 libs 폴더에 붙여 넣습니다.

jar 불일치 문제는 이제 해결 될 것입니다.


5

라이브러리를 프로젝트 중 하나에서 다른 프로젝트로 복사하십시오. 타임 스탬프가 둘 다 동일해야 할 수도 있습니다.


4

해결:

  1. '무료'프로젝트> Android 도구> 지원 라이브러리 추가를 마우스 오른쪽 단추로 클릭하십시오.
  2. '유료'프로젝트에서 동일한 작업을 수행하십시오.
  3. 모든 프로젝트 정리

2

관련이없는 프로젝트가 열려 있는지 확인하십시오. 그 이유는 JAR 파일 중 하나가 다른 프로젝트와 관련이있는 것 같습니다. 내가하고있는 프로젝트를 빌드하고 더 이상 문제가 없었습니다! 이것이 누군가를 돕기를 바랍니다!


1

라이브러리와 프로젝트 모두에서 외부 항아리를 추가하는 동안 동일한 항아리를 사용하십시오.


1

잘 .. 그것은 나를 위해 작동합니다 :

이동

프로젝트 폴더> libs

그런 다음 "android-support-v4.jar"을 삭제하십시오.

그때

프로젝트> 청소

작동합니다!


1

방금이 문제가 있었지만 충돌하는 android-support-v4.jar 을 삭제하는 대신 이름을 android-support-v4_PROJECT.jar로 바꾸어 충돌을 제거했습니다.

Eclipse에서 파일 이름을 바꾸는 방법이 궁금하다면 파일을 강조 표시하고 F2를 누르기 만하면됩니다.


0

각 프로젝트에서 정확히 동일한 android-support-v4.jar 체크섬이 필요합니다. 이를 위해 충돌하는 모든 프로젝트 / 라이브러리에서 그 중 하나를 복사 / 붙여 넣을 수 있습니다.

아무것도 할, 청소하고 즐길 수 없습니다 :)


0

2 개의 프로젝트를 동시에 열 수 있습니까 (둘 다 android-support-v4.jar 사용). I close 1 project and every thing ok

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.