Android webview - 如何使用com.android.chrome而不是com.android.webview

时间:2017-05-04 11:05:09

标签: android android-webview selenium-chromedriver

下面的这个js =>语法不适用于com.android.webview

// ECMAscript 6 using arrow functions
var a3 = a.map( s => s.length );

它在Android设备A(rooted,Marshmallow)中显示错误:

chromium: [INFO:CONSOLE(16)] "Uncaught SyntaxError: missing ) after argument list", source: file:///xxx.js (16)

我的LG Nexus 5X和其他手机的=>语法运行正常,logcat显示:

WebViewFactory: Loading com.android.chrome version 58.0.3029.83 (code 302908352)

在Android设备A中,它显示:

WebViewFactory: Loading com.android.webview version 44.0.2403.119

所以我怀疑不同的webview工厂提供商会有所不同。

我尝试在设备A中的Play商店安装com.android.chrome

130|shell@g9x:/ $ pm list packages -f | grep chrom
package:/data/app/com.android.chrome-1/base.apk=com.android.chrome
shell@g9x:/ $ 

但它仍然相同,logcat仍然显示com.android.webview而不是com.android.chrome。我甚至试图从com.android.webview拉出/system/app/ apk,由于找不到apk,因此显示错误。

在我的代码中:

 webView.setWebChromeClient(new CustomWebViewClient());

我听说chromedriver但不确定它是否相关。我还找到了this custom webview info

所以我的问题是,如何强制Android webview使用com.android.chrome代替com.android.webview

[更新]

我暂时解决了js =>问题,将其更改为其他语法替代方案,但出现了更大的问题,com.android.webview甚至无法播放html5视频,而html5视频是我任务中的重要部分

1 个答案:

答案 0 :(得分:0)

您可以将webview嵌入到您的项目中试试这个https://crosswalk-project.org/documentation/android/embedding_crosswalk.html