ProgramingTip

항아리 불일치!

bestdevel 2020. 10. 29. 08:25
반응형

항아리 불일치! 기술 수정


재현 단계 :

  1. 안드로이드 프로젝트 "MyApp"생성
  2. import ActionBarSherlock (ABS), Directional ViewPager (DVP) 또는 Android 지원 라이브러리를 사용하는 기타 오픈 소스 라이브러리.
  3. "MyApp"프로젝트에 라이브러리 추가

콘솔 로그 :

[2013-04-17 14:27:12 - MyApp] Found 2 versions of android-support-v4.jar in the dependency list,
[2013-04-17 14:27:12 - MyApp] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-04-17 14:27:12 - MyApp] All versions of the libraries must be the same at this time.
[2013-04-17 14:27:12 - MyApp] Versions found are:
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\DVP_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 140011
[2013-04-17 14:27:12 - MyApp]   SHA-1: fc834ac8147bc4ed0b555f90f500a57d4232c448
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\abs_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 271754
[2013-04-17 14:27:12 - MyApp]   SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
[2013-04-17 14:27:12 - MyApp] Jar mismatch! Fix your dependencies

libs 폴더에서 android-support-v4.jar를 삭제하고 하나의 사본 만 보관 가정합니다. 그러나 그것은 내 문제를 해결하지 못합니다.

MyApp 에서 android-support-v4.jar을 삭제 하면 다음 오류가 발생합니다.

 Problems encountered while deleting resources.
 Could not delete 'C:\Users\santhosh\My_Workspace\MyApp\libs\android-support-v4.jar'.

ABS 에서 android-support-v4.jar를 삭제하려고 하면 다음 오류가 발생합니다.

 ????? cannot be resolved to a type error.

프로젝트를 정리했습니다. 프로젝트 속성 수정. Eclipse를 다시 시작하고 빌드하고 가져오고 다시 추가하십시오. 한 라이브러리에서 다른 라이브러리로 libs 폴더의 지원 항아리를 복사했습니다. 두 라이브러리에서 지원 jar를 삭제하고 MyApp 프로젝트에 추가하십시오. 나를 위해 일한 것이 없습니다.

단일 라이브러리를 추가로 강화하면 작동합니다. 단일 프로젝트에 2 개 이상의 라이브러리를 추가하려고 할 때 문제가 발생합니다.

MyApp에 두 개의 개의 라이브러리를 추가 할 때 오류 발생 :

The project was not built since its build path is incomplete. 
Cannot find the class file for android.support.v4.app.FragmentActivity. 
Fix the build path then try building this project MyApp Unknown Java Problem
The type android.support.v4.app.FragmentActivity cannot be resolved. It is indirectly referenced from required .class files MyActivity.java/MyApp/src/com/santhosh/myapp    line 10 Java Problem
Jar mismatch! Fix your dependencies MyApp Unknown Android Dependency Problem

지원 도서관만을위한 도서관 프로젝트 사용

현재 ADT 22 이클립스 유노를 사용

위의 어느 것도 정말 최선의 답이라고 생각하지 않습니다. 또한 external jar이클립스 (AFAIK)에서 더 이상 함수 를 사용하는 것이 권장되지 않는다고 생각합니다 .

오히려 나를 위해 일한 별도의 빈 라이브러리 프로젝트만드는 것입니다 .

그런 다음 Android tools> Add Support Library사용 하여 필요하거나 원하는 최신 버전을 가져옵니다.

그런 다음 다른 모든 프로젝트에서 lib jar를 제거합니다 .

마지막으로 필요한 모든 프로젝트에 대해 새 라이브러리 프로젝트에 대한 참조를 추가하십시오.

(project properties)> Android> (Library box)>Add...

그러면 모든 프로젝트에 지원 라이브러리를 사용하고 업데이트 할 수있는 단일 소스가 있습니다. 이것은 또한 javadocs의 작업을 더 쉽게 만듭니다.

javadocs 설정 방법에 대한 정보는 다음을 참조하십시오.

libs 폴더의 jar에 javadoc 또는 소스를 첨부하는 방법은 무엇입니까?


android-support-v4를 라이브러리에 포함하지 말고 대신 빌드 경로 메뉴> 외부 jar 추가를 사용하여 프로젝트에 외부 jar로 추가 할 수 있습니다.

작업을 정리해야합니다.


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


Actionbarsherlock에는 지원 라이브러리가 있습니다. 지원 라이브러리가 기본적으로 설치되어 있습니다.

android-support-v4.jar프로젝트의 libs 디렉토리에서 제거 .

또한 android-support-v4.jar두-th 라이브러리에서 제거한 다음 다시 시도하십시오.

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


나는 pjco에 동의합니다. 가장 좋은 방법은 developer.android.com 의 가이드에서 지원 라이브러리 설정설명 된 공식 방법 입니다 .

그런 다음 Eclipse "package explorer" 에서 기본 프로젝트를 확장 하고 "libs" 폴더 에서 android-support-v4.jar삭제 합니다 ( Pratik Butani가 제안한대로 ).

이것은 나를 위해 일했습니다.


  1. Jar 불일치는 애플리케이션에서 라이브러리 프로젝트를 사용하고 두 프로젝트가 서로 다른 버전의 동일한 jar를 사용하고 있으므로 애플리케이션에 첨부 된 모든 라이브러리 프로젝트를 확인하면됩니다. 일부 불일치가 있으면 제거하십시오.

  2. 위의 프로세스가 작동하지 않으면 빌드 경로에서 프로젝트 종속성을 제거하고 라이브러리 프로젝트를 다시 추가하고 응용 프로그램을 빌드하십시오.


나는 당신이 새로운 작업 공간을 만들고 그의 lib로 모든 프로젝트를 올바르게 가져오고 android-support-v4.jarsdk 추가 파일의 adb 번들에 외부 jar 추가한다고 생각 합니다. 나는 그것이 당신을 위해 일한다고 생각합니다. 최선을 다해 희망

또한 Android 지원 lib를 사용하면 도움이 될 수 있으며 adt 번들도 업데이트 할 수 있습니다.


라이브러리와 애플리케이션 모두에서 지원 패키지가 필요하다고 생각합니다. 그러나이 문제를 해결하려면 두 위치에 동일한 파일이 있는지 확인하십시오 (동일한 체크섬).

한 위치에서 지원 패키지 파일을 복사하고 다른 위치에 복사 한 다음 라이브러리 / 프로젝트를 정리하고 새로 고치면됩니다.


제 경우에는 작업 공간 내에 프로젝트의 jar 파일과 동일한 jar 파일이있는 다른 디렉토리가있었습니다. 나는 그 디렉토리 나 그 안에 아무것도 만들지 않았다. 내가 믿는 이클립스에 의해 만들어졌다. 방금 해당 디렉토리를 지우고 정상적으로 실행됩니다.


프로젝트-> Android 도구-> 지원 라이브러리 추가를 마우스 오른쪽 버튼으로 클릭합니다.

참고 URL : https://stackoverflow.com/questions/16056914/jar-mismatch-fix-your-dependencies

반응형