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.
- Phonegap Build CLI-5.2.0 Descargar y cerrar desde dentro de la aplicación Web
- Crosswalk error en android construir en Córdoba proyecto
- Cómo instalar .xap phonegap construir en Windows Phone 8?
- Cordova / Phonegap Android target: no instalado
- ¿Cómo puedo firmar un APK de Android que fue construido con PhoneGap Build?
- 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>
- PhoneGap - Botón para la pantalla principal del teléfono nativo
- Convirtiendo exit-on-suspend fuera de la aplicación de phonegap en Android
- PhoneGap Build no construirá para Android con PushPlugin
- Firmar Android APK con un certificado que expira más en el futuro
- permisos de generación de phonegap en android
- Guardar archivo utilizando la cadena binaria en Android mediante HTML5
- Meteor android build dice "Aplicación no instalada"
- Cmd Prompt no detectando la entrada de teclado
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:
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.
- Android ImageView – Obtener coordenadas de tap (clic) independientemente de la ubicación de desplazamiento o la escala de zoom
- Tipo de receptor de difusión y método registerReceiver