android N 移除 webview

由于项目需要,需要裁剪ROM,由于webview在新项目中是不必要的,所以有了想法对他下刀。

跟移除其他模块一样,这里采取的措施是将build/target/product/core_minimal.mk中
PRODUCT_PACKAGES +=webview屏蔽,这样重新编译就不会编译webview相关的模块了,可以在镜像编译后进入到out目录查看一下,可以看到webview文件夹没有了

这里写图片描述

很happy的进行到这没有什么毛病,然后开始烧录镜像。于是如预期一样的挂了,打印信息如下(由于编排问题,这里直接上异常截图):

这里写图片描述

根据log,我们马上定位到报错,在Zygote起来的时候,preload操作出现了问题,那这里我们已经移除了webview模块,那么肯定是不需要这个preload操作的,直接屏蔽,然后重新编译,烧录镜像。再次开机,上面那个异常已经没有了,但是又出现了新的问题

这里写图片描述

system_server神奇的结束了,然后Zygote起不来,最奇葩的是没有其他相关异常log的打印,一顿怀疑人生,然后我在没有裁剪的环境下,进入system目录,执行了下如下命令

这里写图片描述

屏蔽PRODUCT_PACKAGES +=webview,实际上会将与webview相关的so也移除,之前libwebviewchromium_loader.so移除导致了Zygote起不来,那么是不是libwebviewchromium_plat_support.so移除也会引出异常呢,带着疑问我将正常的libwebviewchromium_plat_support.so重新push到机器里,开机成功了。。。于是没说的,直接在源码中查找一下与这个so相关的东西

这里写图片描述

熟悉安卓N的应该知道,public.libraries.android.txt最后会编译成system/etc/public.libraries.txt,用以标识应用能够引用到的system目录下共用的so。对于不在这个清单中的so引用会出现异常,

java.lang.UnsatisfiedLinkError: dlopen failed: library “xxx.so” not found 或
java.lang.UnsatisfiedLinkError: dlopen failed: library “/vendor/lib64/xxx.so” needed or dlopened by “/system/lib64/libnativeloader.so” is not accessible for the namespace “classloader-namespace”

具体可以参考这篇博客的介绍 Framework基础:Android N 公共so库怎么定义呢?

将system/core/rootdir/etc/public.libraries.android.txt中的libwebviewchromium_plat_support.so删除后,再重新编译并运行,没有异常,webview移除成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 一键升级 WebView 内核是指在 Android 系统中,通过一键操作来完成 WebView 内核的升级过程。在 Android 平台上,WebView是一个内置的浏览器组件,用于显示网页内容。WebView 的核心引擎是基于谷歌的开源项目 Chromium 开发的,因此随着时间的推移,谷歌会不断更新和改进 WebView 的内核。 为了安全性和性能的考虑,升级 WebView 内核变得非常重要。随着新的安全漏洞和性能改进的不断出现,保持 WebView 内核始终为最新版本可以增强用户的浏览体验,并提供更好的安全性。 为了简化用户的操作,开发者们创建了一键升级 WebView 内核的解决方案。这些解决方案通常是一个应用程序或库,可以检测设备上的 WebView 内核版本,然后下载并安装最新版本的内核。 一键升级 WebView 内核通常包括以下步骤: 1. 检测设备上的当前 WebView 版本。 2. 从服务器上获取最新的 WebView 内核版本。 3. 下载最新的 WebView 内核。 4. 安装新的 WebView 内核。 5. 更新相关配置和设置。 通过简化这些步骤,用户只需点击一个按钮或执行一次操作,便可以完成整个升级过程,而不需要手动下载和安装 WebView 内核。 一键升级 WebView 内核使得开发者可以更容易地为用户提供 WebView 的最新版本和安全性保障。同时,用户也能够享受到更好的浏览体验和更高的安全级别。因此,对于开发和使用 Android 应用程序的用户来说,一键升级 WebView 内核是非常有价值的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值