Android 抛弃原生WebView,使用腾讯X5内核、并加入广告拦截。

2023-11-10

大家都不知道原生的WebView 存在各种坑。各种适配问题。

最近在使用,总会出现DNS被拦截的情况。预览了各个大神的论坛与博客。

发现可以更改WebView内核。找到了比较火的两个。

分别是:腾讯X5内核 和 crosswalk  

     crosswalk : 据说很强大,但缺点就是会让你的APK包增大很多。(我还没试过,都是看大神们的博客说的)

     大家可以参考这篇文章 如何轻松搞定Crosswalk之嵌入模式

    相对crosswalk呢,腾讯X5 比较适合我目前的项目。至少包不会一下子给我 增大那么多  

     TBS腾讯浏览服务(点击跳转官网)

    

  腾讯X5的好处我就不再说了,官网解释的肯定比我到位,我怎么做的吧。

第一步:那肯定是下载官方的SDK 包啦(腾讯浏览服务-SDK下载) 我这里下载的是上面这个

第二步:根据SDK 提供的jar包和so 包拷贝到自己的项目下。

    (注意:我这里和官方提供的so,放的位置可能有点区别,这个就需要看的项目情况了)

    

注意:x5暂时不提供64位so文件,为了保证64位手机能正常加载x5内核,请参照如下链接修改相关配置

腾讯浏览服务-开发者后台

官方的Demo ,so包是放在 src\main\jniLibs  下这个可以看一下官方包。就知道了

在Demo 中的build.gradle,中有说到 so 包的目录位置

第三步:接下来就开始被配置,初始化X5了,在APP的 ApplicationonCreate()  去初始化

    private void initX5() {
        QbSdk.setDownloadWithoutWifi(true);
        //x5内核初始化接口//搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
        QbSdk.initX5Environment(getApplicationContext(),  new QbSdk.PreInitCallback() {
            @Override
            public void onViewInitFinished(boolean arg0) {
                //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
                Log.d("app", " onViewInitFinished is " + arg0);
            }
            @Override
            public void onCoreInitFinished() {
            }
        });
    }

在清单文件中去添加

        <!-- 腾讯X5内核初始化 -->
        <service android:name="com.tencent.smt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 抛弃原生WebView,使用腾讯X5内核、并加入广告拦截。 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 找不到 com.google.firebase:firebase-core:9.0.0 [重复]

    这个问题在这里已经有答案了 在遵循有些不一致的指示之后here https firebase google com docs admob android quick start name your project and here http
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 当文本输入聚焦在 React Native for Android 的底部工作表上时,视图移出屏幕

    我正在使用图书馆 https github com osdnk react native reanimated bottom sheet https github com osdnk react native reanimated bott
  • Adobe 是否为其 PDF 阅读器提供 Android SDK 或 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在我们的应用程序内的视图中显示本地 PDF 文件 在 Android 4 03 下的平板电脑上运行 目前 我们将 Adob eR
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • ElementUI表格的动态渲染

    在ElementUI官方文档中 描述的动态渲染只是单纯的将已知字段名称的JSON数据通过prop属性填充到页面中 下为官方文档内容
  • 轮播图背景图铺满整个div

    slider width 1224px height 458px background image url image school 1 png background size cover background repeat round p
  • Biogeochemical record of ancient humans (古人类生物地理化学记录)

    一 摘要 该文为一篇综述 全文主要介绍了如何利用生物化学记录 同位素 研究古人类饮食 营养和活动 二 作者简介 Marilyn Fogel born September 19 1952 is an American geo ecologis
  • Java程序中对Service进行Mock

    Java程序中对Service进行Mock 背景 Servie Test Service 背景 在项目中往往需要对service逻辑进行单元测试验证 这里采用mockito对dao数据进行模拟 验证service逻辑 Servie pack
  • 算法训练 大小写转换

    http lx lanqiao org problem page gpid T216 算法训练 大小写转换 时间限制 1 0s 内存限制 512 0MB 问题描述 编写一个程序 输入一个字符串 长度不超过20 然后把这个字符串内的每一个字符
  • 快速获得CNVD证书

    首先要明确什么样的通用漏洞可以发证书 收录标准 这里的收录标准是能获得证书的标准 事件型 事件型漏洞必须是三大运营商 移动 联通 电信 的中高危漏洞 或者党政机关 重要行业单位 科研院所 重要企事业单位 如 中央国有大型企业 部委直属事业单
  • maven子工程application文件失效

    按照如下进行操作
  • ubuntu下载goalng-1.9

    一 安装 这里以安装golang1 9为例 1 首先通过命令行直接安装 sudo apt get install golang 1 9 2 下载好之后 查看go的版本 catik catik Aspire V3 471 go version
  • 2023杭电暑假多校6 题解 1 2 6 10

    文章目录 1 Count 2 Pair Sum and Perfect Square https vjudge csgrandeur cn problem HDU 7337 6 Perfect square number https vju
  • C++中的拷贝构造函数

    1 拷贝构造函数 拷贝构造函数是一种特殊的构造函数 它在创建对象时 是使用同一类中之前创建的对象来初始化新创建的对象 拷贝构造函数通常用于 a 当用类的一个对象去初始化该类的另一个对象 或引用 时系统自动调用拷贝构造函数实现拷贝赋值 b 若
  • 微信小程序开发(二)微信小程序的调试和发布

    调试 编译和预览 预览 点击预览 可以使用微信扫描二维码 在手机上安装测试版小程序 或者点击自动预览 可以连接手机微信或者直接在电脑端打开小程序预览 发布 上传代码 发布项目 工具 上传 确定 编辑版本号和描述 点击上传 上传成功 点击下载
  • mysql错误代码1045的原因及解决方案、Mysql服务没找到?

    mysql错误代码1045的原因及解决方案 Mysql服务没找到 再一次接触数据库时 想要用工具连接数据库的时候 出现了错误 Acess denied for localhost 忘了 应该是服务器的问题 就去重启了一下服务器 net st
  • 【Ant Design of Vue】Tree 树形控件双击树节点禁止取消选中(两种方法)

    一 需求 Ant Design of Vue官网中 第一次点击树节点会选中 再一次点击该树节点会取消选中 如图所示 现有如下需求 根据左侧选中树节点 去请求接口获取右侧表格数据 第一次点击树节点则选中 再一次点击该树节点不会取消选中 不会取
  • 通过js date对象获取各种开始结束日期的示例

    有时候做一些任务计划的功能时候 需要提供一个开始时间或者结束时间 比如本周结束 本月结束 今天结束等等 因此 我参考网上的资料把相关的实现为一个项目 gitee https gitee com dhclly icedog date edge
  • 深度学习------tensorflow卷积神经网络:cifar数据集

    1 cifar10数据集介绍 CIFAR 10数据集由10个类的60000个32x32彩色图像组成 每个类有6000个图像 有50000个训练图像和10000个测试图像 数据集分为五个训练批次和一个测试批次 每个批次有10000个图像 测试
  • Dofbot机械臂从零部署笔记(4)——ROS之Moveit下实现实机逆向运动学规划

    文章目录 编译代码 逆向运动学规划例子 代码和运行效果 关于老是规划失败 逆向运动学Moveit编程步骤 代码修正 本节接上节 实现逆向运动学规划 本节源代码位于 home jetson dofbot ws src dofbot movei
  • linux重置电池阀值,Thinkpad在linux(ubuntu)下修改电池充电阈值,成功解决Thinkpad在Linux下的电池充电问题...

    安装tp smapi aptitude install tp smapi dkms modprobe tp smapi 更改充电阈值 设置开始充电阈值 如从 60 开始充电 echo 60 gt sys devices platform s
  • 手势虚拟键盘

    定义一个HandDetector类 import cv2 import mediapipe as mp import math class HandDetector Finds Hands using the mediapipe libra
  • Docker的学习体验

    由于兴致使然 便想学习一点Docker技术 于是 写了这篇学习Docker的体会 笔拙 见谅 第一件事 把网线插上 相信很多人都被官网的 Sample application 的docker build t getting started
  • Android 抛弃原生WebView,使用腾讯X5内核、并加入广告拦截。

    大家都不知道原生的WebView 存在各种坑 各种适配问题 最近在使用 总会出现DNS被拦截的情况 预览了各个大神的论坛与博客 发现可以更改WebView内核 找到了比较火的两个 分别是 腾讯X5内核 和 crosswalk crosswa