Splash image in Android 12 Voltbuilder

i changed the splash Template.png to my splash image, path correctly but is showing cordova logo when apps opening, using splash Template use the same image but into a little circle

Are you supplying your own images, or letting VoltBuilder generate them?

Voltbuilder is generating

I think the problem is a conflict between two ways of creating the icons.

  1. Supply the icons and specify them in config.xml
  2. Put template files in a resources directory and have VoltBuilder generate them all. (It then modifies config.xml with them)

You’re doing both. Can you try removing the <splash lines in config.xml and building again? You may also need to put a file named icon.png at the top level of the project.

We added these 2 lines in our config.xml:
(You can change the background color as you like.)

<preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/splashTemplate.png" />
<preference name="AndroidWindowSplashScreenBackground" value="#000000" />

And set a 2732 x 2732 PNG image to the splash property under the VoltBuilder and Cordova section. The image file can be any name and placed in your image folder.

We initially had a JPEG image, but it caused an error when we tried to build for a release.

So is it working OK now?

Hi George,

I am having the same issue as tomoa when building my app for Adroid 12 from AppStudio. I followed the Troubleshooting section from the “Building for Android 12” of the Voltbuilder documentation. I have no <splash lines in my config.xml file. I also put a copy of AppStudio’s icon.png file at the top level of my project as you instructed. (Basically I followed what tomoa did in his previous email). I am using the exact same splashscreen image file that I used when building for previous Android version.

I still see the following in the Voltbuilder.log file:

Android project created with cordova-android@11.0.0
The "<splash>" tags were detected and are no longer supported. Please migrate to the "preference" tag "AndroidWindowSplashScreenAnimatedIcon".

The splash screen displays with my image but it not full screen as I expected it to be!. It displays in the same shape and size (Round-Squarish Circle) as the default Android image.

Please help to resolve this Issue.
Greatly Appreciated,

I looked at your config.xml. It has this:

    <platform name="android">
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />

HI George,
Here is the config.xml file that is associated with my App:

<?xml version="1.0" encoding="UTF-8"?>
xmlns = "http://www.w3.org/ns/widgets"
id = "ca.rsss.peats-impark-1"
versionCode = "{phoneGapBuildCounter}"
version = "{version}">


<!-- <engine name="android" spec="9.0.0" /> -->
<!-- <engine name="android" spec="10.1.2"/> -->
<engine name="android" spec="11.0.0" />

<!-- Icons -->
<icon src='{icon}' />

<!-- Splash Screens -->
<preference name='SplashScreenDelay' value='2000' />
<preference name='AutoHideSplashScreen' value='true' />
<preference name='AndroidWindowSplashScreenAnimatedIcon' value='resources/splashTemplate.png' />
<preference name='AndroidWindowSplashScreenBackground' value='#000000' />
<plugin name='cordova-plugin-splashscreen' source='npm' />

<preference name="permissions" value="none"/> 
<!-- <preference name="android-targetSdkVersion" value="27" /> -->
<!-- <preference name="android-targetSdkVersion" value="28" /> -->
<!-- <preference name="android-targetSdkVersion" value="29" /> -->
<!-- <preference name="android-targetSdkVersion" value="30" /> -->

<!-- sample preference specifications -->
<!-- <preference name="autorotate" value="false" readonly="true"/> -->
<!-- <preference name="orientation" value="default" /> -->
<!-- <preference name="fullscreen" value="true" /> -->

<!-- <plugin name="cordova-plugin-androidx-adapter" /> -->

<plugin name="cordova-plugin-camera" source="npm" />
<plugin name="cordova-plugin-chrome-apps-sockets-udp" source="npm" />  
<plugin name="cordova-plugin-device" source="npm" />
<plugin name="cordova-plugin-enable-cleartext-traffic" source="npm" />
<plugin name="cordova-plugin-geolocation" source="npm" />
<plugin name="cordova-plugin-btprinter" source="npm" />
<plugin name="cordova-sqlite-evcore-extbuild-free" source="npm" />

<variable name="CAMERA_USAGE_DESCRIPTION" value="{id} camera use" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="{id}  photo use" />
<variable name="GEOLOCATION_USAGE_DESCRIPTION" value="{id} Location use." />

<!-- <plugin name="cordova-plugin-whitelist" source="npm" /> -->
<allow-navigation href="*" />
<access origin="*" />
<allow-intent href="*" />

I also see those tags in the Voltbuilder.log files. It appears that Voltbuilder is creating the additional <icon and <splash tags on its own becuase it is not coming from my AppStudio config.xml file.

That gives me an idea - we’ll do some checking here.

What version of AppStudio are you using?


I just tried a test with a clean project here - it worked fine for me.

Any chance you can zip your project folder and email it directly to me? I’d like to try it here.

Hi George,

I just sent you a zipped version of my project. Please let me know if it something that I am doing wrong or if it is truly an issue with Voltbuilder.

Much Appreciated,

I just tried your project on an Android 12 device. When I start the app, I see your image (not the default image). It’s not full screen, but rather a centered smaller version of it…

According to Google’s docs, this is working as it should.

Is that what you are seeing?

Yes, that is what I have been seeing. I guess I was hoping that the Splash Screen would still be full screen like in the previous Android Versions.