Android适配64位TBS X5内核
根据官网指引接入腾讯tbs文件浏览服务,但是仍然有些坑没说清。特别是对64位cpu架构的说明
1、添加tbs库
腾讯支持64位cpu的至少是43903版本,这里我们在app Gradle中配置。
注意:引用tbs库只需要这个就够了,不要配置jni、lib啥的。
api 'com.tencent.tbs:tbssdk:44181'
2、配置cpu架构
app module中配置CPU架构,注意这里不要配置"x86",“x86_64”,腾讯tbs暂时不支持x86架构。关于安卓CPU架构梳理参考
你不说我不说这里就是一个坑。
// 腾讯tbs插件(doc、docx)
ndk {abiFilters "armeabi-v7a", "arm64-v8a"
}
3、配置manifest
tbs需要初始化插件,这里必须要有网络,因此manifest中配置
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
以及application节点下配置
android:networkSecurityConfig="@xml/network_security_config"
文件network_security_config内容
<network-security-config><base-config cleartextTrafficPermitted="true"><trust-anchors><certificates src="system" /></trust-anchors></base-config>
</network-security-config>
4、代码接入tbs
初始化TBS服务会下载插件,到这里了基本就不会错了。因此这块写的相对比较简洁。需要更多信息参考官网指引,或者文末的demo
QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {@Overridepublic void onCoreInitFinished() {// 内核初始化完毕Log.e("QbSdk", "onCoreInitFinished ");Log.e("QbSdk", "onCoreInitFinished---是否可以加载X5内核: " + QbSdk.canLoadX5(context));}@Overridepublic void onViewInitFinished(boolean arg0) {// x5內核初始化完成的回调,true表x5内核加载成功,否则表加载失败,会自动切换到系统内核。Log.e("QbSdk", " 内核加载 " + arg0);Log.e("QbSdk", "onViewInitFinished---是否可以加载X5内核: " + QbSdk.canLoadX5(context));}
};
// x5内核初始化接口
QbSdk.initX5Environment(context, cb);
然后就是打开文件
// 加载文件(doc、docx等)
private void addTbsReaderView(String loadFilePath) {if (mTbsReaderView != null) {mTbsReaderView.onStop();}mTbsReaderView = new TbsReaderView(this, readerCallback);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {//不使用黑暗模式mTbsReaderView.setForceDarkAllowed(false);}relativeLayout.addView(mTbsReaderView,new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT));String extensionName = FileUtils.getFileType(loadFilePath);Bundle bundle = new Bundle();bundle.putString(TbsReaderView.KEY_FILE_PATH, loadFilePath);bundle.putString(TbsReaderView.KEY_TEMP_PATH, FileUtils.createCachePath(this));boolean result = mTbsReaderView.preOpen(extensionName, false);if (result) {mTbsReaderView.openFile(bundle);}
}
5、demo与最终效果
最终运行效果如下,demo地址
Android适配64位TBS X5内核相关推荐
- Android 适配 64 位架构
Android 适配 64 位架构 原文地址 https://juejin.cn/post/6964737926617890853 背景 64位的应用性能更好,也能运行在未来仅支持 64 位架构的设备 ...
- 关于 mPaaS PB 接入模式适配 64 位 CPU 架构中项目报错解决方案
背景: 2021 年末的时候,国内各个厂商应用市场就开始大力推行 app 进行 64 位架构的适配,并发布了相关规定,大致时间都是 2022 年 2 月份开始不接收仅支持 32 位的应用,9.10 月 ...
- Android L 64位兼容32 应用程序的认识
关于Android L 64位系统兼容32位应用的实现的简单分析. Android L 的zygote进程的实现不同于之前的版本,除了有zygote进程之外还有zygote64进程. 在init.zy ...
- android app 64位架构升级 适配64位cpu架构
一. 本质 so库的升级 二.so库升级 1.so库检查 1,首先设置: abiFilters "armeabi-v7a","arm64-v8a",然后编译出对 ...
- Android集成三方浏览器之X5内核,讲的明明白白
腾讯 X5 内核也是基于 chromium 的,相比原生的 WebView 而言,优化了用户的浏览体验.SDK 是通过共享使用用户手机上微信.手机QQ.QQ空间等软件已经下载好的 X5 内核.SDK ...
- android中64位手机,我们需要64位Android手机吗?
过去数月,多款新智能手机都把64位处理器作为卖点.用户应当购买一款配置64位处理器的手机吗?64位处理器的性能是32位处理器的2倍吗?这两个问题的答案是否定的.转向更新的ARM架构会带来性能的提升,但 ...
- VBA 32位代码适配64位
很久前用 Access VBA 写个程序,在64位的 Office 下一直报错,遂一直用 32位的 Office.最近尝试安装了 Office 2021,看到那图标那界面顿时爱了.一时没有找到 32位 ...
- Android手机64位APP兼容
为什么 2022 armv9芯片新机出货,不兼容32位,出现卡顿闪退等问题 64位性能更好 手机硬件升级,存储更大,应用包体积不敏感 应用市场的政策 Google Play声明 自 2019 年 8 ...
- Android之64位和32位区分
image.png .. ABI 是什么 在Android编码时候 ,我们经常会看到ABI .ABI的意思是 Application Binary Interface 的缩写. 不同 Android ...
- 64位Linux的内核和用户地址空间
32位的Linux中,0x00000000-0xBFFFFFFFFF 这3GB是 用户空间 0xC00000000-0xFFFFFFFFFF 这1GB是 内核空间 ++++++++++++++++++ ...
最新文章
- [转帖]SAP初级学习者一句话入门06—PS
- linux下scp远程拷贝文件无需输入密码工具之expect
- 自学机器学习、深度学习、人工智能学习资源推大聚合
- Springboot 2.x上传文件大小限制
- Android之DiskLruCache(缓存工具)
- OpenCV图像处理(9)——边缘提取方法对比
- 开课吧:什么是包?如何定义包?
- 运维之Linux秋招重点(根据面经和常见笔试题总结,持续更新)
- 车牌正则oracle,中国车牌号正则表达式
- 鲍威尔法源程序码matlab,十一、Powell算法(鲍威尔算法)原理以及实现
- matlab 谐波生成模块,simulink 谐波分析_matlab谐波分析_simulink中sign模块
- zemax输出ies_ProSource光源模型分析和转换软件
- 相机下载_SonyPMCARE, 反向工程索尼PlayMemories相机应用
- 办公用品管理系统服务器版,求索办公用品管理系统 2019
- android root 的作用,安卓手机Root好不好?手机Root后有什么好处和影响?
- mysql连接字符串_[MySQL] - MySQL连接字符串总结
- 一些实用的零零散散的知识
- 【C4-AI大赛】2021优秀作品荟
- 前端开发入门到实战:六种组织CSS的方式
- P5-Windows与网络基础-安装GNS3软件环境