我正在尝试按照instructions从chrome base构建webview apk。我正在运行Android-7.0版本。我完成了铬的编译过程并生成了APK。我有两个与APK生成后的步骤相关的问题。
首先,图书馆名称与我的预期不同。默认webview.apk
的库名称为libwebviewchromium.so
,但我从chrome(SystemWebView.apk
)构建的APK包含lib libwebviewchromium.cr.so
。我想问一下这是否会引起问题,如果其他人也看到了这个问题。
其次,我无法从设备中卸载com.android.webview
应用。说明需要卸载此应用程序并删除其文件夹才能安装新的APK。我收到错误:
$ adb uninstall com.android.webview
[DELETE_FAILED_INTERNAL_ERROR]
我想问一下是否有人知道如何解决这个问题。我看到了一个相关的问题,想问一下是否有其他方法可以做answer建议的内容。
答案 0 :(得分:5)
以下答案与我提问的第二部分有关。
我执行了以下步骤以使SystemWebView.apk
工作(请注意:webview.apk
是/system/app
下我的版本中的系统应用;以下步骤用于安装和测试SystemWebView.apk
作为第三方应用)
(首先看一下第6步,取回2个文件)
packages.xml
和packages.list
文件(我还没推过它们)com.android.webview
的任何痕迹):/system/app/webview /data/data/com.android.webview /data/user/0/com.android.webview /data/misc/profiles/cur/0/com.android.webview /data/misc/profiles/ref/com.android.webview /data/user_de/0/com.android.webview
adb install SystemWebView.apk
我还保留了来自libwebviewchromium64.relro
的{{1}}和libwebviewchromium32.relro
个文件的备份。在安装之后,我注意到这些文件由于某种原因被删除了,所以我再次复制它们(首先复制到sdcard然后移入/data/misc/shared_relro/
文件夹)。
adb shell start
之后我测试了一个包含shared_relro
的简单应用,并且可以看到加载的网页。
答案 1 :(得分:0)
您必须使用构建SystemWebView.apk ninja -C out / Release system_webview_apk
有关详细信息,请查看此页面。 https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md 和 https://www.chromium.org/developers/how-tos/build-instructions-android-webview
adb uninstall com.android.webview
失败,因为这是一个系统应用,你可以直接替换webview.apk / system / app / webview / dir,在此之后停止&&开始 为此你需要root权限。
答案 2 :(得分:-1)
原生网页视图在性能和缓存方面存在许多限制
我建议您使用Chrome浏览器支持的网络视图CustomTabsClient
。
您可以通过向项目中添加以下依赖项来获取它。
dependencies {
...
compile 'com.android.support:customtabs:23.3.0'
}
有关详细信息,请访问。
https://developer.chrome.com/multidevice/android/customtabs