在AOSP Android 6.0上更新WebView [英] Updating WebView on AOSP Android 6.0

查看:661
本文介绍了在AOSP Android 6.0上更新WebView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用基于AOSP Android 6.0(棉花糖)的设备.
我想将标准的Android Webview更新为最新版本,以使用最新的JavaScript.
为此,我用最新版本替换了external/chromium-webview/prebuilt/arm64/webview.apk.
同样在frameworks/base/core/res/res/values/config.xml中,我将config_webViewPackageName的值从com.android.webview更改为com.google.android.webview. 但是,当我尝试启动一些使用webview的应用程序(例如标准android浏览器)时,出现了这样的错误:

I am working on a device based on AOSP Android 6.0 (Marshmallow).
I wanted to update standard Android webview to the latest version for using the latest JavaScript.
For this I replaced external/chromium-webview/prebuilt/arm64/webview.apk with the latest version.
Also in the frameworks/base/core/res/res/values/config.xml I changed the value of config_webViewPackageName from com.android.webview to com.google.android.webview. But when I tried to launch some application that using webview (for example standard android browser) I got such error:

10-10 12:08:08.923 17802 17802 I WebViewFactory: Loading com.google.android.webview version 61.0.3163.98 (code 316309850)
10-10 12:08:52.107 20530 20530 E WebViewFactory: error loading provider
10-10 12:08:52.107 20530 20530 E WebViewFactory: java.lang.ClassNotFoundException: com.android.webview.chromium.WebViewChromiumFactoryProvider
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at java.lang.Class.classForName(Native Method)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at java.lang.Class.forName(Class.java:324)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.webkit.WebViewFactory.getChromiumProviderClass(WebViewFactory.java:229)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:193)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:158)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.webkit.CookieManager.getInstance(CookieManager.java:39)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.browser.BrowserSettings.syncSharedSettings(BrowserSettings.java:312)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.browser.BrowserSettings.setController(BrowserSettings.java:148)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.browser.Controller.<init>(Controller.java:235)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.browser.BrowserActivity.createController(BrowserActivity.java:84)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.browser.BrowserActivity.onCreate(BrowserActivity.java:73)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.Activity.performCreate(Activity.java:6251)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.ActivityThread.-wrap11(ActivityThread.java)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.os.Handler.dispatchMessage(Handler.java:102)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.os.Looper.loop(Looper.java:148)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at android.app.ActivityThread.main(ActivityThread.java:5417)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at java.lang.reflect.Method.invoke(Native Method)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:742)
10-10 12:08:52.107 20530 20530 E WebViewFactory:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:632)

有人遇到过这样的问题吗?

Did somebody faced such issue?

推荐答案

最后,我们发现问题是因为webmusic.apk未使用系统签名进行签名.这就是为什么未正确安装它的原因. 从问题如何使用系统签名对Android应用进行签名的步骤?解决了这个问题.

Finally we have found that the problem was because webmusic.apk was not signed with the system signature. That's why it was not properly installed.
Steps from the question How to sign Android app with system signature? solved the issue.

这篇关于在AOSP Android 6.0上更新WebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆