2015년 1월 27일 화요일

[Android][java] Private Libraries, Android Dependencies, libs 알아보기


인터넷에서 예제 소스를 다운받아보다 이런 라이브러리 폴더(?)들을 많이 접하게 되었다.
라이브러리에 관련된 것이라는 것은 알고 있었지만, 정확히 어떤 것인지 몰라 많이 헤맬때가 많았다. 그래서 정리해봤다.


1. Android 4.4W.2 (안드로이드 버전마다 다름)
  • android.jar
Android 4.4W.2 버전의 기본 API library이다. 지정한 안드로이드 버전의 android.jar 라이브러리가 들어있다. 그러므로 이 library는 새로운 프로젝트를 생성할 때, 선택한 Android API level에 맞춰서 자동으로 생성된다.


2. Android Private Libraries
  • android-support-v7-appcompat.jar
  • android_support-v4
Android 버전이 낮은 디바이스에서 실행하기 위해 필요한 support library이다. 예를들어 Android API 19를 타겟으로 컴파일 했을 때, 이것을 낮은 API 버전의 디바이스에서 실행하기 위해서 android_support-v4 library가 필요하다.

v7과 v4의 차이점은 v7은 안드로이드 버전 3.0이상, v4는 안드로이드 버전 2.0이상의 디바이스에서의 실행을 지원한다.


3. Android Dependencies

Android Dependencies와 2번의 Android Private Libraries는 사실 '폴더'가 아니다. 이것들은 이클립스에서 사용자의 편의를 위해 만들어 놓은 것이다.

프로젝트를 생성하면, support library인 v4와 v7이 appcompat_v7_x/libs 폴더에 생성된다.

이것들을 Android Private Libraries는 단지 참조하는 것이다. 

그리고 Android Dependencies는 어떤 appcompat_v7_x 가 참조되고 사용되는지 알려준다.

libs와 Android Private Libraries는 이클립스 내에서 이름 옆에 표시되는 아이콘 부터 다른 모양이다. libs는 폴더이지만 Android Private Libraries는 실제 폴더가 아니기 때문이다. 그렇기 때문에 당연히 디스크에서 찾을수도 없다.

처음에 공부할 때, libs 에도 android_support-v4가 있고, Android Private Libraries에도 android_support-v4가 있어서 중복으로 충돌이 일어나는게 아닐까 하는 걱정이 있었는데, 중복이 아니었던 것이다!


4. Referenced Libraries

당연히 참조된 Library들을 표시해주는, 사용자의 편의를 위해 이클립스에서 만들어 준 실존하지 않는 폴더이다.


댓글 없음:

댓글 쓰기