Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

사이트 업데이트

이 페이지에서는 source.android.com의 주요 업데이트를 설명합니다.

2020년 3월

2020년 1월

  • Android Flash Tool—Android Flash Tool을 사용하면 개발 또는 테스트 목적으로 기기에 Android 빌드를 플래시할 수 있습니다.

2019년 12월

  • 코드 검색을 이용하여 AOSP를 빠르게 검색—코드 검색은 브라우저를 확인하지 않고 소스 코드를 볼 수 있는 도구로 이를 사용하면 분기 전반에서 참조를 쉽게 탐색할 수 있습니다.
  • 장기적인 지원 커널 업데이트—최신 LTS(Long-Term Supported) 커널로 기기를 정기적으로 업데이트하면 발견되지 않은 잠재적인 보안 취약점을 해결할 수 있습니다. 복잡한 절차이므로 시작하는 데 도움이 되는 기본 단계를 설명했습니다.
  • Android 테스트 스테이션—개발자 및 테스트 엔지니어가 CTS와 같은 표준 Android 테스트 도구 모음을 실행하는 데 사용할 수 있는 테스트 도구입니다.

2019년 11월

2019년 9월

Android 10이 출시되었습니다. 이 사이트의 모든 추가사항을 검토하려면 Android 10 출시 노트를 참조하세요.

Android 10 호환성 정의 문서(CDD)는 여기에서 확인할 수 있습니다.

2019년 8월

  • Soong 빌드 시스템 개요—GNU Make를 대체하기 위해 Soong 빌드 시스템이 도입되었습니다. 이 시스템은 Android 빌드에 필요한 유연성을 제공하지만 일부는 조정해서 사용해야 합니다. 자세한 내용은 새 개요를 참조하세요.
  • Trade Federation 테스트 자동 재시도 - 자동으로 테스트를 재시도하도록 Tradefed를 구성할 수 있습니다. 자동 재시도 기능은 불합격한 테스트만 재실행하므로 많은 시간을 절약할 수 있습니다.
  • Android 보안 확인 - Android 보안 확인 구현 및 디자인 가이드라인이 게시되었습니다. 보안 확인에서는 신뢰할 수 있는 UI라고 하는 하드웨어 보호 사용자 인터페이스를 활용하여 중요한 거래에 확신을 가질 수 있게 해 줍니다.

2019년 7월

  • Trade Federation 계측 테스트 - 계측 테스트 APK 설치, 테스트 실행, 실행 중인 테스트 표시 방법에 관한 안내가 게시되었습니다.
  • Trade Federation 다운로드 - 프레임워크를 직접 빌드할 필요 없이 Trade Federation(TF) 테스트 하네스의 바이너리를 다운로드하는 방법에 관한 안내를 찾을 수 있습니다.

2019년 6월

  • Soong 빌드 시스템 안내 - 빌드 섹션이 Soong 안내 및 참조 파일로 개선되었으며 나중에 필요한 소스 제어 세부사항을 분리하도록 재구성되었습니다.

2019년 5월

  • 사이트 재구성—이전 ART 섹션의 이름이 런타임으로 변경되어 내용의 주제를 더 명확하게 전달합니다. 페이지 제목은 사이트 전체에서 단순화되고 표준화되었습니다. 이제 연결된 탭과 섹션에 개요도 표시됩니다.
  • Trade Federation 안내 - 이제 Trade Federation 테스트 하네스의 정확한 개발 및 테스트 안내, 기본 하네스 아키텍처에 관한 자세한 설명을 확인할 수 있습니다. 또한 여러 기기를 사용하여 자동화된 로깅 및 테스트 실행 관련 정보를 추가했습니다.

2019년 3월

  • 보안 결산—Android 보안 팀에서 2018년 보안 결산을 게시했습니다. 이 포괄적인 보고서에서는 Android 및 Google에서 사용자를 안전하게 보호하기 위해 취하는 조치에 관해 설명합니다.
  • 새로운 커널 빌드—최근 커널 소스는 repo를 사용하여 얻을 수 있으며 소스 체크아웃의 루트에서 build/build.sh를 실행하면 추가 구성 없이 빌드할 수 있습니다.

2019년 2월

  • 간소화된 요구사항 - Android를 빌드하기 위한 소프트웨어 요구사항이 크게 간소화되었으며, 간편한 설치를 위해 이전 버전에 관한 안내가 Docker로 연결되는 별도 페이지로 옮겨졌습니다.
  • Simpleperf—성능 평가가 네이티브 프로세스를 프로파일링하기 위한 필수 Simpleperf 도구 및 앱 CPU 사용을 검사하는 CPU 프로파일러 관련 문서에 연결됩니다.

2018년 8월

수정된 Android 오픈소스 프로젝트(AOSP) 웹사이트에 오신 것을 환영합니다. 사이트의 규모가 커짐에 따라 새로 추가된 정보 및 업데이트된 정보를 더욱 효과적으로 수용하기 위해 플랫폼 문서 탐색 방식을 재구성하였습니다.

주요 변경사항은 아래 하위 섹션에서 확인하세요. 기능 요약, 업데이트 및 추가사항은 출시 노트에서 확인하세요. g.co/androidsourceissue에 버그를 제출하거나 사이트의 모든 페이지 하단에 있는 사이트 의견 링크를 클릭하여 의견을 보내주세요.

보조 가로 메뉴

가장 큰 변화는 페이지를 더욱 자세히 노출시키기 위해 사이트 탐색 내에 보조 가로 메뉴를 도입한 것입니다. 이제 왼쪽 탐색 메뉴가 수십 개의 항목을 포함하는 대신 각 하위 탭에 이 하위 탭에서 식별된 주제와 직접적인 관련이 있는 섹션 및 페이지로 구성된 작은 목록이 포함됩니다.

북마크와 외부 링크가 끊어지지 않도록 기존 문서의 디렉터리 경로와 URL을 아직 업데이트하지 않았다는 점에 유의하시기 바랍니다. 차차 이러한 변경사항을 적용하고 리디렉션을 실행할 예정입니다. 따라서 사이트를 다시 방문하여 새로운 위치를 확인하고 변경사항이 있는 경우 북마크를 업데이트하세요.

설정(Setup)에서 설정(Set up)으로 변경

기본 설정(Set up) 탭은 이후의 기본 탭에 사용되는 동사와 일치하도록 설정(Setup)에서 약간 변경되었습니다. 다운로드빌드 콘텐츠는 내부 페이지에 쉽게 액세스할 수 있도록 별도의 하위 탭으로 나누어졌습니다. 같은 이름의 새로운 최상위 개발 탭과 혼동되지 않도록 개발 하위 섹션이 이제 생성 하위 탭으로 변경되었습니다.

호환성 > 문의하기 페이지의 정보가 기본 설정 > 연락처(커뮤니티) 목록으로 옮겨졌습니다.

호환성에서 디자인으로 변경

최상위 호환성 탭의 정보는 이제 디자인에 있습니다. 프로그램의 개요와 새로운 Android 호환성 정의 문서(CDD) 링크는 호환성 하위 탭에서 확인하세요.

관련 변경사항에서 Android 호환성 테스트 모음(CTS) 및 일반 디버깅 정보가 새로운 테스트 하위 탭으로 옮겨졌습니다. 이제 디스플레이설정 메뉴 가이드라인에 전용 하위 탭이 있습니다.

포팅에서 개발로 변경

이 탭의 안내를 더욱 효과적으로 전달할 수 있도록 포팅 탭의 이름이 개발로 변경되었습니다. 개별 인터페이스 구현을 중점적으로 다룬 이 문서는 기기를 Android 운영체제에 연결하는 데 필요한 드라이버를 작성하는 데 도움을 줍니다.

결과적으로, 중요 HIDL 형식을 설명하는 아키텍처 섹션이 개발 주기의 초기 단계인 계획 단계에서 고려하기 위해 디자인 탭으로 옮겨졌습니다. 부트로더 콘텐츠는 이제 디자인 > 아키텍처 아래에 있고 상호작용 하위 탭에는 입력, 센서 및 관련 정보가 포함되어 있습니다.

연결 섹션은 블루투스 및 NFC, 통화 및 메시지, 이동통신사, Wi-Fi 하위 섹션을 포함하도록 재구성되었습니다. 또한 Wi-Fi 섹션에는 다음과 같은 새 도움말이 포함되어 있습니다.

미세 조정에서 구성으로 변경

미세 조정 탭이 맞춤설정 및 최적화 단계 이상을 포함하기 위해 이름이 구성으로 변경되었습니다. 이제 기기 관리 하위 섹션의 콘텐츠가 기업에 있습니다. ART 및 Dalvik 콘텐츠는 ART에 있고 무선 업데이트(OTA) 업데이트 정보는 업데이트에 있습니다.

2017년 12월

Android 8.1이 출시되었습니다. 이 버전에 도입된 주요 플랫폼 기능은 아래 항목을 참조하세요.

AAudio 및 MMAP

AAudio는 MMAP를 지원하는 HAL 및 드라이버와 함께 사용할 때 지연 시간을 줄이도록 개선된 오디오 API입니다. Android에서 AAudio의 MMAP 기능을 지원하는 데 필요한 하드웨어 추상화 레이어(HAL) 및 드라이버 변경사항을 설명하는 문서는 AAudio 및 MMAP을 참조하세요.

ART 구성 변경사항

Android 8.1에서는 WITH_DEXPREOPT_BOOT_IMG_ONLY makefile 옵션이 Android 런타임(ART)에서 삭제되고, 시스템 서버 JAR 파일 및 부트 클래스 경로를 미리 최적화하는 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY 옵션으로 대체됩니다. 지원 중단 안내는 ART 구성을 참조하세요.

생체 인식 잠금 해제 보안 측정

Android 8.1에는 기기 제조업체가 보안을 더 정확하게 평가할 수 있도록 생체 인식 잠금 해제와 관련된 두 가지 측정항목인 사기 허용률(IAR) 및 위장 허용률(SAR)이 도입되었습니다. 공격 및 테스트 방법의 예는 생체 인식 잠금 해제 보안 측정하기를 참조하세요.

부팅 시간 최적화

Android 8.1부터 UFS 및 CPU 거버너와 같은 구성요소에 관한 절전 설정을 사용 중지하면 기기 부팅 시간을 개선할 수 있습니다. init.*.rc 설정은 부팅 시간 최적화하기를 참조하세요.

색 관리

Android 8.1에는 디스플레이 기술 전체에 걸쳐 일관적인 경험을 제공하는 데 사용할 수 있는 색 관리 지원이 추가되었습니다. Android 8.1에서 실행되는 앱은 폭넓은 색상 영역(WCG) 디스플레이의 기능 일체에 액세스하여 디스플레이 기기를 최대한 활용할 수 있습니다. 이 기능의 구현, 맞춤설정 및 테스트에 관한 안내는 색 관리를 참조하세요.

OpenGLRenderer 구성 단순화

Android 8.1 이상에서는 ro.zygote.disable_gl_preload 속성만 OpenGLRenderer 구성에 적용됩니다. 다른 모든 속성은 삭제됩니다. 관련 공지 및 이전에 지원되었던 속성은 OpenGLRenderer 구성에서 확인하세요.

더욱 간편해진 소매 데모 모드

Android 8.1은 기기 정책 관리자를 통해 매장에서 데모 유형 사용자 역할로 기기 기능을 시연할 수 있도록 지원합니다. 구현 안내는 소매 데모 모드를 참조하세요.

TEXTCLASSIFIER

Android 8.1에는 머신러닝 기법을 사용하여 개발자가 텍스트를 분류하도록 지원하는 TextClassfier API가 도입되었습니다. 관련 안내는 텍스트 분류 구현을 참조하세요.

시간대 규칙

Android 8.1은 기기 제조업체(OEM)가 시스템 업데이트를 요구하지 않고도 업데이트된 시간대 규칙 데이터를 기기에 푸시할 수 있도록 하는 메커니즘을 제공합니다. 이 메커니즘은 사용자가 제시간에 업데이트를 수신하여 OEM이 시스템 이미지 업데이트와 별개로 시간대 업데이트를 테스트할 수 있게 해줍니다. 이러한 업데이트를 적용하는 방법에 관한 안내는 시간대 규칙을 참조하세요.

Wi-Fi Aware

Android 8.1의 Wi-Fi Aware 기능을 사용하면 지원 기기에서 인터넷 또는 셀룰러 네트워크 액세스 없이 Wi-Fi를 통해 직접 서로 연결할 수 있습니다. 이 기능을 사용하면 네트워크 외부에 있는 신뢰할 수 있는 기기와 앱 간에 처리량이 많은 데이터를 간편하게 공유할 수 있습니다. 예시, 소스 파일 및 추가 문서 링크는 Wi-Fi Aware를 참조하세요.

2017년 11월

소스 섹션의 이름이 설정으로 변경되었습니다. 이전 URL을 계속 사용할 수 있도록 리디렉션이 지원됩니다.

2017년 9월

이 사이트는 중국의 source.android.google.cn에서 출시되었습니다. 참조용이 아닌 모든 자료는 사용 편의성을 위해 중국어 간체로 번역됩니다.

2017년 8월

Android 8.0이 출시되었습니다. 이 섹션에서는 Android 8.0 플랫폼의 주요 새 기능에 관해 설명합니다.

아키텍처

트레블

Android 8.0에서는 트레블이 지원됩니다. 트레블은 제조업체가 더욱 빠르고 쉽고 저렴하게 기기를 Android의 새 버전으로 업데이트할 수 있도록 설계된 Android OS 프레임워크의 주요 아키텍처입니다. 문서에는 HAL 인터페이스 정의 언어(HIDL), 새로운 ConfigStore HAL, 기기 트리(DT) 오버레이, 공급업체 네이티브 개발 키트(VNDK), 공급업체 인터페이스(VINTF) 객체, 모듈식 커널 요구사항공급업체 테스트 모음(VTS)과 인프라에 관한 세부사항이 포함되어 있습니다.

FunctionFS 지원

FunctionFS(FFS)는 사용자 공간을 통해 설계되고 제어되는 USB 가젯 함수입니다. 이 기능을 통해 모든 USB 전송 코드는 커널에 있는 반면 기능별 코드 및 프로토콜별 코드는 모두 사용자 공간에 있을 수 있습니다. FFS를 사용하면 미디어 전달 프로토콜(MTP) 구현이 사용자 공간으로 이동합니다.

프레임워크 측면에서 대부분의 주요 변경사항은 MtpServer 클래스에 있습니다. USB 드라이버 인터페이스는 이전 커널 드라이버를 사용하는 클래스와 FFS를 사용하는 클래스, 두 가지로 리팩터링됩니다. 그러면 MtpServer는 구현 세부정보 없이 드라이버 인터페이스를 사용할 수 있습니다. FFS 드라이버는 서버가 시작될 때 USB 설명자를 파일에 기록합니다. 그다음 커널 드라이버 사용과 유사한 엔드포인트 파일에 데이터를 씁니다.

LLDB/C++ 디버깅의 커널 개선사항

Android 8.0 출시에는 개발자가 디버깅 환경을 개선하여 더 나은 앱을 만들도록 도와주는 커널 개선사항이 포함되어 있습니다. 자세한 내용은 LLDB/C++ 디버깅의 커널 개선사항을 참조하세요.

커널 강화

Android 8.0에서는 커널 드라이버의 버그를 찾기 위한 커널 강화 기능과 도구가 업스트림되었습니다. 자세한 내용은 커널 강화를 참조하세요.

커널 레벨에서 SquashFS 최적화

SquashFS는 Linux용으로 압축된 읽기 전용 파일 시스템으로 시스템 파티션에서 사용하기에 적합합니다. 이 문서의 최적화는 SquashFS의 성능을 개선하는 데 도움이 됩니다. 자세한 내용은 커널 레벨에서 SquashFS 최적화를 참조하세요.

ART 및 Dalvik

퍼징 테스트

AOSP는 Android 런타임(ART) 인프라를 테스트하기 위한 새로운 퍼징 테스트 모음을 제공합니다. 새 도구 모음인 JFuzz 및 개선된 DexFuzz는 함께 제공되는 문서와 함께 AOSP에서 바로 사용할 수 있습니다.

새로운 도구를 구현하거나 사용하는 데 필요한 것은 없습니다. 런타임/컴파일러를 변경할 수 있는 것처럼 필요한 경우 도구를 변경할 수 있습니다.

VDEX 파일: 시스템 업데이트 성능 개선

VDEX 파일은 소프트웨어 업데이트의 성능과 사용자 환경을 개선합니다. VDEX 파일은 시스템 업데이트 중에 ART가 DEX 파일을 추출하고 확인할 필요가 없도록 사전 검증된 DEX 파일을 검증자 종속 항목과 함께 저장합니다. 이 기능은 기본적으로 사용하도록 설정되어 있습니다. 이 기능을 사용 중지하려면 ART_ENABLE_VDEX 환경 변수를 false로 설정합니다.

ART 성능 개선

Android 런타임(ART)이 Android 8.0 출시에서 크게 개선되었습니다. 이 문서는 ART에서 기기 제조업체가 기대할 수 있는 개선사항을 요약합니다. 자세한 내용은 Android 8.0 ART 개선사항을 참조하세요.

Android A/B OTA 업데이트

이 업데이트는 기기 제조업체가 Android A/B 시스템 업데이트와 관련해 자주 묻는 질문의 답변을 제시합니다. 자세한 내용은 A/B 업데이트에 관한 자주 묻는 질문(FAQ)을 참조하세요.

자동차

블루투스 연결 관리

Android 8.0은 차량 내 인포테인먼트 시스템에 블루투스 연결 관리 기능을 제공하여 더 원활한 블루투스 사용자 환경을 제공합니다. 자세한 내용은 블루투스 연결 관리를 참조하세요.

블루투스 다중 기기 HFP

블루투스 다중 기기 연결을 통해 사용자는 Android Automotive IVI 블루투스에서 여러 기기를 전화 통신 프로필에 연결할 수 있습니다. 자세한 내용은 블루투스 다중 기기 연결을 참조하세요.

차량 카메라 HAL

Exterior View System(EVS) 스택의 디자인을 설명하고 차량 카메라 데이터의 수집과 표시를 지원하는 HAL 사양을 제공합니다. 자세한 내용은 차량 카메라 HAL을 참조하세요.

블루투스

업데이트된 블루투스 개요를 참조하세요.

블루투스 확인 및 디버깅

네이티브 블루투스 스택을 확인하고 디버깅하는 방법에 관한 자세한 내용은 확인 및 디버깅을 참조하세요.

블루투스 서비스

블루투스는 오디오 스트리밍, 전화 통화, 메시지 등 기기 간 핵심 서비스를 가능하게 하는 다양한 기능을 제공합니다. 자세한 내용은 블루투스 서비스를 참조하세요.

BLE 광고

블루투스 5는 대역폭이 높아지고 범위가 증가하는 등 저전력 블루투스에 다양한 데이터 광고 모드를 지원합니다. 자세한 내용은 저전력 블루투스 광고를 참조하세요.

오디오 코덱 블루투스 지원

Android 8.0 출시에서는 블루투스 고화질 오디오 코덱이 지원됩니다. 자세한 내용은 고급 오디오 코덱을 참조하세요.

카메라

중요한 카메라 기능

Android 8.0 출시에는 공유된 노출 영역, 맞춤설정 카메라 모드에 동일한 OutputConfiguration System API를 공유하는 여러 노출 영역 사용 및 onCaptureQueueEmpty 등 카메라 서비스의 주요 개선사항이 포함되어 있습니다. 자세한 내용은 카메라 버전 지원을 참조하세요.

구성

주변 기능

이 기능은 Linux 프로세스가 가장 기본적인 권한을 드롭하는 동시에 기능을 실행하는 데 필요한 권한의 하위 집합을 유지할 수 있게 해줍니다. 주변 기능을 사용하면 시스템 서비스에서 .rc 파일의 기능을 구성하여 단일 파일로 모든 구성을 가져올 수 있게 해줍니다. 자세한 내용은 주변 기능을 참조하세요.

독점 권한 허용 요구사항

Android 8.0부터는 독점 권한이 부여된 모든 앱이 /etc/permissions 디렉터리의 시스템 구성 XML 파일에서 명시적으로 허용되어야 합니다. 그렇지 않은 경우 기기는 부팅되지만 기기 구현은 CTS를 전달하지 않습니다. 자세한 내용은 독점 권한 허용을 참조하세요.

USB HAL 구현

Android 8.0 출시에서는 더 나은 구성과 코드 안정성을 위해 USB 명령어 처리가 init 스크립트에서 네이티브 USB 데몬으로 이전되었습니다. 자세한 내용은 USB HAL 구현을 참조하세요.

연결성

잔여 데이터가 없는 사용자를 위한 기기 동작 맞춤설정

잔여 데이터가 없는 Android 기기를 통해 네트워크 트래픽을 통과할 수 있으므로 이동통신사와 통신사가 완화 프로토콜을 구현해야 합니다. 이 기능은 이동통신사와 통신사가 기기의 잔여 데이터가 부족한 시점을 표시할 수 있는 일반적인 방법을 구현합니다. 자세한 내용은 잔여 데이터가 없는 사용자를 위한 기기 동작 맞춤설정을 참조하세요.

디버깅

Android 빌드 시스템에서 새니타이저 사용 설정

새니타이저는 개발 및 테스트 중에 버그를 식별하고 Android를 개선하기 위해 사용하는 컴파일러 기반 계측 구성요소입니다. Android의 현재 새니타이저 집합은 메모리 오용 버그 및 정의되지 않은, 잠재적으로 위험한 동작을 발견하고 진단할 수 있습니다. 자세한 내용은 LLVM 새니타이저를 참조하세요.

재부팅 루프의 기기 복구

Android 8.0에는 비정상 종료 루프에서 중단되는 핵심 시스템 구성요소를 식별할 때 복구 도움말을 보내는 레스큐 파티 기능이 포함되어 있습니다. 레스큐 파티는 일련의 작업을 통해 에스컬레이션하여 기기를 복구합니다. 자세한 내용은 레스큐 파티를 참조하세요.

storaged

Android 8.0은 Android 기기의 저장소 측정항목을 수집하고 게시하는 Android 네이티브 데몬인 storaged 지원을 추가합니다. 자세한 내용은 storaged 구현을 참조하세요.

표시

플로팅 창의 항공 교통 관제

Android 8.0에서는 플로팅 창의 항공 교통 관제(ATC)가 도입되어 앱이 다른 앱 위에 표시되는 방식을 단순화하고 통합했습니다. 이 기능을 사용하는 데 필요한 모든 것이 AOSP에 포함되어 있습니다.

ATC를 통해 개발자는 앱이 다른 앱 위에 창을 표시하는 데 사용할 수 있는 새로운 (관리) 플로팅 레이어/창 유형을 만들 수 있습니다. 이 기능은 사용자가 경고 창을 관리할 수 있는 플로팅 레이어를 사용하여 모든 앱에 관한 지속적인 알림을 표시합니다.

Android 호환성 테스트 모음(CTS)에서 확인되는 사항은 다음과 같습니다.

  • 현재 알림 창 유형은 TYPE_PHONE, TYPE_PRIORITY_PHONE, TYPE_SYSTEM_ALERT, TYPE_SYSTEM_OVERLAY, 및 TYPE_SYSTEM_ERROR입니다.
  • Android 8.0 SDK를 타겟팅하는 앱은 위에 나열된 창 유형을 사용하여 다른 앱 위에 창을 표시할 수 없습니다. 대신 TYPE_APPLICATION_OVERLAY 창 유형을 사용해야 합니다.
  • 이전 SDK를 타겟팅하는 앱은 현재 창 유형을 계속 사용할 수 있습니다. 그러나 창은 새로운 TYPE_APPLICATION_OVERLAY 창 아래에 z 순서대로 정렬됩니다.
  • 시스템에서는 새로운 레이어에서 창을 이동하거나 크기를 조정하여 복잡함을 줄일 수 있습니다.
  • 기기 제조업체는 사용자가 다른 앱 위에 표시되는 내용을 제어할 수 있도록 알림을 유지해야 합니다.

보조 디스플레이에서 활동 실행

가상 디스플레이는 모든 사용자가 사용할 수 있으며 특별한 하드웨어가 필요하지 않습니다. 모든 앱에서 가상 디스플레이의 인스턴스를 만들 수 있어 Android 8.0 출시에서 연결된 기능이 사용 설정된 경우 이 가상 디스플레이에서 활동을 실행할 수 있습니다.

다중 디스플레이 기능을 지원하려면 다음 중 하나를 실행하세요.

  • 보조 기기 연결에 기존의 지원되는 방법을 사용합니다.
    Nexus 및 Pixel 기기의 경우 Google Cast 및 앱 내 가상 디스플레이가 지원됩니다. 다른 방법의 지원은 USB-C를 통한 MHL 또는 DisplayPort와 같은 각 케이스의 커널 드라이버 지원에 따라 다르며 HardwareComposer HAL(IComposerCallback.halIComposerClient.hal)의 디스플레이와 관련된 인터페이스 정의를 완전히 구현하는지의 여부에 따라서도 다릅니다.
  • 새로운 하드웨어를 빌드합니다.

이러한 각 옵션에는 SoC 또는 OEM 지원이 필요할 수 있습니다. 예를 들어 USB-C를 통해 DisplayPort를 사용하려면 하드웨어(SOC) 및 소프트웨어(드라이버) 지원이 필요합니다. 외부 디스플레이 연결을 지원하기 위해 하드웨어용 드라이버를 구현해야 할 수도 있습니다.

기본 구현에서는 보조 디스플레이에서 전체 화면 스택 활동을 실행할 수 있습니다. 보조 디스플레이에서 스택과 시스템 UI 및 동작을 맞춤설정할 수 있습니다.

일반 도움말 지원

Android 8.0에서는 개발자가 설명적인 작업 이름과 기타 유용한 정보를 제공하여 버튼 및 기타 아이콘 위에 마우스를 가져갈 때 표시되도록 할 수 있습니다. 기기 제조업체는 도움말 팝업의 스타일을 지정할 수 있습니다. 레이아웃은 android/frameworks/base/core/res/res/layout/tooltip.xml에 정의되어 있습니다.

OEM은 레이아웃을 대체하거나 크기 및 스타일 매개변수를 변경할 수 있습니다. 텍스트만 사용하고 크기는 적당히 작게 유지합니다. 이 기능은 View 클래스 내에서 완전히 구현되며 도움말 동작의 여러 측면을 확인하는 철저한 CTS 테스트가 있습니다.

확장된 가로세로 비율 지원

Android 8.0에는 매니페스트 속성 maxAspectRatio가 포함되어 있어 활동 또는 앱이 지원하는 최대 가로세로 비율을 지정할 수 있습니다. maxAspectRatio는 이전 메타데이터 태그를 최고 수준의 API로 대체하여 16:9 이상의 가로세로 비율을 지원합니다.

  • 활동 또는 앱의 크기를 조정할 수 있는 경우 활동이 화면을 채우도록 허용합니다.
  • 활동 또는 앱의 크기를 조정할 수 없거나 플랫폼이 활동의 크기를 강제 조정하는 경우 maxAspectRatio 값에 따라 앱 창에 최대 가로세로 비율까지 표시할 수 있습니다.
    • Android 8.0을 실행하는 기기에 있는 앱의 기본값은 현재 기기의 가로세로 비율입니다.
    • 더 낮은 버전의 Android를 실행하는 기기에 있는 앱의 경우 기본값은 16:9입니다.

적응형 아이콘

적응형 아이콘 기능은 아이콘이 기기 내에서 일관성 있는 모양을 유지하도록 하지만 이는 기기마다 다르며 개발자가 하나의 아이콘 애셋만 제공합니다. 또한 아이콘은 사용자에게 시각적 관심을 제공할 수 있는 두 가지 계층(포그라운드 및 백그라운드)을 지원합니다. 자세한 내용은 적응형 아이콘 구현을 참조하세요.

야간 조명

Android 7.0.1에 도입된 야간 조명은 화면에서 방출되는 청색광의 양을 줄여줍니다. Android 8.0에는 사용자에게 야간 조명 효과의 강도를 제어할 수 있게 해주는 기능이 포함됩니다. 자세한 내용은 야간 조명 구현을 참조하세요.

PIP 모드

Android 8.0은 Android 휴대기기를 위한 PIP(picture-in-picture) 모드를 지원합니다. PIP 모드를 사용하면 동영상과 같은 활동이 진행 중인 앱을 작은 창으로 전환할 수 있습니다. 자세한 내용은 PIP 모드를 참조하세요.

화면 분할 상호작용 개선

멀티 윈도우 기능을 통해 사용자의 기기 화면에 여러 앱을 동시에 표시할 수 있습니다. Android 8.0은 분할 화면으로 전환된 후에 사용자가 **홈** 을 탭한 경우 상단의 화면을 압축하고 런처의 크기를 조정하여 기본 모드인 화면 분할을 개선합니다. 자세한 내용은 화면 분할 상호작용을 참조하세요.

위젯/바로가기 추가

Android 8.0의 새로운 API는 앱 개발자가 위젯 트레이에 의존하는 대신 앱 내부에서 바로가기와 위젯을 추가할 수 있게 해줍니다. 브로드캐스트를 전송하여 바로가기를 추가하는 이전 방법은 보안상의 이유로 지원 중단됩니다. 자세한 내용은 위젯/바로가기를 참조하세요.

다운로드 및 빌드

Android LLVM 도구 모음 개선

최신 도구 모음/도구를 사용하려는 OEM의 경우 업데이트된 도구 모음에 비공개 코드가 성공적으로 컴파일되는지 확인해야 합니다. 따라서 동작이 정의되지 않은 코드의 기존 문제를 해결해야 할 수도 있습니다. 물론 코드를 컴파일할 때 사용하는 도구도 자유롭게 선택할 수 있습니다.

개발자는 최신 도구 모음으로 인한 문제의 영향을 덜 받도록 UBSan과 같은 도구를 사용하여 코드에 정의되지 않은 동작이 없는지 확인해야 합니다. 모든 도구 모음은 항상 AOSP에서 직접 업데이트됩니다. OEM이 이를 따를 수 있도록 OC가 배송되기 전에 모든 것이 제공될 예정입니다.

일반적인 안내는 공개 Clang/LLVM 문서를, Android 관련 안내는 AOSP에서 제공하는 Android Clang/LLVM 문서를 참조하세요. 마지막으로 android-llvm 공개 그룹에 가입하여 도움을 받고 개발에 참여하세요.

DRM/KMS

Linux 커널 버전 4.9의 DRM/KMS

Android에서 사용하는 직접 렌더링 관리자(DRM)/커널 모드 설정(KMS) 프레임워크는 Linux 커널의 Linux 커널 개발자가 개발하고 유지합니다. Android는 Linux 커널과 병합됩니다. 기기 제조업체는 일반적인 커널과 통합하여 DRM/KMS 프레임워크를 자동으로 획득합니다.

DRM/KMS는 Linux 커널 버전 4.9에서 이제 실행 가능하며 Android는 OEM 파트너가 이 커널 버전부터 DRM/KMS를 사용하도록 강력하게 권장합니다. 오늘부터 Android가 공식적으로 지원하는 디스플레이 프레임워크인 Atomic Display Framework(ADF)는 4.9 이상 버전의 Android 일반 커널에서 지원됩니다. 대신 Android는 이 버전에서 DRM/KMS를 지원합니다. OEM은 ADF 또는 다른 프레임워크를 계속 사용할 수 있지만 Android는 Android 공통 커널에서 ADF를 지원하지 않습니다.

DRM/KMS를 구현하려면 Android 공통 커널에서 DRM/KMS 프레임워크를 병합하는 것 외에도 DRM/KMS를 사용하여 자체 드라이버를 작성해야 합니다.

키 저장소

Keymaster 3

Android 8.0은 Android 기기에서 하드웨어 지원 키 저장소의 기능을 확장하여 키 저장소 HAL인 Keymaster를 업데이트합니다. 이는 Keymaster 2의 Android 7.1.2 업데이트를 기반으로 합니다. 자세한 내용은 하드웨어 지원 키 저장소를 참조하세요.

보안 기능 향상

HttpsURLConnection에서 비보안 TLS 대체 버전이 삭제되었습니다.

비보안 TLS/SSL 프로토콜 대체 버전은 일부 서버에서 TLS 프로토콜 다운그레이드 협상 시에 버그가 많은 구현에 관한 해결 방법입니다. 이는 POODLE에 취약합니다. 2015년 9월 Chrome 45에서 비보안 대체 버전을 중단했을 때 서버의 0.01% 미만이 이에 의존했습니다. Android 8.0의 보안을 강화하기 위해 비보안 TLS 대체 버전이 HttpsURLConnection에서 삭제되었습니다. 자세한 내용은 이 블로그 게시물을 참조하세요.

Android 8.0이 설치된 기기에서 이 기능을 테스트하려면 이 CTS 테스트 사례를 실행하세요.

cts-tradefed run cts -m CtsLibcoreOkHttpTestCases

성능

플래시 마모 관리

Android Automotive의 플래시 마모 관리는 OEM이 자동차 환경에서 eMMC 장애 발생 위험을 낮추는 데 도움이 되는 eMMC 동작과 새로운 기능을 설명합니다.

부팅 시간 최적화

부팅 시간 최적화에서는 특정 Android 기기의 부팅 시간을 개선하기 위한 안내를 제공합니다.

작업 스냅샷

작업 스냅샷은 Android 8.0에 도입된 인프라로, 메모리 절약을 위해 창 관리자의 저장된 노출 영역 및 최근 미리보기 이미지 스크린샷을 결합합니다. 자세한 내용은 작업 스냅샷을 참조하세요.

주변기기

기본 인쇄 서비스

인쇄 서비스는 프린터를 발견하여 기기의 인쇄 프레임워크에 표시하는 앱입니다. 이전 Android 버전에서는 사용자가 인쇄하기 위해 타사 인쇄 서비스를 검색하고 설치해야 했습니다.

Android 8.0에는 사용자가 추가 앱을 설치하지 않고도 최신 프린터로 인쇄할 수 있는 platform/packages/services/BuiltInPrintService/의 기본 인쇄 서비스가 포함되어 있습니다. 이 구현은 인터넷 인쇄 프로토콜(IPP)을 사용하여 프린터와 통신하고 PCLm, PWG-Raster 또는 PDF를 사용하여 인쇄 가능한 내용을 보내는 프린터를 지원합니다. 이전 프린터의 경우 이 I/O 프레젠테이션에서 볼 수 있듯이 사용자가 PrintRecommendationService 패키지에서 권장하는 앱을 설치해야 합니다.

참조 업데이트

참조 섹션이 최상위 수준 탐색에 추가됩니다. 트레블 출시에서는 HIDL 참조 섹션이 추가되었습니다. Trade Federation기존 HAL 참조 문서가 업데이트되었습니다.

설정 메뉴

설정: 패턴 및 구성요소

Android 8.0에서는 일반적인 용도를 아우르는 여러 구성요소와 위젯이 설정 메뉴에 추가되었습니다. 자세한 내용은 패턴 및 구성요소를 참조하세요.

설정: 업데이트된 정보 아키텍처

Android 8.0에는 설정 앱에서 설정 정렬 방식을 간소화하고 사용자가 더 쉽고 빠르게 설정을 찾아 Android 기기를 맞춤설정할 수 있도록 하기 위한 새로운 정보 아키텍처가 도입되었습니다. 자세한 내용은 정보 아키텍처를 참조하세요.

맞춤설정

설정 앱은 문맥 시그널 또는 추천과 관련된 사용자의 이전 상호작용에 따라 사용자에게 추천 목록(추천 순위 포함)을 제공합니다. 자세한 내용은 맞춤설정을 참조하세요.

Android 8.0의 설정 메뉴에는 확장 검색 기능이 추가되었습니다. 이 문서에서는 설정을 추가하고 설정에 제대로 색인이 생성되었는지 확인하는 방법에 관해 설명합니다. 자세한 내용은 전체 검색을 참조하세요.

저장용량

신속한 저장소 통계

Android 8.0은 ext4 파일 시스템의 할당량 지원을 활용하여 디스크 사용량 통계를 거의 즉각적으로 반환합니다. 자세한 내용은 신속한 저장소 통계를 참조하세요.

2017년 4월

새 source.android.com에 오신 것을 환영합니다. 이 사이트는 계속 늘어나고 있는 정보를 더 쉽게 탐색하고 검색하고 읽을 수 있도록 개선되었습니다. 다음은 개선된 기능을 요약합니다.

화면 면적이 넓어지고 글씨 크기가 커졌습니다.

사이트 전체가 더 넓어져서 한 번에 더 많은 콘텐츠를 볼 수 있습니다. 코드 샘플 및 명령이 더 잘 보이고 모든 텍스트가 확대되었습니다.

모바일 지원 뷰

새로운 사이트는 전용 모바일 뷰가 있는 휴대기기에서 더 깨끗하게 렌더링됩니다.

새 모바일 뷰
그림 1. 사이트의 새로운 모바일 뷰

최상위 탭

이전 기기 탭의 이름이 포팅으로 바뀌었으며 이전 핵심 기술 하위 탭의 이름이 미세 조정으로 바뀌고 더 잘 보이도록 사이트 상단으로 이동했습니다.

최전선의 보안

Android가 보안에 점점 더 중점을 두면서 보안 탭이 그 중요도를 반영하기 위해 앞으로(소스 옆) 이동되었습니다.

참조 자료 개선

HALTrade Federation 참조 자료를 최상위 참조 탭에서 바로 사용할 수 있습니다.

AOSP 코드 저장소는 모든 페이지의 오른쪽 상단에 있는 코드로 이동 버튼 한 번으로 찾을 수 있습니다.

통합 바닥글

기존 정보, 커뮤니티법률 바닥글 외에도 이제 모든 페이지 하단에서 Android 빌드, 생태계와 연결 및 운영체제 사용에 관한 도움말을 볼 수 있는 전체 링크 목록을 찾을 수 있습니다.