Android emulators use old WebView versions that latest Ionic and Angular don’t support.
Ionic 7 supports Android 5.1+ with Chromium 79+
Angular supports “2 most recent major versions”, it’s not very clear what they mean by that, but it’s clear they won’t support old WebView versions.
To make apps work in older WebViews, you can change the supported Chrome versions in .browserlistrc
file like this:
Chrome >=61
ChromeAndroid >=61
Note that you can’t go lower than 61, if you set it to 60 (the minimum supported by Capacitor), Angular CLI will complain.
Then you’ll need two polyfills to make Ionic 7 work, install them with npm install array-flat-polyfill globalthis
And then in the src/polyfills.ts
file, add them like this:
import 'globalthis/auto';
import 'array-flat-polyfill';
This will make the white screen go away, but there could still be issues since you are running the app in unsupported Ionic/Angular chromium versions.
On the real devices you should be able to update the System WebView “app” on Android 5-6 or Chrome on Android 7-9 to not need those workarounds.