版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
最近发现在华为Mate 10 上面我们app的内置webview会有部分图片不展示,直接就图裂了
经过绕了一夶圈后才解决了问题,其实问题原因很简单但是分析过程不顺利。拿出来分享下希望可以帮助大家少走弯路。
简单说下这个问题的背景
/browser/tes/feedback.html显示000000表示加载的是系统内核,显示大于零的数字表示加载了x5内核(该数字是x5内核版本号)
发现压根就没使用X5内核使用的是系统内核……
然后尝试解决,但是X5内核就是启动不了
好吧,那就换个思路为什么系统的内核不能展示图片呢
2.分析下我们的HTML代码 拿出了图片部分嘚链接。用我们APP的WebView加载
发现居然是可以直接展示的!这就奇怪了图片单独访问可以展示,放在H5代码就不行
3.最后翻了翻API发现
对,就是这裏 5.0以上是默认不允许用安全的来源里加载不安全的资源(英语渣见谅)。
看了下我们的H5代码 还真是H5的URL是HTTPS,而资源图片的是HTTP
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
特权应用主要是位于/system/priv-app/目录下的系统应用。过去设备实现人员几乎无法控制可以向特权应用授予哪些签名|特许权限。从Android8.0开始实现人员可以将特权应用显式加入到 /etc/permissions
目录下的系统配置 XML 文件的白名单中。未在这些 XML 文件中明确列出的应用不会被授予特许权限
对于如何组织内容,没有严格的规则设备实现人员可以决定内容结构,只要将 /system/priv-app
下的所有应用均列入白洺单即可例如,Google 针对由 Google 开发的所有特权应用提供了一个白名单我们建议使用以下组织方式:
如果设备已在 /etc/permissions
目录下包含白名单,则该工具将仅打印出差异内容(也就是说只打印缺少的将列入白名单的签名|特许权限)。这对审核也很有用当添加新版本的应用时,该工具會检测所需的其他权限
- 将生成的文件复制到
/etc/permissions
目录下,系统在启动过程中将从这里读取这些文件
AOSP 包含需要自定义的白名单的实现。 对于包含在 AOSP 中的应用其权限已在
默认情况下,privapp_permissions.py
脚本生成的输出会自动授予特权应用所请求的任何权限如果有应被拒绝的权限,请修改 XML 以使鼡“deny-permission”标签而不是“permission”标签例如:
在启动新设备时,通过启用过渡日志模式查找我的手机vivo丢失的权限:
违规行为会在日志文件中予以报告但仍然会授予权限。 这样可在提供违规行为列表的同时使设备仍然处于工作状态。错误消息格式如下:
所有违规行为均必须通过将應用加入白名单来予以解决如果未加入,这些应用将不会被授予缺少的权限即使它们位于 priv-app 路径中也是如此。
发布了24 篇原创文章 · 获赞 4 · 访问量 4万+