Как добавить иконки и изображения в Android Studio и настроить launcher icon без ошибок
В двух словах: храните launcher icon в mipmap, все прочие картинки — в drawable; для интерфейсных иконок используйте Vector Asset, большие иллюстрации — WebP/PNG оптимизированные; создавать launcher icon удобно через New → Image Asset. Ниже — пошагово и с практическими советами.
Оглавление автоматически создаётся ниже, если статья длиннее 3000 знаков.
Оглавление {{TOC_AUTOMATIC}}
Основы и структура ресурсов
Android хранит графику в res и выбирает файл по каталогу и плотности экрана. Ключевые каталоги:
- mipmap-... — для иконки приложения (launcher). Система лаунчера может выбирать из этих папок.
- drawable-... — интерфейсные иконки, фоны, shape, state-list, векторные ресурсы.
Плотности: mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi. Либо используйте вектор (.xml) — одна версия для всех плотностей — либо генерируйте растровые варианты под каждую плотность.
Пример ссылки в манифесте:
<application android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" ...>
Vector Asset хорошо подходит для кнопочных иконок и toolbar: масштабируется без потерь и легко меняется через tint.
Практические шаги: добавление изображений и создание launcher icon
-
Добавление обычной картинки:
- Project → режим Android → app/src/main/res → drawable → перетащите файл.
- Или Resource Manager → Drawable → + → Import Drawables.
- Соблюдайте lower_snake_case: ic_profile, bg_header.
-
Использование Vector Asset:
- File → New → Vector Asset → выберите Clip Art или импортируйте SVG.
- Укажите имя (ic_add), размер (обычно 24dp) → Finish.
- В местах: android:src="@drawable/ic_add".
-
Создание/обновление launcher icon:
- Правый клик на res или модуле app → New → Image Asset.
- Asset Type: Launcher Icons (Adaptive and Legacy).
- Foreground: PNG/SVG или текст; Background: цвет или изображение.
- Просмотрите варианты форм (круг, квадрат и т.д.) и плотности.
- Finish → мастер сгенерирует mipmap-* и адаптивные ресурсы, обновит манифест при необходимости.
-
Проверка на устройстве:
- Clean → Rebuild Project.
- Удалите старую версию приложения с устройства/эмулятора и установите заново (лаунчер может кэшировать иконки).
Не используйте имена с дефисами, пробелами или заглавными буквами. Имена ресурсов должны быть lower_snake_case.
Оптимизация изображений и практические рекомендации
- WebP: конвертируйте большие PNG в WebP (правый клик → Convert to WebP) — уменьшение веса без видимой потери качества.
- Векторы: используйте для простых интерфейсных иконок; избегайте векторов для сложных иллюстраций или фото.
- Размеры: готовьте исходники под реальные dp-размеры, не храните 4k-изображения там, где нужен 48dp.
- Хранение launcher icon в mipmap важно, потому что лаунчер может обращаться к mipmap-ресурсам независимо от плотности приложения.
- Проверяйте адаптивную иконку для всех форм: foreground должен быть читаем на разном фоне, не используйте мелкий текст.
Перед релизом смотрите иконку в списке приложений на реальном устройстве — контраст и размер часто кажутся другими, чем в превью.
Частые ошибки
- Неправильные имена файлов (пробелы, заглавные).
- Хранение launcher icon в drawable вместо mipmap.
- Отсутствие наборов под разные плотности → размытые иконки.
- Использование PNG вместо вектора для простых иконок.
- Лаунчер кэширует иконки — кажется, что обновление не сработало.
FAQ
- Где хранить adaptive icon?
- В mipmap-anydpi-v26 (foreground/background) и в mipmap-* для legacy.
- Можно ли использовать SVG?
- Android Studio импортирует SVG как Vector Asset (.xml). Проверяйте сложные SVG — не все конструкции поддерживаются.
- Почему иконка размыта на устройстве?
- Либо неправильно подготовлены растровые варианты, либо используется mdpi в xxxhdpi-экранe. Решение: вектор или наборы под плотности.
- Как заставить устройство показать новую иконку?
- Переустановите приложение, перезапустите устройство или очистите данные лаунчера.
Чек-лист перед релизом:
- Есть адаптивная иконка и legacy-версии.
- Имена ресурсов осмысленные и в lower_snake_case.
- Большие изображения оптимизированы (WebP).
- Нет неиспользуемых или дублирующих ресурсов.
Если соблюдать эти простые правила и использовать мастера Image Asset и Vector Asset, работа с иконками и изображениями в Android Studio станет предсказуемой и удобной.