plugin - Generando iconos de iOS y Android en Cordova/PhoneGap
cordova splash screen generator (7)
¿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:
<icon src="res/icon.png" />
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 iconos 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
:
<?xml version=''1.0'' encoding=''utf-8''?>
<widget id="com.testapp" version="1.1.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>SingleApp</name>
<preference name="DisallowOverscroll" value="true" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="Orientation" value="portrait" />
<preference name="Fullscreen" value="false" />
<preference name="target-device" value="handset" />
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="[email protected]" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<icon src="icon.png" />
</widget>
Escribí un script que genera automáticamente iconos para Córdoba 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 iconos necesarios para las plataformas que tiene su proyecto.
También puede configurarlo como un gancho en su proyecto cordova para que los iconos se generarán cada vez que construya el proyecto en función del icono.png que haya agregado. (instrucciones en el archivo Léame).
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
La configuración de config.xml
para los iconos 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 iconos 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 iconos, puede utilizar Ionic, que tiene dicha función.
Haz lo siguiente:
-
npm install ionic -g
- Coloque archivos png, psd o .ai para iconos y / o
${project_location}/resources
en${project_location}/resources
-
ionic resources
Si desea generar íconos solo hay una tecla útil para eso:
ionic resources --icon
Más detalles here
Si está utilizando cordova 3.5.0, han actualizado los documentos. En versiones anteriores, siempre he tenido que reemplazar los iconos 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:
<icon src="www/res/drawable-xxxhdpi/icon.png" />
<platform name="android">
<icon src="www/res/drawable-ldpi/icon.png" density="ldpi" />
<icon src="www/res/drawable-mdpi/icon.png" density="mdpi" />
<icon src="www/res/drawable-hdpi/icon.png" density="hdpi" />
<icon src="www/res/drawable-xhdpi/icon.png" density="xhdpi" />
</platform>
<platform name="ios">
<!-- iOS 7.0+ -->
<!-- iPhone / iPod Touch -->
<icon src="www/res/ios/icon-60.png" width="60" height="60" />
<icon src="www/res/ios/[email protected]" width="120" height="120" />
<!-- iPad -->
<icon src="www/res/ios/icon-76.png" width="76" height="76" />
<icon src="www/res/ios/[email protected]" width="152" height="152" />
<!-- iOS 6.1 -->
<!-- Spotlight Icon -->
<icon src="www/res/ios/icon-40.png" width="40" height="40" />
<icon src="www/res/ios/[email protected]" width="80" height="80" />
<!-- iPhone / iPod Touch -->
<icon src="www/res/ios/icon.png" width="57" height="57" />
<icon src="www/res/ios/[email protected]" width="114" height="114" />
<!-- iPad -->
<icon src="www/res/ios/icon-72.png" width="72" height="72" />
<icon src="www/res/ios/[email protected]" width="144" height="144" />
<!-- iPhone Spotlight and Settings Icon -->
<icon src="www/res/ios/icon-small.png" width="29" height="29" />
<icon src="www/res/ios/[email protected]" width="58" height="58" />
<!-- iPad Spotlight and Settings Icon -->
<icon src="www/res/ios/icon-50.png" width="50" height="50" />
<icon src="www/res/ios/[email protected]" width="100" height="100" />
</platform>
Como puede ver, los URI son relativos a la ruta del proyecto cordova, no a la carpeta www.
Una pequeña explicación para las personas que dicen <icon src="res/icon.png" />
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 <icon src="res/icon.png" />
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