Android O(8.0)에서 등장한 Adaptive Icon에 자동으로 환경별 라벨 지정
6983 단어 안드로이드AdaptiveIcon도서관gradle
소개
이번에는 ↓ 이런 환경별 라벨 부착을 Android8에서 등장한 Adaptive Icon에서도 자동 생성하여 즐기자! 라는 이야기입니다.
그건 그렇고, Adaptive Icon은 이런 녀석입니다.
여러분은 앱을 여러 환경 준비할 때 앱 아이콘, 어떻게 되나요?
dev, stg, debug 등의 환경 마다 색을 바꾸거나, 라벨을 붙이거나, gradle-android-ribbonizer-plugin (을)를 사용하거나.
ribbonizer-plugin 사용하는 것이 많다고 생각합니다만, Adaptive Icon에 대응하고 있지 않기 때문에 상기와 같은 라벨을 붙일 수 없습니다.
하지만 Adaptive Icon에서도 즐기고 싶다…
그렇다고 해서, 대응하고 있지 않다면 라이브러리를 만들어 버릴까, 조사하고 있는 동안에 Adaptive Icon에 대응한 라이브러리를 발견했으므로 그 소개입니다.
easylauncher-gradle-plugin
easylauncher-gradle-plugin은 Adaptive Icon을 지원하며, 처음 소개한 이미지처럼 라벨을 붙일 수 있습니다.
게다가 ribbonizer-plugin보다 설정이 간단합니다.
설정 방법
build.gradlebuildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.akaita.android:easylauncher:1.3.1'
}
}
easylauncher-gradle-plugin은 Adaptive Icon을 지원하며, 처음 소개한 이미지처럼 라벨을 붙일 수 있습니다.
게다가 ribbonizer-plugin보다 설정이 간단합니다.
설정 방법
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.akaita.android:easylauncher:1.3.1'
}
}
filters = grayRibbonFilter()
를 추기합니다. redRibbonFilter("pro")
와 같이 임의 문자열의 라벨을 붙일 수도 있고, 생략하면 블록의 환경명이 자동적으로 부여됩니다. app/build.gradle
apply plugin: 'com.akaita.android.easylauncher'
// 略
android {
// 略
buildTypes {
debug {
debuggable true
applicationIdSuffix = '.debug'
versionNameSuffix = 'd'
signingConfig signingConfigs.debug
}
release {
debuggable false
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
dev {
applicationIdSuffix = '.dev'
}
stg {
applicationIdSuffix = '.stg'
}
pro {
}
}
}
easylauncher {
// "manifest application[android:icon]" is automatically added to the list
iconNames "@mipmap/ic_launcher_foreground" // Traditional launcher icon
foregroundIconNames "@mipmap/ic_launcher_foreground" // Foreground of adaptive launcher icon
defaultFlavorNaming = true // Use flavor name for default ribbon, instead of the type name
buildTypes {
debug {}
release {}
}
productFlavors {
dev {
// こうすることでグレー色のラベルdevが生成される
filters = grayRibbonFilter()
}
stg {
filters = greenRibbonFilter()
}
pro {}
}
variants {
proDebug {
// proReleaseにラベルを付けたくない場合はここでdebugのときのみ設定
filters = redRibbonFilter("pro")
}
}
}
설정은 이상! 여기까지 할 수 있으면 build 하는 것으로 아이콘이 자동 생성됩니다. 이 설정으로 생성된 아이콘이 이쪽↓. 커스터마이즈성 높고, 그 밖에도 이미지를 오버레이 하거나, 사이즈 바꾸거나 여러가지 할 수 있습니다. 신경이 쓰이는 분은 작자님의 페이지를 봐 주세요.
마지막으로
Adaptive Icon을 활용하고 있는 앱, 별로 본 적은 없습니다만 어떻습니까? 의식해 보면 의외로 대응하고 있었습니다.
하지만 일단이 라이브러리 덕분에 계속 즐길 수있을 것 같습니다. 저자 akaita, FUJI Goro에게 감사
Reference
이 문제에 관하여(Android O(8.0)에서 등장한 Adaptive Icon에 자동으로 환경별 라벨 지정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tarumzu/items/e2c56a1aa48ca535c9b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Android O(8.0)에서 등장한 Adaptive Icon에 자동으로 환경별 라벨 지정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tarumzu/items/e2c56a1aa48ca535c9b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)