You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cordova PhoneGap Android应用启动屏不显示问题求助

解决Cordova/PhoneGap Android启动屏不显示的问题

我仔细看了你的config.xml配置,马上发现几个关键问题,这些很可能就是启动屏不显示的原因,咱们一步步来排查修复:

1. 致命的拼写错误

你第一个偏好设置写的是:

<preference name="SplashSreen" value="screen" />

这里SplashSreen少了一个字母c,正确的键名应该是SplashScreen。这个拼写错误会直接让Cordova无法识别启动屏的基础配置,插件自然不会工作。

2. 重复的延迟配置

你的配置里出现了两次SplashScreenDelay:一次值为1000,另一次是10000。虽然Cordova会以最后一次的配置为准,但这种重复设置容易造成混淆,建议只保留一个,把所有偏好设置统一放在配置文件的开头部分,方便管理。

3. 图片路径与尺寸检查

确认你的启动屏图片是否准确存放在res/screen/android/目录下,文件名和配置里的完全一致(比如splash-land-hdpi.png)。另外,Android 7.0+平台对图片分辨率有严格要求,确保每个密度对应的图片尺寸符合规范:

  • 竖屏:ldpi(200x320)、mdpi(320x480)、hdpi(480x800)、xhdpi(720x1280)
  • 横屏:ldpi(320x200)、mdpi(480x320)、hdpi(800x480)、xhdpi(1280x720)

如果图片尺寸不对,系统可能会自动跳过加载。

4. PhoneGap Desktop/App的缓存问题

PhoneGap Desktop经常会缓存旧的构建文件,导致新配置不生效。你可以试试这几个操作:

  • 在PhoneGap Desktop里点击项目的「Refresh」按钮,重新构建项目
  • 在Android设备上卸载PhoneGap App,重新安装后再连接调试
  • 手动删除项目根目录下的platforms/android和plugins文件夹,然后重新执行:
    cordova platform add android
    cordova plugin add cordova-plugin-splashscreen
    
    这样能确保依赖是干净的,没有残留的旧配置。

5. 插件初始化验证

虽然你设置了AutoHideSplashScreen为true,理论上启动屏会自动隐藏,但如果插件没正确初始化也会有问题。可以在index.js的deviceready事件里加一行测试代码:

document.addEventListener("deviceready", function(){
    // 手动调用隐藏,确认插件正常工作
    navigator.splashscreen.hide();
}, false);

如果调用后能正常隐藏(如果启动屏显示了的话),说明插件已经正确初始化了。


修正后的config.xml示例

我把你的配置里的错误修复了,整理成更清晰的结构:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.splash.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <!-- 启动屏核心配置 -->
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="10000" />
    <preference name="AutoHideSplashScreen" value="true" />
    
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    
    <!-- 插件声明 -->
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <plugin name="cordova-plugin-splashscreen" spec="https://github.com/apache/cordova-plugin-splashscreen.git" />
    
    <!-- 权限与意图配置 -->
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    
    <!-- Android平台配置 -->
    <platform name="android">
        <allow-intent href="market:*" />
        <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi" />
        <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi" />
        <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi" />
        <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi" />
        <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi" />
        <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi" />
        <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi" />
        <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi" />
    </platform>
    
    <!-- iOS平台配置 -->
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    
    <engine name="android" spec="^7.0.0" />
</widget>

按照上面的步骤调整后,重新构建项目,应该就能看到启动屏正常显示了。

内容的提问来源于stack exchange,提问作者peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:59:48