下面的这个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视频是我任务中的重要部分
答案 0 :(得分:0)
您可以将webview嵌入到您的项目中试试这个https://crosswalk-project.org/documentation/android/embedding_crosswalk.html