La creación del teléfono no muestra la pantalla de bienvenida

Esta pregunta se ha hecho en el pasado, pero ninguna de las respuestas que he encontrado han resuelto el problema para mí.

Estoy tratando de hacer una aplicación de phonegap muy simple para mostrar una pantalla de bienvenida y anunciar cuando está listo. Es sólo una aplicación de prueba para averiguar cómo usar la pantalla de bienvenida.

  • Estoy utilizando la creación de teléfono a través del phonegap cli.
  • Phonegap versión 3.5.0
  • Probado en android solamente

Tengo una carpeta www donde se encuentra config.xml . Todos los splashscreens se encuentran dentro de www/res/screen/<platform>/filename.png

Mi archivo de configuración es

 <?xml version='1.0' encoding='utf-8'?> <widget id="uk.co.workshop14.splashscreen-example-app" version="0.1.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> <name>splashscreen-example-app</name> <description> Hello World sample application that responds to the deviceready event. </description> <author email="[email protected]" href="http://phonegap.com"> Peter </author> <preference name="permissions" value="none" /> <preference name="phonegap-version" value="3.5.0" /> <preference name="orientation" value="default" /> <preference name="target-device" value="universal" /> <preference name="fullscreen" value="true" /> <preference name="webviewbounce" value="true" /> <preference name="prerendered-icon" value="true" /> <preference name="stay-in-webview" value="false" /> <preference name="ios-statusbarstyle" value="black-opaque" /> <preference name="detect-data-types" value="true" /> <preference name="exit-on-suspend" value="false" /> <preference name="show-splash-screen-spinner" value="true" /> <preference name="auto-hide-splash-screen" value="false" /> <preference name="SplashScreenDelay" value="10000" /> <preference name="disable-cursor" value="false" /> <preference name="android-minSdkVersion" value="7" /> <preference name="android-installLocation" value="auto" /> <gap:plugin name="org.apache.cordova.device" /> <gap:plugin name="org.apache.cordova.splashscreen" /> <icon src="icon.png" /> <icon gap:platform="android" gap:qualifier="ldpi" src="res/icon/android/icon-36-ldpi.png" /> <icon gap:platform="android" gap:qualifier="mdpi" src="res/icon/android/icon-48-mdpi.png" /> <icon gap:platform="android" gap:qualifier="hdpi" src="res/icon/android/icon-72-hdpi.png" /> <icon gap:platform="android" gap:qualifier="xhdpi" src="res/icon/android/icon-96-xhdpi.png" /> <icon gap:platform="blackberry" src="res/icon/blackberry/icon-80.png" /> <icon gap:platform="blackberry" gap:state="hover" src="res/icon/blackberry/icon-80.png" /> <icon gap:platform="ios" height="57" src="res/icon/ios/icon-57.png" width="57" /> <icon gap:platform="ios" height="72" src="res/icon/ios/icon-72.png" width="72" /> <icon gap:platform="ios" height="114" src="res/icon/ios/icon-57-2x.png" width="114" /> <icon gap:platform="ios" height="144" src="res/icon/ios/icon-72-2x.png" width="144" /> <icon gap:platform="webos" src="res/icon/webos/icon-64.png" /> <icon gap:platform="winphone" src="res/icon/windows-phone/icon-48.png" /> <icon gap:platform="winphone" gap:role="background" src="res/icon/windows-phone/icon-173.png" /> <gap:splash gap:platform="android" gap:qualifier="port-ldpi" src="res/screen/android/screen-ldpi-portrait.png" /> <gap:splash gap:platform="android" gap:qualifier="port-mdpi" src="res/screen/android/screen-mdpi-portrait.png" /> <gap:splash gap:platform="android" gap:qualifier="port-hdpi" src="res/screen/android/screen-hdpi-portrait.png" /> <gap:splash gap:platform="android" gap:qualifier="port-xhdpi" src="res/screen/android/screen-xhdpi-portrait.png" /> <gap:splash gap:platform="blackberry" src="res/screen/blackberry/screen-225.png" /> <gap:splash gap:platform="ios" height="480" src="res/screen/ios/screen-iphone-portrait.png" width="320" /> <gap:splash gap:platform="ios" height="960" src="res/screen/ios/screen-iphone-portrait-2x.png" width="640" /> <gap:splash gap:platform="ios" height="1136" src="res/screen/ios/screen-iphone-portrait-568h-2x.png" width="640" /> <gap:splash gap:platform="ios" height="1024" src="res/screen/ios/screen-ipad-portrait.png" width="768" /> <gap:splash gap:platform="ios" height="768" src="res/screen/ios/screen-ipad-landscape.png" width="1024" /> <gap:splash gap:platform="winphone" src="res/screen/windows-phone/screen-portrait.jpg" /> <access origin="*" /> </widget> 

No tienes la etiqueta de bienvenida predeterminada que es

 <splash src="splash.png" /> 

Está en la documentación: http://docs.phonegap.com/phonegap-build/configuring/icons-and-splash/

Actualizar

Si está utilizando la versión phonegap cli-5.1.1 o superior, necesita el nuevo plugin splashscreen de npm.

Aquí está el nuevo plugin en github, allí puedes encontrar cómo usarlo:

https://github.com/apache/cordova-plugin-splashscreen

Resolví el problema añadiendo

 <preference name="SplashScreen" value="splash" /> 

Esta es una preferencia adicional a las generadas al usar la creación de phonegap. También no puedo encontrar ninguna buena documentación sobre esto.

Además, no necesito una pantalla de inicio predeterminada como se describe en algunas preguntas cuando agrego esta preferencia

Después de investigar y probar mucho, finalmente esto funcionó para mí:

Añada esto a sus preferencias:

 <preference name="SplashScreen" value="splash" /> 

Y agregue esto antes de su primera entrada de splash image src:

 <splash src="splash.png" /> 

Tal vez sea importante mencionarlo porque no lo sabía:

Si utiliza el convertidor en línea de apogeo de teléfono con hidratación habilitado para su aplicación, tendrá que reconstruir su aplicación completamente en lugar de actualizarla. Esto le ayudará también con preferencias como "orientación" o "pantalla completa"!

Cordova implementa APIs a nivel de dispositivo como complementos. Utilice el comando de complemento de CLI, descrito en La interfaz de línea de comandos, para agregar esta función a un proyecto: Utilice el siguiente enlace para obtener más información

http://docs.phonegap.com/es/3.3.0/cordova_splashscreen_splashscreen.md.html

Tuve el mismo problema y lo resolví mediante la conversión de la imagen de bienvenida a ser. Png en lugar de. Jpg .

Debes (como en debe) poner tu splash.png -s dentro de www/res/drawable-*/splash.png e icon.png -s dentro de www/res/drawable-*/icon.png para que tener esta estructura Bajo la carpeta www

 res ├── drawable-hdpi │ └── icon.png ├── drawable-land-hdpi │ └── splash.png ├── drawable-land-ldpi │ └── splash.png ├── drawable-land-mdpi │ └── splash.png ├── drawable-land-xhdpi │ └── splash.png ├── drawable-land-xxhdpi │ └── splash.png ├── drawable-land-xxxhdpi │ └── splash.png ├── drawable-ldpi │ └── icon.png ├── drawable-mdpi │ └── icon.png ├── drawable-port-hdpi │ └── splash.png ├── drawable-port-ldpi │ └── splash.png ├── drawable-port-mdpi │ └── splash.png ├── drawable-port-xhdpi │ └── splash.png ├── drawable-port-xxhdpi │ └── splash.png ├── drawable-port-xxxhdpi │ └── splash.png ├── drawable-xhdpi │ └── icon.png ├── drawable-xxhdpi │ └── icon.png └── drawable-xxxhdpi └── icon.png 

Y tu config.xml debe contener estas líneas

  <splash qualifier="land-hdpi" src="res/drawable-land-hdpi/splash.png" /> <splash qualifier="land-ldpi" src="res/drawable-land-ldpi/splash.png" /> <splash qualifier="land-mdpi" src="res/drawable-land-mdpi/splash.png" /> <splash qualifier="land-xhdpi" src="res/drawable-land-xhdpi/splash.png" /> <splash qualifier="land-xxhdpi" src="res/drawable-land-xxhdpi/splash.png" /> <splash qualifier="land-xxxhdpi" src="res/drawable-land-xxxhdpi/splash.png" /> <splash qualifier="port-hdpi" src="res/drawable-port-hdpi/splash.png" /> <splash qualifier="port-ldpi" src="res/drawable-port-ldpi/splash.png" /> <splash qualifier="port-mdpi" src="res/drawable-port-mdpi/splash.png" /> <splash qualifier="port-xhdpi" src="res/drawable-port-xhdpi/splash.png" /> <splash qualifier="port-xxhdpi" src="res/drawable-port-xxhdpi/splash.png" /> <splash qualifier="port-xxxhdpi" src="res/drawable-port-xxxhdpi/splash.png" /> <icon qualifier="hdpi" src="res/drawable-hdpi/icon.png" /> <icon qualifier="ldpi" src="res/drawable-ldpi/icon.png" /> <icon qualifier="mdpi" src="res/drawable-mdpi/icon.png" /> <icon qualifier="xhdpi" src="res/drawable-xhdpi/icon.png" /> <icon qualifier="xxhdpi" src="res/drawable-xxhdpi/icon.png" /> <icon qualifier="xxxhdpi" src="res/drawable-xxxhdpi/icon.png" /> 

Para obtener una imagen completa, aquí está la sección android de mi config.xml

 <platform name="android"> <allow-intent href="market:*" /> <preference name="android-minSdkVersion" value="14" /> <preference name="android-targetSdkVersion" value="22" /> <preference name="SplashScreen" value="splash" /> <preference name="SplashScreenDelay" value="3000" /> <preference name="ShowSplashScreenSpinner" value="false" /> <preference name="FadeSplashScreen" value="false" /> <preference name="SplashMaintainAspectRatio" value="true" /> <preference name="SplashShowOnlyFirstTime" value="false" /> <preference name="SplashShowOnlyFirstTime" value="false" /> <splash qualifier="land-hdpi" src="res/drawable-land-hdpi/splash.png" /> <splash qualifier="land-ldpi" src="res/drawable-land-ldpi/splash.png" /> <splash qualifier="land-mdpi" src="res/drawable-land-mdpi/splash.png" /> <splash qualifier="land-xhdpi" src="res/drawable-land-xhdpi/splash.png" /> <splash qualifier="land-xxhdpi" src="res/drawable-land-xxhdpi/splash.png" /> <splash qualifier="land-xxxhdpi" src="res/drawable-land-xxxhdpi/splash.png" /> <splash qualifier="port-hdpi" src="res/drawable-port-hdpi/splash.png" /> <splash qualifier="port-ldpi" src="res/drawable-port-ldpi/splash.png" /> <splash qualifier="port-mdpi" src="res/drawable-port-mdpi/splash.png" /> <splash qualifier="port-xhdpi" src="res/drawable-port-xhdpi/splash.png" /> <splash qualifier="port-xxhdpi" src="res/drawable-port-xxhdpi/splash.png" /> <splash qualifier="port-xxxhdpi" src="res/drawable-port-xxxhdpi/splash.png" /> <icon qualifier="hdpi" src="res/drawable-hdpi/icon.png" /> <icon qualifier="ldpi" src="res/drawable-ldpi/icon.png" /> <icon qualifier="mdpi" src="res/drawable-mdpi/icon.png" /> <icon qualifier="xhdpi" src="res/drawable-xhdpi/icon.png" /> <icon qualifier="xxhdpi" src="res/drawable-xxhdpi/icon.png" /> <icon qualifier="xxxhdpi" src="res/drawable-xxxhdpi/icon.png" /> </platform> 

Ahora ejecute phonegap remote build android y abra el archivo de registro de build phonegap.

El archivo de registro se encuentra en https://build.phonegap.com/apps/X/logs/android/build/ donde X es su App ID

En el registro debe ver algo como

 ... [crunch] Processing image to cache: /project/res/drawable-hdpi/icon.png => /project/bin/res/drawable-hdpi/icon.png [crunch] (processed image to cache entry /project/bin/res/drawable-hdpi/icon.png: 0% size of source) [crunch] Processing image to cache: /project/res/drawable-land-ldpi/splash.png => /project/bin/res/drawable-land-ldpi/splash.png ... 

Si ve estas líneas, entonces su pantalla de bienvenida debería funcionar.

También tenga en cuenta esta línea en config.xml

<preference name="SplashScreen" value="splash" />

Esto indica a la generación de parches que los archivos png de la pantalla de splash.png se denominan splash.png . De esta manera el sistema es capaz de localizarlos.

  • Ejecutar aplicación de teléfono en el dispositivo Android
  • Ionic construir android falla - La ejecución falló para tarea processDebugResources
  • Error: ENOENT, ningún archivo o directorio de este tipo - PhoneGap
  • Aplicación Phonegap (compilación en línea): no hay conexión a Internet ni estado de la red
  • Deshabilitar los botones de zoom en el inappbrowser de Phonegap
  • La compilación de Cordova devuelve el plugin.xml que falta
  • Cookie no está siendo fijado con phonegap filetransfer upload Response
  • Cordova Target Android
  • Autenticación necesaria para la aplicación publicada de Google Play
  • ¿Es posible construir Cordova App en línea?
  • Phonegap (Android Build) - Pantalla intermedia antes de la pantalla de bienvenida
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.