Description
When using Ionic CLI with a recent version of cordova-android, running:
ionic cordova platform add android
automatically re-adds deprecated <splash> entries to config.xml.
These tags are no longer supported by recent versions of cordova-android and cause the following warning/error during build:
The "<splash>" tags were detected and are no longer supported.
Please migrate to the "preference" tag "AndroidWindowSplashScreenAnimatedIcon".
The issue does not occur when adding the Android platform directly with Cordova CLI.
Environment
Ionic CLI : 7.2.1
Ionic Framework : @ionic/angular 9.0.1
@angular-devkit/build-angular : 22.1.6
@angular-devkit/schematics : 22.1.6
@angular/cli : 22.1.6
@ionic/angular-toolkit : 13.0.0
Cordova CLI : 13.0.0
Cordova Platforms : android 15.1.0
cordova-res : 0.15.4
NodeJS : v24.20.0
npm : 11.19.0
OS : Windows 10
Steps to reproduce
- Remove the Android platform:
ionic cordova platform rm android
- Remove all legacy
<splash> entries from config.xml.
The relevant part of the configuration contains only the new splash screen preferences:
<preference
name="AndroidWindowSplashScreenBackground"
value="#000000" />
<preference
name="AndroidWindowSplashScreenAnimatedIcon"
value="resources/android/splashscreen.xml" />
- Run:
ionic cordova platform add android
- Check
config.xml.
The following entries are automatically added back:
<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" />
Important comparison
If I repeat the same process but use Cordova CLI directly:
cordova platform rm android
cordova platform add android
the deprecated <splash> entries are NOT added back.
So the behavior appears to be specific to the Ionic CLI wrapper:
cordova platform add android
=> config.xml remains unchanged
ionic cordova platform add android
=> deprecated <splash> tags are added back
Expected behavior
ionic cordova platform add android should not add deprecated <splash> tags when using recent versions of cordova-android.
Ideally, it should preserve:
<preference
name="AndroidWindowSplashScreenAnimatedIcon"
value="resources/android/splashscreen.xml" />
without generating legacy splash screen entries.
Actual behavior
Ionic CLI re-adds legacy <splash> elements, even though they are unsupported by cordova-android 15.1.0.
Workaround
Using Cordova CLI directly avoids the problem:
cordova platform add android
After that, builds using:
ionic cordova build android
work correctly and do not re-add the <splash> entries.
Additional notes
This may be related to the Ionic CLI resource generation flow / cordova-res, since cordova-res 0.15.4 is used by the current Ionic CLI Cordova integration.
Description
When using Ionic CLI with a recent version of
cordova-android, running:automatically re-adds deprecated
<splash>entries toconfig.xml.These tags are no longer supported by recent versions of
cordova-androidand cause the following warning/error during build:The issue does not occur when adding the Android platform directly with Cordova CLI.
Environment
Steps to reproduce
<splash>entries fromconfig.xml.The relevant part of the configuration contains only the new splash screen preferences:
config.xml.The following entries are automatically added back:
Important comparison
If I repeat the same process but use Cordova CLI directly:
the deprecated
<splash>entries are NOT added back.So the behavior appears to be specific to the Ionic CLI wrapper:
Expected behavior
ionic cordova platform add androidshould not add deprecated<splash>tags when using recent versions ofcordova-android.Ideally, it should preserve:
without generating legacy splash screen entries.
Actual behavior
Ionic CLI re-adds legacy
<splash>elements, even though they are unsupported bycordova-android 15.1.0.Workaround
Using Cordova CLI directly avoids the problem:
After that, builds using:
work correctly and do not re-add the
<splash>entries.Additional notes
This may be related to the Ionic CLI resource generation flow /
cordova-res, sincecordova-res 0.15.4is used by the current Ionic CLI Cordova integration.