Este team de redactores ha pasado mucho tiempo buscando para darle soluciones a tu duda, te ofrecemos la soluciones y nuestro objetivo es serte de mucha apoyo.
Solución:
Tuve el mismo problema y lo resolví cambiando el nombre de mi mipmap-anydpi
directorio a mipmap-anydpi-v26
.
Aparentemente el ic_launcher.xml
El archivo confunde las versiones anteriores de Android, y esto lo oculta de todos menos de O. En cualquier caso, mis íconos ahora funcionan en todas las versiones (hasta SDK 11, al menos).
La solución es tener mipmap-anydpi-v26/ic_launcher.xml
para iconos adaptables aplicables al nivel de API 26 y superior y para otros niveles de API poner ic_launcher.png
(Nota: No ic_launcher.xml) en todas las carpetas mimpap.
Explicación:
Aquí está el problema básico. mipmap-anydpi
tener prioridad sobre todos los demás mipmap-*
. Así que si el recurso se encuentra en mipmap-anydpi
siempre tendrá preferencia. Ahora mipmap-anydpi-v26
hay un filtro encima de esto que dice recursos de mipmap-anydpi-v26
siempre se seleccionará independientemente de la densidad de los dispositivos solo si el nivel de API es 26 o más (Oreo).
Ahora te manifiestas tiene android:icon="@mipmap/ic_launcher"
Si su dispositivo tiene un nivel de API 26 o superior, Android elegirá usar mipmap-anydpi-v26/ic_launcher.xml
y todo funciona bien.
El problema ocurre cuando el nivel de API es inferior a 26. Las estadísticas de Android buscan un recurso llamado ic_launcher
. Nunca irá y buscará en mipmap-anydpi-v26
debido a la restricción de nivel de API. A continuación, buscaría el recurso en mipmap-anydpi
y si no está allí, entonces el recurso de densidad real, por ejemplo. mipmap-mdpi
.
A continuación, no puede dar ic_launcher.xml
a dispositivos Android inferiores a sdk 26 porque no sabe qué son los iconos adaptables.
Entonces la solución es tener mipmap-anydpi-v26/ic_launcher.xml
para iconos adaptables aplicables al nivel de API 26 y superior y para otros niveles de API poner ic_launcher.png
(Nota: No ic_launcher.xml) en todas las carpetas mimpap.
Me he enfrentado al mismo problema y lo resolví de la siguiente manera.
Ponga su ic_launcher.xml
y ic_launcher_round.xml
debería estar en mipmap-anydpi-v26 (asegúrese de que no debe tener ic_launcher.png/jpg
o ic_launcher_round.png/jpg
en la misma carpeta).
Ponga su ic_launcher.png
debería estar en mipmap-hdpi/mdpi/xhdpi/xxhdpi/xxxhdpi (asegúrese de que no debe tener ic_launcher.xml
y ic_launcher_round.xml
en esta misma carpeta).
Al hacer esto, no obtendrá ningún error al construir/ejecutar el proyecto.
Espero que ayude a alguien que tiene el mismo problema…
valoraciones y reseñas
Al final de la artículo puedes encontrar las interpretaciones de otros administradores, tú incluso tienes la habilidad dejar el tuyo si lo deseas.