Android 플랫폼 용어

아래 목록에서 Android 오픈소스 프로젝트(AOSP)의 기본 용어를 확인하세요. 주요 용어 정의의 기타 출처는 다음과 같습니다.

더 포용적인 생태계를 조성하기 위해 사용하거나 사용하지 않아야 할 용어의 예는 사용자를 존중하는 코딩을 참고하세요.

.apk 파일
Android 애플리케이션 패키지 파일. 각 Android 애플리케이션은 애플리케이션의 코드(.dex 파일), 리소스, 애셋, 매니페스트 파일이 모두 포함된 단일 파일로 컴파일 및 패키징됩니다. 애플리케이션 패키지 파일에는 원하는 이름을 지정할 수 있지만 .apk 확장자를 사용해야 합니다. 예: myExampleAppname.apk. 편의상 애플리케이션 패키지 파일을 일반적으로 '.apk'라고 합니다.

관련 항목: 애플리케이션

작업
인텐트 발신자가 완료하고자 하는 항목의 설명. 작업은 인텐트에 할당된 문자열 값입니다. 작업 문자열은 Android 또는 타사 개발자가 정의할 수 있습니다. 예: 웹 URL의 android.intent.action.VIEW 또는 스마트폰을 진동시키기 위한 맞춤 애플리케이션의 com.example.rumbler.SHAKE_PHONE.

관련 항목: 인텐트

활동
Activity 클래스에서 파생된 지원하는 자바 코드가 있는 애플리케이션의 단일 화면. 일반적으로 활동은 UI 이벤트를 받아서 처리하고 복잡한 작업을 실행할 수 있는 전체 화면 창으로 표시되는데 이는 활동이 창을 렌더링할 때 사용하는 특정 창 때문입니다. 활동은 일반적으로 전체 화면이지만 플로팅되거나 투명할 수도 있습니다.
애플리케이션
구성요소의 관점에서 Android 애플리케이션은 하나 이상의 활동, 서비스, 리스너 및 인텐트 수신자로 구성됩니다. 소스 파일의 관점에서 Android 애플리케이션은 코드, 리소스, 애셋 및 단일 매니페스트로 구성됩니다. 컴파일하는 동안 이러한 파일은 애플리케이션 패키지 파일(.apk)이라는 단일 파일로 패키징됩니다.

관련 항목: .apk, 활동

Broadcast Receiver
단일 타겟 애플리케이션/활동에 전송되지 않고 브로드캐스트 인텐트를 수신 대기하는 애플리케이션 클래스. 시스템에서 관심 있는 모든 broadcast receiver에 브로드캐스트 인텐트를 전달하며 broadcast receiver에서 인텐트를 순차적으로 처리합니다.

관련 항목: 인텐트, 인텐트 필터

콘텐츠 제공업체
애플리케이션의 데이터를 다른 애플리케이션에 안전하게 노출하기 위해 사용할 수 있는 데이터 추상화 레이어. 콘텐츠 제공업체는 특정 형식의 콘텐츠 쿼리 문자열을 처리하여 특정 형식의 데이터를 반환하는 ContentProvider 클래스를 기반으로 빌드됩니다. 자세한 내용은 콘텐츠 제공업체 주제를 참고하세요.

관련 항목: Android에서의 URI 사용

대화상자
가벼운 양식처럼 작동하는 플로팅 창. 대화상자는 버튼 컨트롤만 포함하고 간단한 작업(예: 버튼 선택)을 실행하고 값을 반환하기 위해 사용할 수 있습니다. 대화상자는 기록 스택에 유지되거나 복잡한 레이아웃을 포함하거나 복잡한 작업을 실행하지 않습니다. Android에는 선택적 버튼이 포함된 간단한 기본 대화상자가 제공되지만 개발자가 고유한 대화상자 레이아웃을 정의할 수 있습니다. 대화상자의 기본 클래스는 Dialog입니다.

관련 항목: 활동

인텐트
다른 애플리케이션/활동을 실행하거나 다른 애플리케이션/활동과 비동기식으로 통신하는 데 사용할 수 있는 메시지 객체. 인텐트 객체는 Intent의 인스턴스로, 인텐트를 수신하는 애플리케이션/활동 및 인텐트를 처리할 때 수신자가 실행하는 작업을 결정하기 위해 제공할 수 있는 여러 기준 필드가 포함됩니다. 사용할 수 있는 기준에는 원하는 작업, 카테고리, 데이터 문자열, 데이터의 MIME 유형, 처리 클래스 등이 있습니다. 애플리케이션은 인텐트를 다른 애플리케이션/활동에 직접 전송하지 않고 Android 시스템에 전송합니다. 애플리케이션에서는 인텐트를 단일 타겟 애플리케이션에 전송하거나 여러 애플리케이션에 의해 순차적으로 처리되는 브로드캐스트로 전송할 수 있습니다. Android 시스템이 다른 애플리케이션에서 정의한 인텐트 및 인텐트 필터에 제공된 기준을 기반으로 각 인텐트에 가장 적합한 수신자를 결정해야 합니다. 자세한 내용은 인텐트 및 인텐트 필터를 참고하세요.

관련 항목: 인텐트 필터, Broadcast Receiver.

인텐트 필터
애플리케이션이 애플리케이션의 각 구성요소에서 허용되는 인텐트의 유형 및 허용 기준을 시스템에 알리기 위해 매니페스트 파일에서 선언하는 필터 객체. 애플리케이션은 인텐트 필터를 통해 특정 데이터 유형, 인텐트 작업, URI 형식 등에 관심을 표현할 수 있습니다. 시스템에서는 인텐트를 해결할 때 모든 애플리케이션의 사용 가능한 모든 인텐트 필터를 평가하고 인텐트 및 기준과 가장 일치하는 애플리케이션/활동에 인텐트를 전달합니다. 자세한 내용은 인텐트 및 인텐트 필터를 참고하세요.

관련 항목: 인텐트, Broadcast Receiver

리소스
컴파일된 애플리케이션 코드에 포함되지 않지만 잘 알려진 참조 형식을 사용하여 애플리케이션 코드에서 로드할 수 있는 비 프로그래매틱 애플리케이션 구성요소. Android는 다양한 리소스 유형을 지원하지만 일반적인 애플리케이션 리소스는 UI 문자열, UI 레이아웃 구성요소, 그래픽 또는 기타 미디어 파일 등으로 구성됩니다. 애플리케이션은 리소스를 사용하여 현지화 및 다양한 기기 프로필과 상태를 효율적으로 지원합니다. 예를 들어 애플리케이션에 지원되는 로컬 또는 기기 유형별로 별도의 리소스 집합을 포함하고 현재 화면 방향(가로 또는 세로)에 적합한 레이아웃 리소스를 포함할 수 있습니다. 리소스에 관한 자세한 내용은 리소스 및 애셋을 참고하세요. 애플리케이션의 리소스는 항상 프로젝트의 res/* 하위 폴더에 저장됩니다.
서비스
다양한 지속적인 작업(예: 음악 재생, 네트워크 활동 모니터링)을 실행하기 위해 백그라운드로(UI 존재 없이) 실행되는 Service 클래스 객체.

관련 항목: 활동

Android의 URI
Android는 URI(Uniform Resource Identifier) 문자열을 콘텐츠 제공업체에서 데이터를 요청(예: 연락처 목록 가져오기)하고 인텐트에서 작업을 요청(예: 브라우저에서 웹페이지 열기)하기 위한 기반으로 사용합니다. URI 스키마와 형식은 사용 유형에 따라 특수화되며 애플리케이션에서 원하는 방식으로 특정 URI 스키마와 문자열을 처리할 수 있습니다. 일부 URI 스키마는 시스템 구성요소에 의해 예약됩니다. 예를 들어 콘텐츠 제공업체의 데이터 요청에서는 content://를 사용해야 합니다. 인텐트에서 http:// 스키마를 사용하는 URI는 브라우저에 의해 처리됩니다.

빌드

adb
Android 디버그 브리지는 SDK와 함께 포함되는 명령줄 디버깅 애플리케이션으로, 기기를 둘러보고 기기에 도구를 복사하고 디버깅을 위한 포트를 전달하는 도구를 제공합니다. Android 스튜디오에서 개발하는 경우 adb가 개발 환경에 통합됩니다. 자세한 내용은 Android 디버그 브리지를 참고하세요.
Android 프로젝트
Android Gerrit 호스트의 Git 저장소입니다. 자세한 내용은 Source Control Tools > Gerrit에서 확인하세요.
빌드 지문
빌드 지문은 각 빌드에 발행된 제조업체 정보를 포함하며, 사람이 읽을 수 있는 고유한 문자열입니다. 자세한 내용은 빌드 지문 이해를 참고하세요.
Git 브랜치 - 표준
각 Git 저장소의 고유한 버전(예: android-11.0.0_r1)으로, cs.android.com/android/platform/superproject/+/android-11.0.0_r1에서 확인할 수 있습니다. 자세한 내용은 Git 브랜치 - 브랜치 요약을 참고하세요.
Git 브랜치 - 로컬
현재 Repo 클라이언트의 임시 브랜치로, 코드를 변경하며, 실제 개발 줄인 repo start branch-name . 명령어로 시작됩니다. 브랜치에서 가장 최근 커밋은 브랜치의 팁이라고 합니다.
Git 저장소
프로젝트라고도 하며 기기의 특정 구성요소나 유형(예: frameworks/base 또는 platform/packages/apps/Car/Media)을 나타내는 코드베이스의 일부입니다.
매니페스트 파일
XML 파일로, 브랜치별 Git 저장소 그룹화, 이러한 저장소를 확인할 Git 버전, 파일 시스템의 레이아웃을 설명합니다. 일반적으로 default.xml이라는 이름의 이 XML 파일은 Repo 브랜치와 연결되어 있으며 Repo 브랜치를 초기화하고 동기화할 때 체크아웃되는 Git 저장소 및 Git 브랜치를 설명합니다. XML 파일은 제품(예: Android Automotive OS)을 빌드하기 위해 Repo 도구가 Repo 클라이언트 확인으로 가져와야 하는 다양한 Git 저장소를 정의합니다. android.googlesource.com/platform/manifest/+refs에서 모든 매니페스트를 확인하세요. Android 플랫폼(AOSP) 파일을 가져올 매니페스트는 android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml에서 AndroidManifest 파일에 포함된 기본 매니페스트를 확인하세요. 앱 정보에 관한 AndroidManifest.xml 파일 및 플랫폼 개발에 관한 repo 매니페스트 형식을 참고하세요.
무선 업데이트(OTA)
일반 Android 기기는 무선 업데이트(OTA)를 설치하여 시스템, 애플리케이션 소프트웨어 및 시간대 규칙을 수신할 수 있습니다. 자세한 내용은 OTA 업데이트를 참고하세요.
Repo 브랜치
repo initrepo sync 명령어를 통해 다운로드된 android11-gsi 또는 aosp-android-games-sdk와 같은 Android 코드베이스 버전(빌드)을 나타내는 AndroidManifest 파일에 수집된 Git 저장소 모음입니다. 모든 매니페스트 파일의 링크는 매니페스트 파일 설명을 참고하고 빌드를 검색하려면 https://cs.android.com/을 사용하세요.
uprev
일반적으로 uprev는 큰 프로젝트의 구성요소인 하위 프로젝트를 새 버전으로 업데이트합니다. uprev로 업데이트하면 버전이 한 단계 높아지거나 사용 가능한 최신 버전으로 변경됩니다. HIDL 패키지의 경우 부 버전 uprev는 패키지 수준의 하위 호환 확장성을 유지하기 위해 이름과 주 버전을 이전 패키지와 동일하게 유지하면서 새 패키지를 한 단계 높은 부 버전으로 업데이트합니다. 부트로더 구성의 경우 uprev는 부팅 헤더 버전 지원을 최신 버전으로 업데이트합니다.

플랫폼

Android 런타임(ART) 및 Dalvik
Android 런타임(ART)은 Android의 애플리케이션 및 일부 시스템 서비스에서 사용하는 관리형 런타임입니다. Android 런타임(ART)은 Android 5.0(API 수준 21) 이상이 실행되는 기기의 기본 런타임입니다. ART와 그 전의 Dalvik은 원래 Android 오픈소스 프로젝트용으로 특별히 제작된 것입니다. ART는 런타임으로서 Dalvik Executable 형식 및 Dex 바이트 코드 사양을 실행합니다. ART와 Dalvik은 Dex 바이트 코드를 실행하는 호환 가능한 런타임이므로, Dalvik용으로 개발된 앱은 ART로 실행 시에도 작동해야 합니다.
코드 라인
코드 라인에는 소프트웨어 제품의 출시가 포함되어 있습니다. 코드 라인은 하나 이상의 저장소에서 비롯된 여러 브랜치로 구성되며, 이러한 브랜치는 동시에 개발 중일 때가 많습니다. 코드 라인은 출시를 위한 집계 지점이자 대상입니다. 코드 라인에 관한 자세한 내용은 Android 소프트웨어 관리를 참고하세요.
.dex 파일
컴파일된 Android 애플리케이션 코드 파일.

Android 프로그램은 .dex(Dalvik Executable) 파일로 컴파일된 후 기기의 단일 .apk 파일로 압축됩니다. .dex 파일은 자바 프로그래밍 언어로 작성하여 컴파일된 애플리케이션을 자동으로 변환하여 만들 수 있습니다.