我正在开发基于 AOSP Android 6.0 (Marshmallow) 的设备。
我想将标准 Android webview 更新到最新版本以使用最新的 JavaScript。
为此我更换了external/chromium-webview/prebuilt/arm64/webview.apk
与最新版本。
也在frameworks/base/core/res/res/values/config.xml
我改变了的值config_webViewPackageName
from com.android.webview
to com.google.android.webview
。
但是当我尝试启动一些使用 webview 的应用程序(例如标准 android 浏览器)时,我收到了这样的错误:
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)
有人遇到过这样的问题吗?
最后我们发现问题是因为webmusic.apk没有使用系统签名。这就是它没有正确安装的原因。
从问题开始的步骤如何使用系统签名对Android应用程序进行签名? https://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature解决了这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)