Android 플랫폼 용어집

Android 오픈 소스 프로젝트(AOSP)의 기본 용어를 알아보려면 아래 목록을 참조하세요. 주요 용어 정의에 대한 다른 소스는 다음과 같습니다.

보다 포괄적인 생태계를 위해 사용하고 피해야 할 용어의 예는 코딩 관련 항목을 참조하십시오.

.apk 파일
Android 애플리케이션 패키지 파일. 각 Android 애플리케이션은 애플리케이션의 모든 코드(.dex 파일), 리소스, 자산 및 매니페스트 파일을 포함하는 단일 파일로 컴파일 및 패키징됩니다. 애플리케이션 패키지 파일은 어떤 이름이든 가질 수 있지만 .apk 확장자 를 사용해야 합니다. 예: myExampleAppname.apk . 편의상 애플리케이션 패키지 파일은 종종 ".apk"라고 합니다.

관련: 애플리케이션 .

동작
텐트 발신자가 원하는 작업에 대한 설명입니다. 작업은 의도에 할당된 문자열 값입니다. 작업 문자열은 Android 또는 타사 개발자가 정의할 수 있습니다. 예를 들어 웹 URL의 경우 android.intent.action.VIEW 또는 휴대전화를 진동시키는 사용자 지정 애플리케이션의 경우 com.example.rumbler.SHAKE_PHONE입니다.

관련: 의도 .

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

관련: .apk , 활동

브로드캐스트 수신기
단일 대상 애플리케이션/활동으로 전송되지 않고 브로드캐스트되는 인텐트를 청취하는 애플리케이션 클래스입니다. 시스템은 의도를 순차적으로 처리하는 관심 있는 모든 브로드캐스트 수신기에 브로드캐스트 의도를 전달합니다.

관련: 인 텐트 , 인 텐트 필터 .

콘텐츠 제공자
애플리케이션의 데이터를 다른 애플리케이션에 안전하게 노출하는 데 사용할 수 있는 데이터 추상화 계층입니다. 콘텐츠 공급자는 특정 형식의 콘텐츠 쿼리 문자열을 처리하여 특정 형식으로 데이터를 반환하는 ContentProvider 클래스를 기반으로 합니다. 자세한 내용은 콘텐츠 제공자 항목을 참조하세요.

관련 항목: Android의 URI 사용

대화
가벼운 형태로 작동하는 플로팅 윈도우. 대화 상자에는 단추 컨트롤만 있을 수 있으며 간단한 작업(예: 단추 선택)을 수행하고 값을 반환하기 위한 것입니다. 대화 상자는 기록 스택에 지속되거나 복잡한 레이아웃을 포함하거나 복잡한 작업을 수행하기 위한 것이 아닙니다. Android는 옵션 버튼이 있는 간단한 기본 대화 상자를 제공하지만 고유한 대화 상자 레이아웃을 정의할 수 있습니다. 대화 상자의 기본 클래스는 Dialog 입니다.

관련: 활동 .

의지
다른 애플리케이션/액티비티를 비동기식으로 시작하거나 통신하는 데 사용할 수 있는 메시지 개체입니다. Intent 객체는 Intent 의 인스턴스입니다. 여기에는 인텐트를 수신하는 애플리케이션/활동과 인텐트를 처리할 때 수신자가 수행하는 작업을 결정하기 위해 제공할 수 있는 여러 기준 필드가 포함됩니다. 사용 가능한 기준에는 원하는 작업, 범주, 데이터 문자열, 데이터의 MIME 유형, 처리 클래스 등이 포함됩니다. 애플리케이션은 Intent를 다른 애플리케이션/액티비티로 직접 보내는 대신 Android 시스템으로 보냅니다. 응용 프로그램은 인텐트를 단일 대상 응용 프로그램으로 보내거나 브로드캐스트로 보낼 수 있습니다. 그러면 여러 응용 프로그램에서 순차적으로 처리할 수 있습니다. Android 시스템은 인텐트에 제공된 기준과 다른 애플리케이션에서 정의한 인텐트 필터를 기반으로 각 인텐트에 대해 가장 사용 가능한 수신기를 확인할 책임이 있습니다. 자세한 내용은 인텐트 및 인텐트 필터 를 참조하십시오.

관련: 인 텐트 필터 , 브로드캐스트 수신기 .

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

관련: 인 텐트 , 브로드캐스트 수신기 .

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

관련: 활동

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

짓다

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

제도법

캔버스
Bitmap 또는 Surface 개체에 대한 실제 비트 합성을 처리하는 드로잉 표면입니다. 비트맵, 선, 원, 사각형, 텍스트 등의 표준 컴퓨터 드로잉을 위한 메서드가 있으며 비트맵 또는 표면에 바인딩됩니다. 캔버스는 화면에 2D 개체를 그리는 가장 간단하고 쉬운 방법입니다. 기본 클래스는 Canvas 입니다.

관련: 드로어블 , OpenGL ES , 표면 .

드로어블
배경, 제목 또는 화면의 다른 부분으로 사용할 수 있는 컴파일된 시각적 리소스입니다. 드로어블은 일반적으로 배경 이미지와 같은 다른 UI 요소에 로드됩니다. 드로어블은 이벤트를 수신할 수 없지만 애니메이션 개체 또는 이미지 라이브러리와 같은 하위 클래스를 활성화하기 위해 "상태" 및 스케줄링과 같은 다양한 기타 속성을 할당합니다. 많은 드로어블 개체는 드로어블 리소스 파일(이미지를 설명하는 xml 또는 비트맵 파일)에서 로드됩니다. 드로어블 리소스는 android.graphics.drawable 의 하위 클래스로 컴파일됩니다. 드로어블 및 기타 리소스에 대한 자세한 내용은 리소스 를 참조하세요.

관련: 리소스 , 캔버스

레이아웃 리소스
활동 화면의 레이아웃을 설명하는 XML 파일입니다.

관련: 리소스

나인패치 / 나인패치 / 나인패치 이미지
기기의 배경 또는 기타 이미지에 사용할 수 있는 크기 조정 가능한 비트맵 리소스입니다. 자세한 내용은 Nine-Patch Stretchable Image 를 참조하십시오.

관련: 리소스 .

OpenGL ES
Android는 하드웨어 가속 3D 렌더링을 위한 OpenGL ES 라이브러리를 제공합니다. 2D 렌더링의 경우 Canvas 가 더 간단한 옵션입니다." OpenGL ES는 사용 편의성을 위해 Android NDK(Native Development Kit) 에서 사용할 수 있습니다. android.opengljavax.microedition.khronos.opengles 패키지는 OpenGL ES 기능을 노출합니다.

관련: 캔버스 , 표면

표면
화면에 합성되는 메모리 블록을 나타내는 Surface 유형의 개체입니다. Surface는 그리기 위한 Canvas 개체를 보유하고 레이어를 그리고 표면 크기를 조정하는 다양한 도우미 메서드를 제공합니다. 이 클래스를 직접 사용하면 안 됩니다. 대신 SurfaceView 를 사용하십시오.

관련: 캔버스

서피스뷰
그리기 위해 Surface를 래핑하고 크기와 형식을 동적으로 지정하는 메서드를 노출하는 View 개체입니다. SurfaceView는 리소스 집약적인 작업(예: 게임 또는 카메라 미리 보기)을 위해 UI 스레드와 독립적으로 그릴 수 있는 방법을 제공하지만 결과적으로 추가 메모리를 사용합니다. SurfaceView는 Canvas 및 OpenGL ES 그래픽을 모두 지원합니다. 기본 클래스는 SurfaceView 입니다.

관련: 표면

주제
다양한 기본 표시 설정을 정의하기 위해 함께 묶인 속성(텍스트 크기, 배경색 등) 집합입니다. Android는 R.style ("Theme_"로 시작)에 나열된 몇 가지 표준 테마를 제공합니다.
보다
화면의 직사각형 영역에 그리고 클릭, 키 입력 및 기타 상호 작용 이벤트를 처리하는 개체입니다. 보기는 활동 또는 대화 화면(텍스트 상자, 창 등)의 대부분의 레이아웃 구성 요소에 대한 기본 클래스입니다. 부모 개체( ViewGroup 참조)에서 호출을 받아 자신을 그리고 부모 개체에 원하는 위치와 크기(부모가 존중할 수도 있고 그렇지 않을 수도 있음)를 알립니다. 자세한 내용은 View 를 참조하십시오.

관련 항목: 계층 보기 , ViewGroup , 위젯

계층 구조 보기
앱의 각 구성 요소에 대한 사용자 인터페이스를 정의하는 View 및 ViewGroup 개체의 배열입니다. 계층 구조는 하나 이상의 하위 보기 또는 보기 그룹을 포함하는 보기 그룹으로 구성됩니다. Android SDK와 함께 제공되는 Hierarchy Viewer 를 사용하여 디버깅 및 최적화를 위한 뷰 계층 구조의 시각적 표현을 얻을 수 있습니다.

관련 항목: 보기 , 보기 그룹

보기 그룹
자식 보기 집합을 그룹화하는 컨테이너 개체입니다. 뷰 그룹은 자식 뷰의 위치와 크기를 결정하고 적절할 때 각각을 호출하여 자체적으로 그릴 책임이 있습니다. 일부 보기 그룹은 보이지 않고 레이아웃 전용인 반면 다른 보기 그룹에는 고유한 UI(예: 스크롤 목록 상자)가 있습니다. 보기 그룹은 모두 widget 패키지에 있지만 ViewGroup 을 확장합니다.

관련 항목: 보기 , 계층 보기

위젯
텍스트 상자나 팝업 메뉴와 같은 양식 요소 및 기타 UI 구성 요소를 렌더링하는 완전히 구현된 View 하위 클래스 집합 중 하나입니다. 위젯은 완벽하게 구현되어 있기 때문에 자체 측정 및 그리기, 화면 이벤트에 대한 응답을 처리합니다. 위젯은 모두 android.widget 패키지에 있습니다.
창문
Android 애플리케이션에서 모양과 느낌(제목 표시줄 텍스트, 위치 및 메뉴 내용 등)과 같은 일반 창의 요소를 지정하는 추상 클래스 Window 에서 파생된 개체입니다. Dialog 및 Activity는 이 클래스의 구현을 사용하여 창을 렌더링합니다. 이 클래스를 구현하거나 응용 프로그램에서 창을 사용할 필요가 없습니다.

플랫폼

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 파일은 Java 프로그래밍 언어로 작성된 컴파일된 응용 프로그램을 자동으로 번역하여 만들 수 있습니다.

테스트

유물
아티팩트는 로컬 문제 해결을 가능하게 하는 빌드 관련 로그입니다. 이러한 로그는 변경 목록을 볼 때 Gerrit 에서 직접 액세스할 수 있습니다. 사전 제출 상태 까지 아래로 스크롤하고 빨간색 빌드 링크를 클릭하여 연관된 build_error.log 파일을 보거나 다운로드하십시오. 대상 및 빌드에 대한 다운로드(아래쪽 화살표) 아이콘을 클릭하여 ci.android.com/ 의 중앙 Android 지속적 통합 서버에서 이러한 아티팩트를 가져올 수도 있습니다. 아티팩트를 찾는 방법에 대한 자세한 내용은 Android 지속적 통합 을 참조하세요.
CDD
Android CDD(호환성 정의 문서)는 장치가 최신 버전의 Android와 호환되기 위해 충족해야 하는 요구 사항을 열거합니다. Android와 호환되는 것으로 간주되려면 기기 구현이 참조로 통합된 모든 문서를 포함하여 이 호환성 정의에 제시된 요구사항을 충족해야 합니다. CDD에 대한 자세한 내용은 Android 호환성 정의 문서 를 참조하세요.
CTS
호환성 테스트 도구 모음(CTS)은 API 정확성 및 CDD에 제시된 사양을 보장하기 위한 테스트 도구 모음입니다. AOSP 내에서 소스로 사용할 수 있으며 바이너리로 다운로드할 수 있습니다. 자세한 내용은 호환성 테스트 도구 모음 을 참조하십시오.
CTS 인증기
Compatibility Test Suite Verifier(CTS Verifier)는 CTS를 보완합니다. CTS 인증 도구는 수동 입력(예: 오디오 품질, 가속도계 등) 없이는 고정 장치에서 테스트할 수 없는 API 및 기능에 대한 테스트를 제공합니다. 자세한 내용은 CTS 인증 도구 사용 을 참조하세요.
디버깅
디버깅을 위해서는 기능 또는 해당 테스트에서 Android 플랫폼 코드의 오류를 찾고 수정해야 합니다. 자세한 내용은 네이티브 Android 플랫폼 코드 디버깅 을 참조하세요.
Google 테스트(GTest)
GTest는 Google의 C++ 테스트 및 조롱 프레임워크입니다. GTest 바이너리는 일반적으로 하위 수준 추상화 계층에 액세스하거나 다양한 시스템 서비스에 대해 원시 IPC를 수행합니다. 이 때문에 Gtest에 대한 테스트 접근 방식은 일반적으로 테스트 중인 서비스와 밀접하게 결합됩니다. github.com/google/googletest 에서 코드를 찾고 google.github.io/googletest 에서 문서를 찾으세요.
계측 테스트
계측 테스트는 am instrument 명령으로 시작되는 특수 테스트 실행 환경을 제공합니다. 여기에서 대상 애플리케이션 프로세스가 다시 시작되고 기본 애플리케이션 컨텍스트로 초기화되며 계측 스레드가 애플리케이션 프로세스 가상 머신 내에서 시작됩니다. 자세한 내용은 계측 테스트 를 참조하십시오.
로그캣
Logcat은 기기에서 오류가 발생할 때의 스택 추적 및 앱에서 Log 클래스로 작성한 메시지를 포함하여 시스템 메시지의 로그를 덤프하는 명령줄 도구입니다. 자세한 내용은 Logcat 명령줄 도구 를 참조하세요.
벌채 반출
logcat 에 결합되어 사용되는 표준이 혼합되어 있기 때문에 Android의 로그인은 복잡합니다. 사용되는 주요 표준에 대한 자세한 내용은 로깅 이해 를 참조하십시오.
병합 충돌
병합 충돌은 동일한 파일의 두 개 이상의 버전을 더 이상 Android 빌드 서버에서 자동으로 병합할 수 없을 때 발생합니다. 충돌하는 모든 업데이트를 해결하려면 일반적으로 파일을 수동으로 편집해야 합니다.
사전 제출 및 사후 제출 테스트
사전 제출 테스트는 실패가 일반 커널에 도입되는 것을 방지하는 데 사용됩니다. 결과는 현재 공개되지 않습니다.

Android 사후 제출 테스트 는 새 패치가 공통 커널 분기에 커밋될 때 수행됩니다. 부분 브랜치 이름으로 aosp_kernel 을 입력하면 사용 가능한 결과와 함께 커널 브랜치 목록을 볼 수 있습니다. 예를 들어 `android-mainline`에 대한 결과는 여기 에서 찾을 수 있습니다.
트레이드페드
Trade Federation(Tradefed 또는 줄여서 TF) 테스트 하네스는 Android 기기에서 테스트를 실행하도록 설계된 연속 테스트 프레임워크입니다. 예를 들어 Tradefed는 CTS 및 VTS를 실행하는 데 사용됩니다. 자세한 내용은 Trade Federation 개요 를 참조하십시오.
VTS
Android VTS(Vendor Test Suite)는 Android 테스트를 위한 광범위한 기능을 제공하고 테스트 기반 개발 프로세스를 촉진하며 HAL 및 OS 커널 테스트를 자동화합니다. 자세한 내용은 VTS(Vendor Test Suite) 및 인프라 를 참조하십시오.