我按照以下说明编译,安装并成功运行了基于chromium 46(标签46.0.2490.71)的自定义webview:
https://www.chromium.org/developers/how-tos/android-build-instructions
并建立了忍者目标"system_webview_apk".
而且效果很棒!
现在我正在尝试将它集成到我的自定义android映像中,该映像基于从AOSP构建的lolipop 5.1.1_r29.构建和安装步骤有效,但是当应用程序试图给webview充气时,我有以下错误:
E/AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Unsupported ABI: null
at dalvik.system.VMRuntime.getInstructionSet(VMRuntime.java:324)
at dalvik.system.VMRuntime.is64BitAbi(VMRuntime.java:337)
at android.webkit.WebViewFactory.getWebViewNativeLibraryPaths(WebViewFactory.java:286)
Run Code Online (Sandbox Code Playgroud)
(帖子末尾的完整堆栈跟踪)
奇怪的是,如果我使用完全相同的 APK,并使用ADB安装它:
adb shell stop
adb pull /system/app/webview/webview.apk
adb shell rm -rf /system/app/webview/
adb shell start
adb install webview.apk
Run Code Online (Sandbox Code Playgroud)
然后错误消失,webview正确显示.
接下来,如果我再次将它放回/ system/app:
adb uninstall com.android.webview
adb push webview.apk /system/app/webview/webview.apk
adb shell stop
adb shell start
Run Code Online (Sandbox Code Playgroud)
它再次失败并出现同样的错误.
我对"不支持的ABI:null"的调查只给了我这个:https: //code.google.com/p/chromium/issues/detail?id = 559720
但它似乎没有相关性.
我需要在Android 5.1.1上基于chrome 46(至少)的webview.
任何帮助,线索或建议将不胜感激:)
关于nexus 6:
root@shamu:/ # ll /system/lib/libwebv*
-rw-r--r-- root root 31282132 …Run Code Online (Sandbox Code Playgroud)