ionic cordova platform add android re-adds deprecated <splash> tags

オープン
#5,130 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
56/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
cli

調査の方向性

Ionic CLI の ionic cordova platform add android フローから始めて、リソース生成との統合、特に cordova-res 0.15.4 を追跡します。cordova platform add android を直接実行する場合と比較してください。モダンな splash 設定がすでに存在する場合に、Android の追加によって非推奨の <splash> エントリが復元されなくなれば完了です。

索引モデルが issue の本文から書いたものです。

説明

triage

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

  1. Remove the Android platform:
ionic cordova platform rm android
  1. 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" />
  1. Run:
ionic cordova platform add android
  1. 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.

主要言語
TypeScript
スター
2k
フォーク
681
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ionic-team/ionic-cli のほかの issue

ionic-team/ionic-cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。