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

Đang mở
#5,130 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
56/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
cli

Hướng nghiên cứu

Bắt đầu với luồng ionic cordova platform add android trong Ionic CLI và lần theo quá trình tích hợp tạo tài nguyên của nó, đặc biệt là cordova-res 0.15.4; so sánh với việc chạy trực tiếp cordova platform add android. Hoàn tất khi việc thêm Android không còn khôi phục các mục <splash> đã lỗi thời nếu các tùy chọn splash hiện đại đã có sẵn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TypeScript
Star
2k
Fork
681
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ionic-team/ionic-cli

Tất cả issue của ionic-team/ionic-cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.