腾讯X5内核集成-解决遇到的问题(ABI平台匹配加载理解)

腾讯X5内核集成-解决遇到的问题(ABI平台匹配加载理解),第1张

上周项目有需要,集成了“腾讯X5浏览器内核”过程中,也遇到了一些问题。经过摸索,也顺带补充解决了之前ABI方面的理解。

APP,内容模块视频部分,使用时夏正流行H5技术。

Html5的Video控件播放视频,在Android平台的WebView中播放的效果,和IOS播放效果有差异。IOS点击视频部分,会用系统自带的浏览器全屏播放视频,体验效果佳;而Android的WebView无法全屏。至少体验效果比IOS上的差一些。

①Html5页面使用一些开源封装过的Video,带全屏等。

结果:产品部,认为体验不佳。提出疑问:“为什么在QQ上播放那么好呢?”,这,毕竟我们是技术方, 也不好直接说“别人技术牛”。

②重写WebChromeClient的onShowCustomView开启全屏;onHideCustomView退出全屏。

结果:相信有朋友也折腾过这玩意,在Android 44开始的手机,大部分不会进入该回调方法。

③技术体验上,不懂技术的同事等, 都是用QQ,微信举例。那就使用腾讯X5内核吧。

①成功调用x5内核条件是安装腾讯三个常见产品之一:1、手机QQ;2、微信;3、QQ浏览器。当然版本也有限制,到这里,我们至少知道,三者中一个,是很有可能成功的,只要版本不太低,至少身边朋友的版本,都不至于太低了。

②第一次安装集成该SDK的版本必须预热(从SDK接入文档中理解,理论上是, 大部分情况第一次是启动失败的,从试验中,是kill了进程,再开启才成功)。

③ABI只提供armeabi的so

①导入相应的jar,  so 文件:

libs: tbs_sdk_v1511057_25436_obfs_20160331_144900jar

armeabi:liblbsso

②预热X5内核:

/

开启额外进程 服务 预加载X5内核, 此 *** 作必须在主进程调起X5内核前进行,否则将不会实现预加载

/

private voidpreinitX5WithService() {

Intent intent =newIntent(this,FirstLoadingX5Serviceclass);

startService(intent);

}

/

X5内核在使用preinit接口之后,对于首次安装首次加载没有效果

实际上,X5webview的preinit接口只是降低了webview的冷启动时间;

因此,现阶段要想做到首次安装首次加载X5内核,必须要让X5内核提前获取到内核的加载条件

/

private voidpreinitX5WebCore() {

if(!QbSdkisTbsCoreInited()) {

// preinit只需要调用一次,如果已经完成了初始化,那么就直接构造view

QbSdkpreInit(MainActivitythis, null);// 设置X5初始化完成的回调接口

}

}

③用多台手机测试:华为4A, 华为荣耀(忘记什么型号,是64位CPU),google nenux4, 小米4C, 华为mate 7, 红米Note2 等等。APP打包测试。

结果:只有我的华为4A能播放。 为什么别的,就不正常呢?

------------------------------以下-解决篇--------------------------------

①CPU方面,华为4A是比较老的CPU, 估计就是armeabi的了,由于别的机型,我都有对应的abi目录,都各自找到相应的平台目录, 所以无法加载“liblbsso”。

②尝试将“liblbsso”放在各个abi目录中, 结果还是没办法启动x5。

③通过百度,google等搜索,再次进行ABI方面的理解加深,获取解决方案:

项目的“buildgradle”文件defaultConfig,增加配置

ndk {

abiFilters"armeabi","armeabi-v7a","x86","mips"

}

结果:确实解决了问题。

①难道是别的平台都指向了最低兼容的armeabi目录? 噢,如果这样做的话,在APP中性能会有极大的损失。如arm-v7中的  浮点运算,这就损失极大。更何况64位的CPU。

②难道是机器是智能化了?先找相应平台的so, 不行,再逐个查看向下的兼容平台?如果是这样,那就太好了。

③什么优先顺序呢?这个Android选取ABI的机制?我也想了解。 顺带这个问题一起学习。

①google一些资料,在overflow上,找到挺好的>

微信的日志文件夹

文件夹是计算机术语,是用来组织和管理磁盘文件的一种数据结构。

普通计算机文件夹是用来协助人们管理计算机文件的,每一个文件夹对应一块磁盘空间,它提供了指向对应空间的地址,它没有扩展名,也就不像文件的格式用扩展名来标识。但它有几种类型,如:文档、、相册、音乐集等。

以上就是关于腾讯X5内核集成-解决遇到的问题(ABI平台匹配加载理解)全部的内容,包括:腾讯X5内核集成-解决遇到的问题(ABI平台匹配加载理解)、Android集成腾讯X5内核浏览功能、com.tencent.tbsad是什么文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9582195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存