Android Emulator WebView versions
Android Emulator の WebView のバージョンを調べてみた。
Android 5.0 から WebView のエンジンがストア経由でアップデートができるようになり、最新の Chrome と同じエンジンが使えるようになっている。
ところが Android Emulator では 5.0 でも Object.assign
などの ES6 の機能が使えず、不思議に思って調べてみた。
結論
結論から... めんどくさいね。
Android 4.1 - 4.3
Android 4.1 - 4.3 の WebView は WebKit ベースでかなり古く OS に含まれている。これは実機も Emulator も同じ。実機によってはメーカーが新しい WebKit にアップデートしている可能性はある。
実機と Emulator の WebView の動作は同じと考えて良く、Emulator で検証したら実機でも動くと考えて良さそう。
Android 4.4
Android 4.4 の WebView は Chrome ベースだけど、事情は 4.1 - 4.3 と同じで OS に同梱されている。メーカーが新しい WebKit にアップデートしている可能性があるのも同じ。
実機と Emulator の WebView の動作は同じと考えて良く、Emulator で検証したら実機でも動くと考えて良さそう。
Android 5 - 6
Android 5 - 6 の WebView は Chrome ベースになり、Play Store 経由で配布されるようになったため、実機は最新の Chrome と同等だけど、Emulator は古いものが使われている。
実機と Emulator には差があり、検証には適さない。WebView 部分だけなら実機に近いにはむしろ Android 8 の Emulator。
Android 7 - 8
Android 7 - 8 の WebView は Chrome がその機能を提供し、Play Store 経由で配布される。Emulator の WebView が古いのは 5 - 6 と変わらない。
- Chrome の apk をどこからか持ってきてインストールすれば最新になりそう (やっていいかは知らない
- Android 8 の Emulator は Play Store がインストールされているので Emulator でもアップデートができそう
実機
- Android 4.1 - 4.3 の WebView は WebKit で OS 同梱。アップデートがされておらず新機種だろうが WebKit はかなり古い。
- Android 4.4 の WebView は Chrome ベースに変わったけど、OS 同梱なのは変わらず。メーカーによってはアップデートされているかも。
- Android 5.0 以降の WebView は Chrome ベースで OS から切り離され、Google Play でアップデートされる。(Android System WebView) 最新の Chrome と同程度なことが期待できる。
- Android 7.0 以降の WebView は Chrome が提供する。
調査
Android Emulator (Android SDK)
Android | API | WebView | User Agent |
---|---|---|---|
8.0 (Google Play) | 26 | Chrome 58 | Mozilla/5.0 (Linux; Android 8.0.0; Android SDK built for x86 Build/OSR1.170720.005; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.125 Mobile Safari/537.36 |
7.1.1 (Google API) | 25 | Chrome 55 | Mozilla/5.0 (Linux; Android 7.1.1; Android SDK built for x86_64 Build/NYC; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 |
7.0 (Google API) | 24 | Chrome 51 | Mozilla/5.0 (Linux; Android 7.0; Android SDK built for x86_64 Build/NYC; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2704.90 Mobile Safari/537.36 |
6.0 (Google API) | 23 | Chrome 44 | Mozilla/5.0 (Linux; Android 6.0; Android SDK built for x86_64 Build/MASTER; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/44.0.2403.119 Mobile Safari/537.36 |
5.1 (Google API) | 22 | Chrome 39 | Mozilla/5.0 (Linux; Android 5.1.1; Android SDK built for x86_64 Build/LMY48X) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36 |
5.0 (Google API) | 21 | Chrome 37 | Mozilla/5.0 (Linux; Android 5.0.2; Android SDK built for x86_64 Build/LSY66K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 |
4.4 (Google API) | 19 | Chrome 30 | Mozilla/5.0 (Linux; Android 4.4.2; Android SDK built for x86 Build/KK) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 |
4.3 (Google API) | 18 | WebKit 534.30 | Mozilla/5.0 (Linux; U; Android 4.3.1; en-us; Android SDK built for x86 Build/JB_MR2) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
4.2 (Google API) | 17 | WebKit 534.30 | Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; Android SDK built for x86 Build/JB_MR1.1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
4.1 (Google API) | 16 | WebKit 534.30 | Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; Android SDK built for x86 Build/MASTER) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
Visual Studio Emulator for Android
Android | API | WebView | User Agent |
---|---|---|---|
6.0.0 | 23 | Chrome 40 | Mozilla/5.0 (Linux; Android 6.0; 5.7-inch Marshmallow (6.0.0) XHDPI Phone Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.0.0 Mobile Safari/537.36 |
5.1.1 | 22 | ||
5.0 | 21 | ||
4.4 | 19 | Chrome 33 | Mozilla/5.0 (Linux; Android 4.4.4; 5-inch KitKat (4.4) XXHDPI Phone Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 |
4.2 | 17 | WebKit 534.30 |