Title : What is Library in Android
01. 외부 라이브러리란?
타 개발자 혹은 기업에서 만든 코드와 기능을 묶어 제공하는 재사용 가능한 패키지이다.
외부 라이브러리를 사용하면 이미 구현되어 있는 특정 기능을 내가 직접 구현하지 않더라도
프로젝트에 해당 라이브러리를 추가만 하여 사용할 수 있다는 장점이 있다.
예로, 네트워크 통신에서 사용되는 Retrofit이나 이미지 로딩의 Glide, Picasso 등이 있다.
외부 라이브러리가 있다면, 내부 라이브러리도 있을 텐데, 이는 안드로이드 SDK에 기본적으로
포함되어 있는 라이브러리를 의미하며, 흔히들 사용하는 android.view, android.widget 등이 있다.
02. 프로젝트에 라이브러리를 추가하는 방법
현대적인 방법
일반적으로 안드로이드 개발자들이 사용하는 방법으로, Maven이나 JitPack 등의
원격 저장소에서 제공하는 라이브러리를 implementation을 통해 다운받는 것
dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
}
gradle 파일의 dependencies 섹션 하위에 다운받고자 하는 라이브러리 경로를 입력 후
sync now를 선택하면 자동으로 다운 받을 수 있다. 대부분이 해당 방법을 이용하고 있을 것이다.
상대적 과거 방식
JAR나 AAR 등의 라이브러리 파일을 직접 프로젝트에 추가하는 방식이다.
app/libs 폴더를 생성하고, 라이브러리 파일을 해당 폴더에 복사 후 위와 동일하게
gradle 파일의 dependencies 섹션 하위에 경로를 지정하면 된다.
dependencies {
implementation files('libs/your-library.jar')
}
03. 라이브러리 파일이 생성되는 과정
라이브러리 파일이란 여러 소스 파일들을 컴파일한 형태로 제공되는 파일을 의미한다.
보안성, 배포 효율성, 호환성 보장 등의 이유로 개발한 기능을 담고 있는 여러 개의 소스 파일이 아닌
컴파일된 하나의 라이브러리 파일(.jar, .aar)로 제공하는데, 컴파일이 어떤 과정으로 진행되는지
아주 간단하게만 알아보도록 하자.
01) .java 파일 -> .class 파일
자바 소스 파일(.java)이 자바 컴파일러(javac)를 통해 바이트 코드(.class)로 변환된다.
바이트 코드란 JVM에서 실행되는 중간 단계의 코드를 의미한다.(기계어가 아니다)
02) .class 파일 -> .jar 파일
.class 파일들을 묶어 하나의 .jar(Java Archive) 파일로 생성한다.
02-1) -> .aar 파일
.jar 파일은 확장자명만 봐도 알 수 있듯이 자바 코드를 라이브러리로 압축한 것이다.
안드로이드에는 자바 코드 외에도 리소스 및 Manifest 파일이 포함되어야 하기 때문에
.jar 파일을 안드로이드 전용 라이브러리 파일인 .aar 파일로 확장(?)해주어야 한다.
단어 사전
[1] :
[2] :
Reference :
'2024.10~ > 일일 학습 노트' 카테고리의 다른 글
[2024-12-15] HTTP 프로토콜 강의 메모(1) (0) | 2024.12.15 |
---|---|
[2024-11-24] Kotlin 문법 입문 스타트 (0) | 2024.11.24 |
[2024-11-19] 코테 기초(입력된 문자열을 정수로 변환 후 각 자리의 합 반환하기) (1) | 2024.11.19 |
[2024-11-17] Do it! 알고리즘 코딩테스트 with JAVA 강의 필기 노트(배열) (0) | 2024.11.17 |
[2024-11-17] Fragment 기초 개념 다지기(with 깡쌤의 안드로이드 프로그래밍 with 자바) (0) | 2024.11.17 |