앱 아이콘은 앱을 차별화하는 중요한 방법이며 홈 화면, 모든 앱 화면, 설정 앱 등 여러 위치에서도 표시됩니다.
앱 아이콘을 런처 아이콘이라고도 합니다. 런처는 Android 기기에서 홈 버튼을 눌러 앱을 보거나 구성하고 위젯과 바로가기를 추가하는 등의 작업을 할 때의 환경을 나타냅니다.
다양한 Android 기기를 사용해보면 알 수 있듯이 런처 환경은 기기 제조업체에 따라 다르게 보일 수 있습니다. 기기 제조업체는 브랜드에 특징적인 맞춤 런처 환경을 만들기도 합니다. 그러한 작업의 일환으로 여러 제조업체가 위와 같은 원형 아이콘 모양과는 다른 모양으로 앱 아이콘을 표시할 수 있습니다.
예를 들어 정사각형 모양이나 모서리가 둥근 정사각형, 정사각형과 원형의 중간형으로 앱 아이콘을 모두 표시할 수 있습니다.
기기 제조업체에서 선택하는 모양과 상관없이 단일 기기의 모든 앱 아이콘을 동일한 모양으로 만들어 좀 더 일관된 사용자 환경을 제공하는 것이 목표입니다.
이러한 이유로 Android 플랫폼에서 적응형 아이콘 지원(API 수준 26부터)을 도입했습니다. 앱에 적응형 아이콘을 구현하면 앱에서 고화질 앱 아이콘을 적절하게 표시하여 다양한 기기를 수용할 수 있습니다.
이 Codelab에서는 팁 계산기 런처 아이콘에서 연습할 이미지 소스 파일을 제공합니다. Android 스튜디오에서 Image Asset Studio라는 도구를 사용하여 필요한 모든 버전의 런처 아이콘을 생성합니다. 그런 다음 배운 내용을 다른 앱의 앱 아이콘을 변경하는 데 적용할 수 있습니다.
기본 요건
- 리소스 파일을 비롯하여 기본 Android 프로젝트의 파일을 탐색할 수 있어야 합니다.
- Android 스튜디오에서 에뮬레이터 또는 실제 기기에 Android 앱을 설치할 수 있어야 합니다.
학습할 내용
- 앱의 런처 아이콘 변경 방법
- Android 스튜디오에서 Image Asset Studio를 사용하여 런처 아이콘 애셋을 생성하는 방법
- 적응형 아이콘의 정의와 이 아이콘이 두 레이어로 구성되는 이유
빌드할 프로그램
- 새 런처 아이콘이 있는 Android 앱
필요한 항목
- Android 스튜디오 버전 4.1 이상이 설치된 컴퓨터
- 이미지 리소스 파일을 다운로드하기 위한 인터넷 연결
이 Codelab을 Kotlin으로 배우는 Android 기본사항 과정의 일부로 학습한다면 이미 작업하고 있는 이전 Codelab의 팁 계산기를 바로 사용할 수 있습니다.
이 Codelab을 단독으로 학습한다면(과정 외로) Android 스튜디오에서 Empty Activity 템플릿을 사용하여 새 프로젝트를 설정할 수 있습니다. 이렇게 해야 이 단계를 숙지할 때까지 기존 앱의 런처 아이콘 파일을 수정하거나 덮어쓰지 않습니다.
목표는 기기 모델이나 화면 밀도와 상관없이 런처 아이콘의 모양을 멋지게(선명하고 명확) 만드는 것입니다. 특히 화면 픽셀 밀도는 화면의 인치당 픽셀 수(또는 dpi, 인치당 도트 수)를 나타냅니다. 중밀도 기기(mdpi)의 경우 화면의 인치당 도트 수가 160이지만 초초초고밀도 기기(xxxhdpi)는 화면의 인치당 도트 수가 640입니다.
다양한 화면 밀도의 기기를 고려하려면 여러 버전의 앱 아이콘을 제공해야 합니다.
런처 아이콘 파일 탐색
- 런처 아이콘의 모양을 확인하려면 Android 스튜디오에서 프로젝트를 엽니다. 템플릿에서 앱을 시작했다면 이미 Android 스튜디오에서 제공하는 기본 런처 아이콘이 있습니다.
- Project 창에서 Project 뷰로 전환합니다. 그러면 컴퓨터에서 파일이 저장되는 방법의 파일 구조에 따라 프로젝트의 파일이 표시됩니다.
- 리소스 디렉터리(app > src > main > res)로 이동하여 일부
mipmap
폴더를 펼칩니다. 이러한mipmap
폴더는 Android 앱의 런처 아이콘 애셋을 배치해야 하는 위치입니다.
mdpi
, hdpi
, xhdpi
등은 밀도 한정자로, 리소스 디렉터리(예: mipmap
)의 이름에 추가하여 특정 화면 밀도 기기의 리소스라고 나타낼 수 있습니다. 다음은 Android의 밀도 한정자 목록입니다.
mdpi
- 중밀도 화면의 리소스(~160dpi)hdpi
- 고밀도 화면의 리소스 (~240dpi)xhdpi
- 초고밀도 화면의 리소스(~320dpi)xxhdpi
- 초초고밀도 화면의 리소스(~480dpi)xxxhdpi
- 초초초고밀도 화면의 리소스(~640dpi)nodpi
- 화면의 픽셀 밀도와 관계없이 조정할 수 없는 리소스anydpi
- 어떤 밀도로도 조정 가능한 리소스
- 이미지 파일을 클릭하면 미리보기가 표시됩니다.
ic_launcher.png
파일에는 정사각형 버전의 아이콘이 있지만ic_launcher_round.png
파일에는 원형 버전의 아이콘이 있습니다. 둘 다 각 리소스 디렉터리에 제공됩니다.
예를 들어 res > mipmap-xxxhdpi > ic_launcher_round.png의 모양은 다음과 같습니다. 애셋의 크기는 오른쪽 상단에 표시됩니다. 이미지 크기는 192px x 192px입니다.
반면에 res > mipmap-mdpi > ic_launcher_round.png의 모양은 다음과 같습니다. 크기가 48px x 48px에 불과합니다.
이러한 비트맵 이미지 파일이 고정된 픽셀 그리드로 구성되는 것을 확인할 수 있습니다. 특정 화면 해상도를 위해 만들어졌습니다. 따라서 크기를 조절하면 화질이 저하될 수 있습니다.
비트맵 이미지를 축소하면 픽셀 정보가 제거되므로 괜찮아 보일 수 있습니다. 비트맵 이미지를 크게 확대하면 Android에서 누락된 픽셀 정보를 추측하여 채워야 하므로 이미지가 흐릿하게 보일 수 있습니다.
런처 아이콘에 관한 배경 지식이 생겼으므로 이제 적응형 아이콘을 알아봅니다.
포그라운드 및 백그라운드 레이어
Android 8.0 버전(API 수준 26)부터 적응형 런처 아이콘을 지원하여 앱 아이콘이 더 유연해지고 흥미로운 시각 효과를 발휘할 수 있습니다. 개발자는 앱 아이콘을 두 레이어, 즉 포그라운드 레이어와 백그라운드 레이어로 구성할 수 있습니다.
위 예에서 흰색 Android 아이콘은 포그라운드 레이어에 있지만 파란색과 흰색 그리드는 백그라운드 레이어에 있습니다. 포그라운드 레이어는 백그라운드 레이어 위에 쌓입니다. 그런 다음 마스크(이 경우에는 원형 마스크)가 맨 위에 적용되어 원형 모양의 앱 아이콘이 생성됩니다.
적응형 아이콘 파일 탐색
Android 스튜디오의 프로젝트 템플릿에서 제공하는 기본 적응형 아이콘 파일을 살펴봅니다.
- Android 스튜디오의 Project 창에서 res > mipmap-anydpi-v26 리소스 디렉터리를 찾아 펼칩니다.
- XML 파일 중 하나를 엽니다(예:
ic_launcher.xml
). 다음과 같이 표시됩니다.
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
- 각각에 리소스 드로어블을 제공하여 앱 아이콘의
<background>
및<foreground>
레이어를 선언하는 데<adaptive-icon>
요소가 어떻게 사용되는지 확인합니다. - Project 뷰로 돌아가서 드로어블이 선언된 위치를 찾습니다(drawable > ic_launcher_background.xml과 drawable-v24 > ic_launcher_foreground.xml).
- Design 뷰로 전환하면 각각의 미리보기가 표시됩니다(왼쪽에 백그라운드, 오른쪽에 포그라운드).
- 둘 다 벡터 드로어블 파일입니다. 픽셀 단위의 고정된 크기는 없습니다. Code 뷰로 전환하면
<vector>
요소를 사용하여 벡터 드로어블의 XML 선언을 확인할 수 있습니다.
벡터 드로어블과 비트맵 이미지는 모두 그래픽을 설명하지만 중요한 차이점이 있습니다.
비트맵 이미지는 각 픽셀의 색상 정보를 제외하고 보유한 이미지에 관해 잘 알지 못합니다. 반면에 벡터 그래픽은 이미지를 정의하는 모양을 그리는 방법을 알고 있습니다. 이러한 지침은 색상 정보와 함께 일련의 점과 선, 곡선으로 구성됩니다. 벡터 그래픽은 화질 저하 없이 모든 화면 밀도의 어떤 캔버스 크기로도 조정할 수 있다는 것이 장점입니다.
벡터 드로어블은 Android의 벡터 그래픽 구현으로, 휴대기기에서 충분히 유연하도록 만들어졌습니다. 이러한 가능한 요소를 사용하여 XML로 정의할 수 있습니다. 모든 밀도 버킷에 비트맵 애셋 버전을 제공하는 대신 이미지를 한 번만 정의하면 됩니다. 따라서 앱의 크기가 줄어 유지하기가 쉬워집니다.
이제 실제로 앱 아이콘을 변경해보겠습니다.
팁 계산기 앱의 적응형 아이콘을 만들 수 있는 다음 두 가지 새 애셋을 다운로드합니다. 벡터 드로어블 파일의 모든 세부정보를 파악할 필요는 없습니다. 콘텐츠는 디자인 도구에서 자동으로 생성될 수 있습니다.
- 백그라운드 레이어의 벡터 드로어블인
ic_launcher_background.xml
을 다운로드합니다. 브라우저에서 파일을 다운로드하지 않고 표시하는 경우 FIle > Save Page As...를 선택하여 컴퓨터에 파일을 저장하세요. - 포그라운드 레이어의 벡터 드로어블인
ic_launcher_foreground.xml
을 다운로드합니다.
이러한 포그라운드 및 백그라운드 레이어 애셋에는 특정 요구사항(예: 둘 다 크기가 108dp x 108dp여야함)이 있습니다. 여기에서 요구사항에 관한 자세한 내용을 알아보거나 머티리얼 사이트에서 Android 아이콘 디자인 안내를 참고하세요.
기기 제조업체의 마스크 모양에 따라 아이콘의 가장자리가 잘릴 수 있으므로 아이콘의 핵심 정보를 레이어 중앙의 지름 66dp 원 모양인 '안전 영역'에 배치해야 합니다. 안전 영역 밖의 콘텐츠는 잘려도 괜찮은 필수적이지 않은 정보(예: 배경 색상)여야 합니다.
Android 스튜디오로 돌아가서 새 애셋을 사용합니다.
- 먼저 Android 아이콘과 녹색 그리드 배경이 있는 이전 드로어블 리소스를 삭제합니다. Project 뷰에서 파일을 마우스 오른쪽 버튼으로 클릭하고 Delete를 선택합니다.
다음을 삭제합니다.
drawable/ic_launcher_background.xml
drawable-v24/ic_launcher_foreground.xml
Safe delete (with usage search) 체크박스를 선택 해제하고 OK를 클릭하면 됩니다.
- 새 Image Asset을 만듭니다. res 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 New > Image Asset을 선택할 수 있습니다. 또는 Resource Manager 탭을 클릭하고 + 아이콘을 클릭한 후 Image Asset을 선택해도 됩니다.
- Android 스튜디오의 Image Asset Studio 도구가 열립니다.
- 기본 설정을 다음과 같이 그대로 유지합니다.
- Icon Type: Launcher Icons (Adaptive and Legacy)
- Name: ic_launcher
- Foreground Layer 탭이 이미 선택되어 있는 상태로 Source Asset 하위 섹션으로 이동합니다. Path 입력란에서 폴더 아이콘을 클릭합니다.
- 컴퓨터를 탐색하여 파일을 선택하라는 메시지가 표시됩니다. 컴퓨터에 방금 다운로드한 새
ic_launcher_foreground.xml
파일의 위치를 찾습니다. 컴퓨터의 다운로드 폴더에 있을 수 있습니다. 파일을 찾았다면 Open을 클릭합니다. - 이제 Path가 새 포그라운드 벡터 드로어블의 위치로 업데이트됩니다. Layer Name은 ic_launcher_foreground로, Asset Type은 Image로 그대로 둡니다.
- 이제 인터페이스의 Background Layer 탭으로 전환합니다. 기본값을 그대로 유지합니다. Path의 폴더 아이콘을 클릭합니다.
- 방금 다운로드한
ic_launcher_background.xml
파일의 위치를 찾습니다. Open을 클릭합니다.
- 새 리소스 파일을 선택하면 미리보기가 업데이트됩니다. 새로운 포그라운드 및 백그라운드 레이어가 적용된 모양은 다음과 같습니다.
두 레이어로 앱 아이콘을 표현하여 기기 제조업체(OEM이라고 함)는 위 미리보기와 같이 Android 기기에 따라 여러 모양을 만들 수 있습니다. OEM은 기기의 모든 앱 아이콘에 적용되는 마스크를 제공합니다.
이 마스크는 앱 아이콘의 포그라운드 및 백그라운드 레이어 위에 적용됩니다. 원형 마스크와 정사각형 마스크의 예가 아래에 나와 있습니다.
원형 마스크가 앱 아이콘의 두 레이어에 모두 적용되면 파란색 그리드 배경에 Android가 있는 원형 아이콘(위 왼쪽 이미지)이 생성됩니다. 또는 정사각형 마스크를 적용하여 위 오른쪽과 같은 앱 아이콘을 생성할 수도 있습니다.
레이어가 두 개면 흥미로운 시각 효과를 낼 수도 있습니다. 두 레이어가 독립적으로 이동하거나 크기를 조정할 수 있기 때문입니다. 시각 효과가 어떻게 표시될 수 있는지 재미있는 예를 보려면 디자인 고려사항의 이 블로그 게시물을 확인하세요. 사용자가 사용할 기기나 OEM이 아이콘에 적용할 마스크를 미리 알 수 없으므로 중요한 정보가 잘리지 않도록 적응형 아이콘을 설정해야 합니다.
- 포그라운드 레이어의 주요 콘텐츠(이 경우 서비스 종 모양 아이콘)가 안전 영역 내에 포함되어 다양한 마스크 모양으로 인해 잘리지 않아야 합니다. 중요한 콘텐츠가 잘리거나 너무 작아 보이면 각 레이어의 Scaling 섹션에서 Resize 슬라이더 바를 사용하면 됩니다. 이 경우에는 크기를 조절하지 않아도 되므로 100%로 두면 됩니다.
- Next를 클릭합니다.
- 이 단계는 Confirm Icon Path 단계입니다. 개별 파일을 클릭하여 미리보기를 확인할 수 있습니다. 일부 기존 파일을 덮어쓴다는(빨간색으로 표시) 경고도 하단에 표시됩니다. 이러한 기존 파일은 이전 앱 아이콘용이었으므로 덮어써도 괜찮습니다.
- 기본값이 좋으므로 Finish를 클릭합니다.
- 생성된 모든 애셋이
mipmap
폴더에서 올바르게 표시되는지 확인합니다. 예를 들면 다음과 같습니다.
수고하셨습니다. 이제 한 가지를 더 변경합니다.
벡터 드로어블 파일을 -v26 디렉터리로 이동
앱의 최소 SDK에 따라 포그라운드 애셋은 drawable-v24
폴더에 있고 백그라운드 애셋은 drawable
폴더에 있습니다. 포그라운드 애셋에는 Android 7.0 버전(API 버전 24, 즉 -v24
리소스 한정자라고도 함)부터 사용할 수 있었던 그라데이션이 포함되어 있기 때문입니다. 백그라운드 애셋에는 그라데이션이 포함되어 있지 않으므로 기본 drawable
폴더에 넣을 수 있습니다.
별도의 두 drawable
폴더에 포그라운드 및 백그라운드 애셋을 두는 대신 두 벡터 드로어블 파일을 모두 -v26
리소스 디렉터리로 이동합니다. 이러한 애셋은 적응형 아이콘에만 사용되므로 이 두 드로어블은 API 26 이상에서만 필요합니다. 이 폴더 구조를 사용하면 적응형 아이콘 파일을 찾고 관리하기가 더 쉬워집니다.
drawable-anydpi-v26
ic_launcher_background.xml
ic_launcher_foreground.xml
mipmap-anydpi-v26
ic_launcher.xml
ic_launcher_round.xml
- 먼저
drawable-anydpi-v26
디렉터리를 만듭니다. res 폴더를 마우스 오른쪽 버튼으로 클릭합니다. New > Android Resource Directory를 선택합니다. - New Resource Directory 대화상자가 표시됩니다. 다음 옵션을 선택합니다.
Directory name: drawable-anydpi-v26
Resource type: drawable(드롭다운에서 선택)
Source set: main(기본값을 그대로 유지)
OK를 클릭합니다. Project 뷰에서 새 리소스 디렉토리 res > drawable-anydpi-v26이 만들어졌는지 확인합니다.
ic_launcher_foreground.xml
파일을 마우스 왼쪽 버튼으로 클릭하고 drawable 폴더에서 drawable-anydpi-v26 폴더로 드래그합니다. 리소스를 'any dpi' 디렉터리에 넣는 것은 어떤 밀도로도 조정할 수 있는 리소스임을 나타냅니다.ic_launcher_background.xml
을 마우스 왼쪽 버튼으로 클릭하고 drawable-v24 폴더에서 drawable-anydpi-v26 폴더로 드래그합니다.drawable-v24
폴더가 지금 비어 있다면 삭제합니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 Delete를 선택합니다.- 프로젝트의 모든
drawable
및mipmap
파일을 클릭합니다. 이러한 아이콘의 미리보기가 올바르게 표시되는지 확인합니다.
앱 테스트
- 새로운 앱 아이콘이 표시되는지 테스트합니다. 기기(에뮬레이터 또는 실제 기기)에서 앱을 실행합니다.
- 기기의 홈 버튼을 누릅니다.
- 위로 스와이프하여 모든 앱 목록을 표시합니다.
- 방금 업데이트한 앱을 찾습니다. 새로운 앱 아이콘이 표시됩니다.
참고: 기기 모델에 따라 다른 모양의 런처 아이콘이 표시될 수 있습니다. 그러나 백그라운드 레이어 위에 포그라운드 레이어가 표시되고 여기에 일정 유형의 마스크가 적용되어 있어야 합니다.
좋습니다. 새로운 앱 아이콘의 모양이 훌륭합니다.
적응형 및 레거시 런처 아이콘
이제 적응형 아이콘이 잘 작동하므로 모든 앱 아이콘 비트맵 이미지를 제거할 수 없는 이유가 궁금할 수 있습니다. 이전 버전의 Android에서 앱 아이콘이 고화질로 표시되기 위해(이전 버전과의 호환성이라고 함) 이러한 파일이 여전히 필요합니다.
Android 8.0 이상(API 버전 26 이상)을 실행하는 기기
적응형 아이콘을 사용할 수 있습니다(포그라운드 벡터 드로어블과 백그라운드 벡터 드로어블, 그리고 맨 위에 OEM 마스크가 적용된 조합). 다음은 프로젝트의 관련 파일입니다.
res/drawable-anydpi-v26/ic_lancher_background.xml
res/drawable-anydpi-v26/ic_launcher_foreground.xml
res/mipmap-anydpi-v26/ic_launcher.xml
res/mipmap-anydpi-v26/ic_launcher_round.xml
Android 8.0 미만(그러나 앱의 최소 필수 API 수준 이상)을 실행하는 기기
레거시 런처 아이콘이 사용됩니다(여러 밀도 버킷의 mipmap
폴더에 있는 비트맵 이미지). 다음은 프로젝트의 관련 파일입니다.
res/mipmap-mdpi/ic_launcher.png
res/mipmap-mdpi/ic_launcher_round.png
res/mipmap-hdpi/ic_launcher.png
res/mipmap-hdpi/ic_launcher_round.png
res/mipmap-xhdpi/ic_launcher.png
res/mipmap-xhdpi/ic_launcher_round.png
res/mipmap-xxdpi/ic_launcher.png
res/mipmap-xxdpi/ic_launcher_round.png
res/mipmap-xxxdpi/ic_launcher.png
res/mipmap-xxxdpi/ic_launcher_round.png
기본적으로 Android는 적응형 아이콘 지원이 없는 이전 기기의 비트맵 이미지로 대체합니다.
축하합니다. 앱 아이콘 변경 단계를 모두 완료했습니다.
이 Codelab의 솔루션 코드는 아래에 나와 있습니다.
res/mipmap-anydpi-v26/ic_launcher.xml
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
res/mipmap-anydpi-v26/ic_launcher_round.xml
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
res/drawable-anydpi-v26/ic_launcher_background.xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M0,0h108v108h-108z">
<aapt:attr name="android:fillColor">
<gradient
android:startY="-1.0078"
android:startX="54"
android:endY="106.9922"
android:endX="54"
android:type="linear">
<item android:offset="0" android:color="#FF12C26D"/>
<item android:offset="1" android:color="#FF0F9453"/>
</gradient>
</aapt:attr>
</path>
</vector>
res/drawable-anydpi-v26/ic_launcher_foreground.xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M38.19,65.92L69.32,65.92a1.2,1.2 0,0 0,1.2 -1.2,0.89 0.89,0 0,0 0,-0.23 17,17 0,0 0,-33.25 0,1.18 1.18,0 0,0 0.9,1.42ZM74.53,69.05a0.85,0.85 0,0 0,-0.78 -0.84L34,68.21a0.85,0.85 0,0 0,-0.77 0.84v2.82a0.84,0.84 0,0 0,0.77 0.86L73.78,72.73a0.85,0.85 0,0 0,0.77 -0.86L74.55,70.65C74.55,70.24 74.56,69.58 74.53,69.05ZM52.08,49h3.59a1.86,1.86 0,0 0,0 -3.72L52.08,45.28a1.86,1.86 0,0 0,0 3.72ZM53.87,39.81a1.19,1.19 0,0 0,1.19 -1.19L55.06,32.87a1.19,1.19 0,0 0,-2.38 0v5.71a1.19,1.19 0,0 0,1.19 1.19h0ZM61.69,41l4.62,-3.35a1.19,1.19 0,1 0,-1.4 -1.93L60.29,39A1.2,1.2 0,0 0,60 40.67a1.18,1.18 0,0 0,1.66 0.26ZM41.69,37.65L46.31,41a1.2,1.2 0,0 0,1.35 -2L43,35.66a1.19,1.19 0,0 0,-1.66 0.26,1.2 1.2,0 0,0 0.3,1.67Z"
android:fillColor="#FFFFFF"/>
</vector>
비트맵 이미지는 Android 스튜디오에서 다음 위치에도 자동 생성했어야 합니다.
res/mipmap-mdpi/ic_launcher.png res/mipmap-mdpi/ic_launcher_round.png res/mipmap-hdpi/ic_launcher.png res/mipmap-hdpi/ic_launcher_round.png res/mipmap-xhdpi/ic_launcher.png res/mipmap-xhdpi/ic_launcher_round.png res/mipmap-xxdpi/ic_launcher.png res/mipmap-xxdpi/ic_launcher_round.png res/mipmap-xxxdpi/ic_launcher.png res/mipmap-xxxdpi/ic_launcher_round.png
- 앱 아이콘 파일을
mipmap
리소스 디렉터리에 배치합니다. - Android의 이전 버전과의 호환성을 위해 각 밀도 버킷(
mdpi
,hdpi
,xhdpi
,xxhdpi
,xxxhdpi
)에 다양한 버전의 앱 아이콘 비트맵 이미지를 제공합니다. - 리소스 디렉터리에 리소스 한정자를 추가하여 특정 구성(예:
v26
)의 기기에서 사용해야 하는 리소스를 지정합니다. - 벡터 드로어블은 Android의 벡터 그래픽 구현입니다. 관련 색상 정보와 함께 일련의 점과 선, 곡선으로 XML에서 정의됩니다. 벡터 드로어블은 화질 저하 없이 어떤 밀도로도 조정할 수 있습니다.
- 적응형 아이콘은 API 26에서 Android 플랫폼에 도입되었습니다. 특정 요구사항을 준수하는 포그라운드 및 백그라운드 레이어로 구성되므로 다양한 OEM 마스크가 적용된 여러 기기에서 앱 아이콘이 고화질로 표시됩니다.
- Android 스튜디오에서 Image Asset Studio를 사용하여 앱의 레거시 및 적응형 아이콘을 만듭니다.