선 해결책 후 설명 : project.properties 파일의 라이브러리 참조 경로를 상대경로로 바꾼다.
Github에서든 어디서든 남의 라이브러리를 가져와서 써볼라고
import를 한 후, 내project- 오른클릭- properties-android-library 탭- Add 하여
그 라이브러리를 내 프로젝트에 등록을 종종 할 일이 생긴다.
이때 거의 항상 처음에는 녹색 체크표시가 뜨며 기분좋게 된 듯 하다가
다시 properties 들어가보면 빨간색 엑스표시 (x) 가 뜨며 library 참조를 실패했음을 기분나쁘게 보여준다.
처음에 이걸 겪고 삽질을 하다보면. 이건 뭐.. 답이없다.
버그는 에러메시지라도 주지 빨간 엑스표시 보고 뭐어쩌라고..
에러
내프로젝트 - project.properties 파일을 보면
# Project target.
target=android-21
android.library.reference.1=..\\appcompat_v7
android.library.reference.2=C:/Users/[사용자명]/Desktop/[남의 라이브러리 폴더]
요딴게 써있다.
잘 돌아가는 라이브러리 작성자가 만든 예제 프로젝트의 project.properties 을 봤다.
android.library.reference.1= ..\\ [폴더]
이거 비슷하게 있다.
그렇다.
안되는 놈은 절대경로였고, 되는 놈은 상대경로였다.
라이브러리 폴더를 내 프로젝트폴더 안의 androidMenifesto 파일이 있는 곳에 두었다.
( 한 수준 위 폴더에 놓으면 import할때 이미 있는 이름이라며 실패하기에..)
그러고 빨간엑스 라이브러리 지우고, 다시 라이브러리 세팅하면 성공. 녹색 체크가 당당하여라..
(원래 자동으로 되지만 혹시 안된다면 메뉴-project-clean)
두둥....두번째 에러 사냥
다 하고나니 Console에 아래와 같은 에러가 또 뜬다.
[2014-12-25 01:48:43 - Test1] Found 3 versions of android-support-v4.jar in the dependency list,
[2014-12-25 01:48:43 - Test1] but not all the versions are identical (check is based on SHA-1 only at this time).
[2014-12-25 01:48:43 - Test1] All versions of the libraries must be the same at this time.
[2014-12-25 01:48:43 - Test1] Versions found are:
[2014-12-25 01:48:43 - Test1] Path: D:\develop\Android\Test1\Test1\libs\android-support-v4.jar
[2014-12-25 01:48:43 - Test1] Length: 995386
[2014-12-25 01:48:43 - Test1] SHA-1: a13f8fe2c278737e2f0b6fcf00f6b2ae4034aacf
[2014-12-25 01:48:43 - Test1] Path: D:\develop\Android\Test1\Test1\WScratchViewLibrary\libs\android-support-v4.jar
[2014-12-25 01:48:43 - Test1] Length: 385685
[2014-12-25 01:48:43 - Test1] SHA-1: 48c94ae70fa65718b382098237806a5909bb096e
[2014-12-25 01:48:43 - Test1] Path: D:\develop\Android\Test1\appcompat_v7\libs\android-support-v4.jar
[2014-12-25 01:48:43 - Test1] Length: 995386
[2014-12-25 01:48:43 - Test1] SHA-1: a13f8fe2c278737e2f0b6fcf00f6b2ae4034aacf
[2014-12-25 01:48:43 - Test1] Jar mismatch! Fix your dependencies
======
당황하지 말고 영어를 해석해보자.
android-support-v4.jar 파일이 세개가 발견됐는데 SHA-1으로 파일이 동등한지 검사해보니
다른놈이 하나 껴있다는 내용이다.
이거 dependancy 설정 만지는 다른 해결책이 있는 것 같은데 잘 모르겠어서,
막가파 내 방식대로 해결했다.
1. 딴사람의 라이브러리 폴더-libs의 android-support-v4.jar 파일을 지운다.
2. 내 프로젝트 폴더-libs의 android-support-v4.jar 파일을 복사하여 딴사람의 라이브러리 폴더-libs에 붙여넣기
3. project-clean
해결되었다. 이 조치로 인해 아직까지 큰 문제는 없었으나, 향후 발생할 문제에 대해서는 책임지지 않기로 한다. (무책임)
p.s. 포스팅으로 보기엔 따박따박 해결책을 바로 찾은걸로 보이나 실제로는 수시간의 개삽질을 했음을 알립니다.