I have an android tablet running lollipop (5.0.2).
I updated the android system webview to the latest version using google play. But I am under the impression that the apps are still using the old system webview.
How can I check which version of the webview is used by my apps?
I got an app to alert navigator.userAgent, and I get:
Version/4.0 Chrome/39.0.0.0
Is this the answer?
EDIT: If so, then how can I get the apps to use the new android system webview I just installed?
Related
I am getting the following error (see image) when running a very basic Ionic 4 / Capacitor app on an Android 6 device.
I think it is because the the Android system webview needs to be updated.
I don't have access to the device myself as it is with a client, all I have is an emulator. I can't seem to update the webview version on the emulator and I don't think this is possible so I can't replicate.
Capacitor states it should work with back to Android 5.1 if the webview is up to date.
I am not that familiar with older Android devices.
Is it as simple as sending this link and getting them to update the webview via the play store?
Will the device have play store installed?
https://play.google.com/store/apps/details?id=com.google.android.webview&hl=en
Capacitor docs:
https://capacitor.ionicframework.com/docs/android/
**Note:** Currently to use an Android Emulator you must use a system image of at least Android version 7.0 on API 24. This is due to the System WebView version not being able to be updated on emulators. Physical devices should work as low as Android 5.1 so long as they are kept updated.
Update:
I go the app to run on the device by removing all Capacitor plugins.
How ever I still have several issues:
I need to use plugins in the app
The css is not getting displayed correctly at all. None of the Ionic 4 colors are applying and the style are off.
It appears even after updating the Android system webview via google play to the latest and updating google chrome it is still using an old version of the webview.
Here is the userAgent output:
Mozilla/5.0(Linux; Android 6.0; C72 Build/MRA58K; wv) AppleWebKit/537.36(KHTML, like Gecko) Version/4.0 Chrome/44.0.2403.119
Mobile Safari/537.36
The latest version on chrome is 73.0.3683.90 so it is way off.
This is the device:
https://www.chainway.net/Products/Info/42
Final Update:
I contacted the manufacturer of the device and they confirmed that the webview was locked to version 44 on the firmware.
They are look at providing an updated version of the firmware with a more recent webview version.
Also it was only the capacitor/core plugins that were not working. I could still use other 3rd party plugins such as a barcode reader.
If you are in the situation above I recommend using navigator.userAgent to determine the webview version as mentioned by #jcesarmobile in the comments below.
Yes, if you send that link and they update the Android System WebView then the app should work fine.
Unless your customer is in China, Play Store doesn't work there.
I'm trying to embed a webview into an Android app based on Android 5.1.1.
Installed Android System WebView(beta) from the PlayStore, version 65.0.3325.114 but somehow when I try some URL, it doesn't seem to work well with JS ES6.
Checking nginx logs, show Chrome/39.0.0.0 so I suspect my app's WebView is still loading the built in WebView and not the Android System WebView.
Am I missing something or is there any way to enable from developer options?
Just found googling an option to enable but only for Android M, not present in 5.1.1.
Thanx!
I have been trying to investigate during these days exactly which browser is the one that comes by default in the android devices, but I am still confused.
If I understood this correctly, there are two possibilities depending on the device and Android version:
"Android Browser" (its version depends only on the Android API? no updatable? based on WebKit?)
"Chrome for Android" based on WebKit
I have done some tests with all the devices that I have been able to obtain and I have seen that approximately from version 5.0 or 5.1 of Android the default browser begins to be Chrome for Android. I think that because on versions smaller than 5.0 I cannot debug the app-browser connecting it to my PC and from the chrome://inspect and on versions higher I can do it, but maybe I'm wrong. I would like to ask if anyone can verify or correct that?
I have also realized that in versions higher than 5.0 there is an application called "Android System WebView" also available in PlayStore, but I would also like to ask: Does this have any relation to the type of browser installed (Android Browser or Chrome For Android)?
I have written a webview app which opens a web url. However the experience is just like when I have opened it in the default web browser of my Samsung S3 phone (android ver 4.2) which is very poor (e.g. google map cannot be displayed). Is there a way to force the webview app to use other browsers that default one, for example using Chrome browser that i installed in my smartphone?
With Android 4.4, the WebView was switched to be based on the Chromium project. Prior to that it was an Android's specific implementation of WebKit. With Android 5.0 the WebView is now updatable without OS updates through the Google Play Store.
https://developer.chrome.com/multidevice/webview/overview
If you want consistent behavior in your WebView across multiple versions of Android you'll need to include your own browser engine. Once such project is Crosswalk.
What is a difference between intel xdk, appmobi, and crosswalk?
according to Google, filechooser is taken off and no longer working on android 4.4, but why would chrome still working? I have a device that is running android 4.4. My app has a webview, and inside of this webview I have a button which allow user to upload photo. It was working fine until 4.4. my question is that how come Chrome is able to pick up filechooser event but mine is not while both apps(chrome and mine) are running on the same device. what did google do differently? Thanks!
There was a bug which occurred in KitKat which broke the file chooser for both Chrome (https://code.google.com/p/chromium/issues/detail?id=278640) and I believe the WebView was affected by the same problem.
WebView only ever supported a file chooser through a private API (i.e. an API which developers shouldn't use or rely on), which was removed in KitKat.
The WebView team are aware of the number of developers wanting this.
As Kinlan has stated, Chrome for Android doesn't use a WebView.