¿Cómo cambiar el icono del iniciador de aplicaciones en Flutter?

200

Cuando creo una aplicación con flutter createcomando, el logotipo de flutter se usa como un icono de aplicación para ambas plataformas.

Si quiero cambiar el ícono de la aplicación, ¿debo ir a los directorios de ambas plataformas y reemplazar las imágenes allí ?, por directorios de plataformas que quiero decir myapp/ios/Runner/Assets.xcassets/AppIcon.appiconsetpara iOS y myapp/android/app/src/main/resAndroid.

¿O es posible definir una imagen como un activo Flutter y los iconos se generan de alguna manera?

RobertoAllende
fuente
puede actualizar appicon de dos maneras, he mencionado que ambas verifiquen aquí
Mayur Dabhi

Respuestas:

240

Flutter Launcher Icons ha sido diseñado para ayudar a generar rápidamente iconos de iniciador para Android e iOS: https://pub.dartlang.org/packages/flutter_launcher_icons

  • Agregue el paquete a su archivo pubspec.yaml (dentro de su proyecto Flutter) para usarlo
  • Dentro del archivo pubspec.yaml, especifique la ruta del icono que desea usar para la aplicación y luego elija si desea usar el icono para la aplicación iOS, la aplicación Android o ambas.
  • Ejecute el paquete
  • Voila! Los íconos de inicio predeterminados ahora se han reemplazado con su ícono personalizado

Espero agregar un video al archivo README de GitHub para demostrarlo

El video que muestra cómo ejecutar la herramienta se puede encontrar aquí .

Si alguien quiere sugerir mejoras / informar errores, agréguelo como un problema en el proyecto GitHub .

Actualización: a partir del miércoles 24 de enero de 2018, debería poder crear nuevos iconos sin anular los antiguos iconos de inicio existentes en su proyecto Flutter.

Actualización 2: A partir de la v0.4.0 (8 de junio de 2018) puede especificar una imagen para su icono de Android y una imagen separada para su icono de iOS.

Actualización 3: a partir de v0.5.2 (20 de junio de 2018) ahora puede agregar iconos de iniciador adaptativo para la aplicación de Android de su proyecto Flutter

Mark O'Sullivan
fuente
1
¿Hay algún requisito para la imagen?
camino
1
Solo encontré una referencia a una talla 710x599,. ¿Cuál fue la razón para elegir eso? Lo que habría esperado 512x512o 1000x1000o algo cuadrado de todos modos.
Suragch
1
@Suragch acaba de hacer una búsqueda rápida de un ícono en Google para poder probarlo rápidamente. Incluí
Mark O'Sullivan
3
¿Puedo sugerir que los paquetes read.me proporcionen recomendaciones sobre los tamaños de las imágenes?
Brett Sutton el
1
Esta es una de las mejores cosas que he encontrado. ¡Gracias hombre!
besil
135

Establecer los íconos del iniciador como un desarrollador nativo

Estaba teniendo problemas para usar y comprender el paquete flutter_launcher_icons . Esta respuesta es cómo lo haría si estuviera creando una aplicación para Android o iOS de forma nativa. Es bastante rápido y fácil una vez que lo ha hecho varias veces.

Androide

Los íconos del iniciador de Android tienen tanto una capa de primer plano como una de fondo.

ingrese la descripción de la imagen aquí

(imagen adaptada de la documentación de Android )

La forma más fácil de crear iconos de iniciador para Android es usar Asset Studio que está disponible directamente en Android Studio. Ni siquiera tiene que abandonar su proyecto Flutter. (Usuarios de VS Code, puede considerar usar Android Studio solo para este paso. Es realmente muy conveniente y no está de más estar familiarizado con otro IDE).

Haga clic derecho en la androidcarpeta en el esquema del proyecto. Vaya a Nuevo> Activo de imagen . (Intente hacer clic derecho en la android/appcarpeta si no ve el activo de imagen como una opción). Ahora puede seleccionar una imagen para crear su icono de iniciador.

Nota: Por lo general, uso una 1024x1024imagen de píxeles, pero ciertamente no debes usar nada más pequeño que eso 512x512. Si está utilizando Gimp o Inkscape, debe tener dos capas, una para el primer plano y otra para el fondo. La imagen en primer plano debe tener áreas transparentes para que se vea la capa de fondo.

ingrese la descripción de la imagen aquí

(clipart de león desde aquí )

Esto reemplazará los íconos del iniciador actual. Puede encontrar los iconos generados en las mipmapcarpetas:

Si prefiere crear los iconos del iniciador manualmente, consulte esta respuesta para obtener ayuda.

Finalmente, asegúrese de que el nombre del icono del iniciador en el AndroidManifest sea el mismo que lo llamó anteriormente ( ic_launcherde forma predeterminada):

application android:icon="@mipmap/ic_launcher"

Ejecute la aplicación en el emulador para confirmar que el icono del iniciador se creó correctamente.

iOS

Siempre solía cambiar el tamaño de mis iconos iOS a mano, pero si tienes una Mac, hay una aplicación gratuita en la Mac App Store llamada Icon Set Creator . Le das una imagen (de al menos 1024x1024píxeles) y escupirá todos los tamaños que necesites (más el Contents.jsonarchivo). Gracias a esta respuesta por la sugerencia.

Los íconos de iOS no deberían tener ninguna transparencia. Ver más pautas aquí .

Después de haber creado el conjunto de iconos, inicie Xcode (suponiendo que tenga una Mac) y úselo para abrir la ioscarpeta en su proyecto Flutter. Luego vaya a Runner> Assets.xcassets y elimine el elemento AppIcon.

ingrese la descripción de la imagen aquí

Después de que el botón derecho del ratón y seleccione Importar ... . Elija el conjunto de iconos que acaba de crear.

Eso es. Confirme que el icono se creó ejecutando la aplicación en el simulador.

Si no tienes una Mac ...

Todavía puede crear todas las imágenes a mano. En tu proyecto Flutter ve a ios/Runner/Assets.xcassets/AppIcon.appiconset.

Los tamaños de imagen que necesita son los tamaños multiplicados en el nombre del archivo. Por ejemplo, [email protected]serían 29tiempos 3, es decir, 87píxeles cuadrados. Debe mantener los mismos nombres de icono o editar el archivo JSON.

Suragch
fuente
1
si le costaba entenderlo, me complace responder a cualquier pregunta que tenga. Abra un problema y me pondré en contacto
Mark O'Sullivan
2
@ MarkO'Sullivan, gracias. Supongo que el paquete está bien. Es solo que la documentación fue difícil de seguir para mí. Por ejemplo, qué tamaño usar para la imagen inicial son las capas de fondo que se crean para Android, etc. Sería realmente útil tener un tutorial detallado para guiar a un principiante a través del proceso.
Suragch
Una buena alternativa al paquete, que no es oficial, parece que ya no funciona y no se ha actualizado durante 6 meses ...
Yann39
1
Esto ayudó Dentro de Android Studio, no hay opción para agregar Image Asset . El trabajo que aprendí de un problema de github / flutter es abrir la carpeta / android (dentro del proyecto flutter) como un proyecto "Android" estándar solo en Android Studio. La opción aparecerá cuando haga clic derecho en la carpeta / res.
MwamiTovi
2
@MwamiTovi tiene razón, sin embargo, debe esperar la sincronización de Gradle antes de hacer clic con el botón derecho o incluso sincronizar manualmente, de lo contrario, "nuevo -> activo de imagen" no se mostrará.
Daniel
111

Sigue pasos simples:

  1. Agregar flutter_launcher_iconscomplemento apubspec.yaml

p.ej

dev_dependencies: 
  flutter_test:
    sdk: flutter

  flutter_launcher_icons: ^0.7.5

flutter_icons:
  image_path: "icon/icon.png" 
  android: true
  ios: true
  1. Prepare un icono de aplicación para la ruta especificada. e.g. icon/icon.png

  2. Ejecute el comando en el terminal para crear iconos de aplicaciones:

$ flutter pub get

$ flutter pub run flutter_launcher_icons:main

Para verificar verificar todas las opciones disponibles y configurar diferentes íconos para Android e iOS, consulte esto

Espero que esto ayude a otros.

Rahul Mahadik
fuente
44
Esto funcionó para mí; solo una vez corrí esa última línea flutter pub pub run flutter_launcher_icons:main. ¡Gracias por el consejo!
olisteadman
3
Recibo errores android.dart: 164: 25: Error: Demasiados argumentos posicionales: 1 permitido, pero 4 encontrado.
ir2pid
¿Puedo cambiar el icono si darkmode está activado?
Maximiliano Sosa
1
@ ir2pid para resolver el error, necesita actualizar la versión como flutter_launcher_icons: 0.7.5
Gökçer Gökdal
Solo una pregunta curiosa: ¿por qué en pub publugar de pub?
ch271828n hace
19

Te sugiero que uses este sitio web.

App Icon Creator

Paso 1: sube la imagen,

Paso 2: realice los cambios necesarios y haga clic en descargar (no cambie el nombre del archivo)

Paso 3: Extraiga el archivo zip descargado en la carpeta correspondiente

android/app/src/main/res
Nitish Patel
fuente
3
esta sugerencia no ayudará en iOS
evalúa el
2
esta solución funcionó para mí (solo para Android)
dark_ruby
1
Una muy buena solución.
Mayank M.
17

Lo he cambiado en los siguientes pasos:

1) agregue esta dependencia en su página pubspec.yaml

 dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: ^0.7.4

2) debe cargar una imagen / icono en su proyecto que desea ver como un icono de inicio. (He creado un nombre de carpeta: imagen en mi proyecto y luego cargue el logo.png en la carpeta de imágenes). Ahora debe agregar los siguientes códigos y pegar la ruta de su imagen en image_path: en la página pubspec.yaml.

flutter_icons:
  image_path: "images/logo.png"
  android: true
  ios: true

3) Vaya a la terminal y ejecute este comando:

flutter pub get

4) Después de ejecutar el comando, ingrese el siguiente comando:

flutter pub run flutter_launcher_icons:main

5) Hecho

NB: (por supuesto, agregue una dependencia actualizada de

https://pub.dev/packages/flutter_launcher_icons#-installing-tab-

)

paul polash
fuente
4

Mejor y recomendado forma de configurar el ícono de la aplicación en Flutter.

Encontré un complemento para configurar el ícono de la aplicación en flutter llamado "flutter_launcher_icons". Usaremos este complemento para configurar el ícono de la aplicación en flutter.

  1. Agregue este complemento en el archivo pubspec.yaml en el directorio raíz del proyecto. Por favor, consulte el siguiente código,

    dependencias:
    flutter:
    sdk: flutter
    cupertino_icons: ^ 0.1.2
    flutter_launcher_icons: ^ 0.7.2 + 1

Guarde el archivo y ejecute flutter pub get en la terminal.

  1. Crear una carpeta de activos en la raíz del proyecto en la carpeta de activos también cree un icono de carpeta y coloque el icono de su aplicación dentro de esta carpeta. Recomendaré al usuario el tamaño del icono de la aplicación 1024x1024. He colocado el ícono de la aplicación dentro de la carpeta de íconos y ahora tengo la ruta del ícono de la aplicación como assets / icon / icon.png

  2. Ahora, en pubspec.yaml agregue el siguiente código,

    flutter_icons:
    android: "launcher_icon"
    ios: true
    image_path: "assets / icon / icon.png"

  3. Guarde el archivo y ejecute flutter pub get en la terminal. Después de ejecutar el comando, ejecute el segundo comando como se muestra a continuación

    flutter pub run flutter_launcher_icons: main -f pubspec.yaml

Luego ejecute la aplicación

Parth Patel
fuente
Aunque respondiste la misma respuesta correcta, al menos resaltaste los puntos principales.
Felipe Augusto el
0

La mejor manera es cambiar los íconos del iniciador por separado para iOS y Android.

Cambie los iconos en el módulo iOS y Android por separado. El complemento produce iconos de diferentes tamaños a partir del mismo icono que están distorsionados.

Siga este enlace: https://flutter.dev/docs/deployment/android

Raj Yadav
fuente
-5

puedes lograr esto usando flutter_launcher_icons en pubspec.yaml

otra forma es usar una para Android y otra para iOS

Malik A. Abualzait
fuente