热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

xwalk是什么,appxwalk

使用过程遇到的坑以及解决办法一、关于Xwalkview加载https网页出现安全证书ssl问题:二、在AndroidAPI版本26以后xwalkview会遇到需要动态申请联系人权

使用过程遇到的坑以及解决办法 一、关于Xwalkview加载https网页出现安全证书ssl问题:二、在Android API版本26以后 xwalkview会遇到需要动态申请联系人权限的问题,如果没申请权限会直接崩溃,这样对用户体验非常不好。三、当访问有问题的网页的时候会有一个英文弹框,提示用户网页不安全,是否继续访问,用户点击确定后才能访问。四、Fragment 嵌套XWalkView闪黑屏和遮挡页面处理方案五、关于XWalkView会增加apk体积问题分析六、Android 加载网页的几种区别

一、关于Xwalkview加载https网页出现安全证书ssl问题:

当项目中出现https和引用诸如HTTP资源就会出现不安全的提示,并页面空白出现Request was denied for security。关于这种问题Android自带的webview有很多的解决方法。但是对于Xwalkview却是很少,可以说几乎搜不到相关问题。下面贴出解决办法:
首先在下面这个地址下载一个aar包:

https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/

然后修改文件后缀名字为zip或者rar,解压获得如下文件:

打开jar文件找到class.jar也按上面的方式解压,然后网上下载一个反编译工具(哪一个的都行,我用的jd-gui),class.jar解压出来如下目录:

根据IDE报错日志输出或者一步一步跟断点可以进入org目录下,看到断点进入的错误码,在\org\xwalk\core\internal目录下找到SslUtil.calss,用之前下载的反编译工具进行打开class文件,得到如下内容:

修改这个文件下面的shouldDenyRequest方法,修改之前的:

修改之后的(我直接把错误码直接全部注释掉了,直接返回false,跳过了弹窗)如下:

二、在Android API版本26以后 xwalkview会遇到需要动态申请联系人权限的问题,如果没申请权限会直接崩溃,这样对用户体验非常不好。 目前项目中的解决办法是设置targetSdkVersion低于26。还可以按上面的方法解决,根据崩溃日志找到contacts这个class文件并且修改他。下图贴出我找到的目录和引起崩溃地方:

修改右边圈出来的地方,加上版本判断,如下图为我修改过后的:


可以很好的解决这个问题。

三、当访问有问题的网页的时候会有一个英文弹框,提示用户网页不安全,是否继续访问,用户点击确定后才能访问。

在XWalkResourceClient的子类中重写这个方法:

四、Fragment 嵌套XWalkView闪黑屏和遮挡页面处理方案

这个可以直接访问我之前写的博客,写的比较详细:

地址:https://blog.csdn.net/TLuffy/article/details/82255205

五、关于XWalkView会增加apk体积问题分析

由于XWalkView本身依赖包会区分手机不同的内核,会有多个so文件,并且会在打包的时候打进去apk中,XWalkView的so文件就占了差不多50M,下面说两种解决方案:

So文件动态加载,提前把需要的so文件放在某个服务器上,在首次启动项目的时候启动后台服务去服务器下载所需的so文件,在未下载成功之前先用自带的Webview去加载页面。这样可以省去打包apk的时候加进去XWalkView的那些so文件,从而减少一大半apk的体积。缺点就是需要写两套代码,用户首次进入app需要做一些判断。这种方法在demo中测试是可以用的,项目中用的下面这种方案。直接打包so文件进apk,在apk上做处理,可以配置加固工具结合代码进行压缩apk大小,大小可以减到原来的一半。
优点:减少了apk体积,提升用户体验,不用首次使用后台启动服务去下载了。
缺点:每次升级都需要手动配置 六、Android 加载网页的几种区别

使用Android系统自带的WebView
优点:没有额外的JAR及负担,原生API
缺点:兼容性,性能在不同手机上显示差别很大,不过现在最新版本好多了

使用腾讯的X5内核的WebView
优点:提供了一个兼容性的解决方案,且微信,QQ浏览器都在用,可信度高
缺点:解决的能力一般,而且某些方面反而加大了开发工作量;而且不支持cordova

使用基于chrome webkit的crosswalk WebView
优点:没有兼容性,性能问题,且支持corodva
缺点:包太大,而且区分不同的arm,x86等CPU

五分快三计划子类中重写这个方法:

四、Fragment 嵌套XWalkView闪黑屏和遮挡页面处理方案

这个可以直接访问我之前写的博客,写的比较详细:

地址:https://blog.csdn.net/TLuffy/article/details/82255205

五、关于XWalkView会增加apk体积问题分析

由于XWalkView本身依赖包会区分手机不同的内核,会有多个so文件,并且会在打包的时候打进去apk中,XWalkView的so文件就占了差不多50M,下面说两种解决方案:

So文件动态加载,提前把需要的so文件放在某个服务器上,在首次启动项目的时候启动后台服务去服务器下载所需的so文件,在未下载成功之前先用自带的Webview去加载页面。这样可以省去打包apk的时候加进去XWalkView的那些so文件,从而减少一大半apk的体积。缺点就是需要写两套代码,用户首次进入app需要做一些判断。这种方法在demo中测试是可以用的,项目中用的下面这种方案。直接打包so文件进apk,在apk上做处理,可以配置加固工具结合代码进行压缩apk大小,大小可以减到原来的一半。
优点:减少了apk体积,提升用户体验,不用首次使用后台启动服务去下载了。
缺点:每次升级都需要手动配置 六、Android 加载网页的几种区别

使用Android系统自带的WebView
优点:没有额外的JAR及负担,原生API
缺点:兼容性,性能在不同手机上显示差别很大,不过现在最新版本好多了

使用腾讯的X5内核的WebView
优点:提供了一个兼容性的解决方案,且微信,QQ浏览器都在用,可信度高
缺点:解决的能力一般,而且某些方面反而加大了开发工作量;而且不支持cordova

使用基于chrome webkit的crosswalk WebView
优点:没有兼容性,性能问题,且支持corodva
缺点:包太大,而且区分不同的arm,x86等CPU


推荐阅读
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在当前的软件开发领域,Lua 作为一种轻量级脚本语言,在 .NET 生态系统中的应用逐渐受到关注。本文探讨了 Lua 在 .NET 环境下的集成方法及其面临的挑战,包括性能优化、互操作性和生态支持等方面。尽管存在一定的技术障碍,但通过不断的学习和实践,开发者能够克服这些困难,拓展 Lua 在 .NET 中的应用场景。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 在IIS上运行的WebApi应用程序在开发环境中能够正常进行文件的读写操作。然而,在尝试通过FTP访问实时服务器上的文件列表时,遇到了无法显示的问题,尽管服务器配置与开发环境相同。这可能涉及权限设置、FTP服务配置或网络连接等方面的问题。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 当PHP中的tempnam()函数被禁用后的应对策略与解决方案
    当 PHP 中的 `tempnam()` 函数被禁用时,开发者需要采取相应的替代方案以确保应用程序的正常运行。本文探讨了多种应对策略,包括使用 `sys_get_temp_dir()` 结合自定义文件命名方法,以及利用第三方库来生成临时文件。此外,还详细介绍了如何在不同操作系统和服务器环境中配置临时文件路径,以提高代码的兼容性和安全性。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 在优化Nginx与PHP的高效配置过程中,许多教程提供的配置方法存在诸多问题或不良实践。本文将深入探讨这些常见错误,并详细介绍如何正确配置Nginx和PHP,以实现更高的性能和稳定性。我们将从Nginx配置文件的基本指令入手,逐步解析每个关键参数的最优设置,帮助读者理解其背后的原理和实际应用效果。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • Java中不同类型的常量池(字符串常量池、Class常量池和运行时常量池)的对比与关联分析
    在研究Java虚拟机的过程中,笔者发现存在多种类型的常量池,包括字符串常量池、Class常量池和运行时常量池。通过查阅CSDN、博客园等相关资料,对这些常量池的特性、用途及其相互关系进行了详细探讨。本文将深入分析这三种常量池的差异与联系,帮助读者更好地理解Java虚拟机的内部机制。 ... [详细]
author-avatar
行侠客人生_983
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有