Как уже говорилось здесь , вы можете использовать свою собственную фигурную иконку, если ваш targetSdkLevel
ниже 26, однако это не является хорошим долгосрочным решением (вам придется нацелить 26+ на Ноябрь 2018 ). Если вы хотите настроить таргетинг на Oreo, лучшим решением будет создание правильного адаптивного значка. Тем не менее, я вижу много иконок на моем Pixel 2, которые имеют неправильную форму (Google Hangouts, Firebase, Street View, Firefox, Skype, Facebook Messenger, Outlook и т. Д.) И многие другие, которые являются только обычная иконка на белом фоне.
Точное поведение будет зависеть от используемого модуля запуска, поэтому если вы полагаетесь на модуль запуска, обеспечивающий прозрачность фонового слоя или учитывающий нечетную форму значка, вы можете получить несовместимый вид значка между устройствами.
Для тестирования я создал тестовый проект с targetSdkLevel
из 25, предоставил только квадратную иконку и запустил ее на эмулированном пикселе 2 с Android 8.1 и получил квадратную иконку, не заставляя быть круглой, как другие.
Затем я повысил до targetSdkLevel
из 27, не добавляя адаптивный значок, и он поместил мой квадратный значок в белый круг.
Обратите внимание, что вам не нужно устанавливать compileSdkVersion
на то же значение, что и ваше targetSdkVersion
. Вы можете установить compileSdkVersion
на 27 и использовать библиотеки поддержки v27, сохраняя targetSdkVersion
на 25, чтобы получить квадратный значок (до ноября).
compileSdkVersion 27
defaultConfig {
applicationId "com.example.testproject"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
}