Generando icons de iOS y Android en Cordova / PhoneGap

Tengo un proyecto Cordova recién creado con la siguiente configuración de config.xml (usé las instrucciones de http://docs.phonegap.com/en/edge/config_ref_images.md.html ). También agregué 2 plataformas (iOS y Android).

Cuando ejecuto cordova run ios o cordova run android , el proyecto aún tiene los icons predeterminados de Cordova. Mi comprensión de la documentación es que se supone que Corodva crea los íconos automáticamente basados ​​en el icon.png que proporcioné en config.xml .

config.xml :

   SingleApp       A sample Apache Cordova application that responds to the deviceready event.   Apache Cordova Team      

Escribí un script que genera automáticamente icons para cordova utilizando ImageMagick:

https://github.com/AlexDisler/cordova-icon

Para usarlo, crea un archivo “icon.png” y colócalo en la carpeta raíz de tu proyecto, luego ejecuta:

 cordova-icon 

y generará todos los icons necesarios para las plataformas que tiene su proyecto.

También puede configurarlo como un gancho en su proyecto cordova para que los icons se generarán cada vez que construya el proyecto en función del icono.png que haya agregado. (instrucciones en el archivo Léame).

Si está utilizando cordova 3.5.0, han actualizado los documentos. En versiones anteriores, siempre he tenido que reemplazar los icons manualmente en el proyecto, pero la última versión de cordova funciona bien.

http://cordova.apache.org/docs/en/3.5.0/config_ref_images.md.html#Icons%20and%20Splash%20Screens

Como puede ver aquí https://github.com/phonegap/phonegap-cli/issues/58 , ha sido un problema común. Entonces, si estás usando una versión anterior de cordova, recomiendo actualizarla con el comando npm update -g cordova

Y después de eso deberías actualizar tu config.xml a algo como esto:

                                  

Como puede ver, los URI son relativos a la ruta del proyecto cordova, no a la carpeta www.

La configuración de config.xml para los icons solo funciona con el servicio PhoneGap Build. Después de agregar las dos plataformas que necesita manualmente (o puede crear un gancho, pero yo mismo no lo hice) coloque sus icons en las rutas correctas.

Para iOS:

 PROJECT_PATH/platforms/ios/PROJECT_NAME/Resources/icons 

Para Android:

 PROJECT_PATH/platforms/android/res/drawable 

Android tiene muchas carpetas res/drawable-* , utilícela como se aplica a su aplicación pero como mínimo agregue a res/drawable

Luego ejecuta cordova prepare o build o run

Si está dispuesto a instalar un software adicional para la generación de icons, puede utilizar Ionic, que tiene dicha función.

Haz lo siguiente:

  1. npm install ionic -g
  2. Coloque archivos png, psd o .ai para icons y / o ${project_location}/resources en ${project_location}/resources
  3. ionic resources

Si desea generar íconos solo hay una tecla útil para eso:

 ionic resources --icon 

Más detalles aquí

¿No necesita especificar la carpeta que tiene el ícono? Cordova reemplaza el icono por el predeterminado cuando no se encuentra.

Has intentado reemplazar con algo como:

  

Intenta seguir https://www.npmjs.org/package/cordova-gen-icon

Ejemplo:

 $ cordova create hello com.example.hello Creating a new cordova project with name "HelloCordova" and id "com.example.hello" at location "hello" $ cd hello $ cordova platform add ios Creating ios project... Preparing ios project $ cordova-gen-icon Generate cordova icons with project: . icon : ./www/img/logo.png target : generate iOS icons Success generate icon set 

Una pequeña explicación para las personas que dicen No funciona!

Debes poner icon.png en ambas carpetas

project_name / res /

y

project_name / platforms / platform_name / res /

Pasos:

 cordova create hello com.example.hello HelloWorld cd hello 

Copie su icon.png a project_name/res/ Open config.xml y coloque

Después de esa carrera

 cordova platform add android 

Ahora copia tu icon.png a … hello/platforms/android/res/

entonces

 cordova build android 

y finalmente

 adb install platforms/android/build/outputs/apk/android-debug.apk 

Después de eso, puede ver en el dispositivo su aplicación con su icono