Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑

本文讲述了在Android开发中,公司App接入七牛云实时音视频SDK实现音视频通话,又接入腾讯系bugly热更新SDK后出现错误码的问题。经排查,发现是只支持部分so库架构所致,支持所有库架构后问题解决,且同样代码在手机和平板表现不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

520,今天是一个特殊的日子。生活给我来了个bug礼包,bug礼包的来源是公司的App接入了七牛云实时音视频SDK实现音视频通话功能,后面我们又接入腾讯系的bugly热更新SDK实现网络更新功能,bug礼包来啦!!!
在这里插入图片描述
在这里插入图片描述
上面两个bug不是固定出现噢,一会报20111错误码,一会报10054错误码。说一下大概历程吧!遇到20111错误码,我就找后端的同学沟通我们都以为是服务端的原因,后端同学给了我两个固定的视频token就报10054错误码,上面两个错误码的解释是我从七牛音视频SDK官方文档截图下来的。我和后端同学都排查了自己的代码,发现都没有问题。于是,我又联系了七牛云实时音视频的客服,他们说是没有导入jniLibs里面armeabi-v7a.so文件。七牛云实时音视频SDK有个令我很奇怪的地方,居然不需要在build.gradle文件中加入下面代码

android {
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}

检查之后发现,我是有导入相应的.so文件的。

解决的过程

我发现在接入腾讯系的bugly热更新SDK的时候有加入下面的代码:

 ndk {
       // 设置支持的SO库架构//, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
       abiFilters 'armeabi'
}

由于考虑apk大小和之前的接入经验,我只支持了armeabi的so库架构。最后我把上面的代码修改为:

ndk {
       // 设置支持的SO库架构//, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
       abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}

支持所有的.so库架构之后,我发现七牛云的实时音视频功能又能正常使用了,而且不会报错。

总结

这次接入七牛云实时音视频SDK和腾讯系的bugly热更新SDK发生碰撞是我意向不到的,最神奇的事情是同样的代码在手机端是没有问题,但是在平板端是由问题。希望我这次踩坑对接入七牛云实时音视频SDK和腾讯系SDK的Android小伙伴有帮助。为自己打个小广告哈!下面是我的公众号的图片,我会经常更新一下技术干货或者开发踩坑历程,欢迎大家关注我!
在这里插入图片描述

### 关于七牛云的使用问题及其替代方案 #### 一、七牛云可能存在的问题 尽管七牛云提供了免费额度,对于个人开发者尤其是预算有限的学生来说是一个不错的选择[^1],但在实际使用过程中可能会遇到一些常见问题: - **性能波动**:部分用户反馈,在高峰期可能出现访问延迟较高的情况,这可能是由于共享资源分配机制引起的。 - **技术支持响应速度**:相较于付费客户,免费用户的工单处理优先级较低,可能导致技术问题得不到及时解决。 - **功能限制**:虽然基础版提供了一定的存储和带宽配额,但对于高级特性(如CDN加速优化、自定义域名HTTPS支持等),可能存在额外收费的情况。 如果上述问题影响到用户体验,则可以考虑其他替代方案来满足项目需求[^3]。 #### 二、潜在的替代选项分析 ##### (一)MinIO 自建对象存储服务 一种经济实惠的方式是利用开源软件 MinIO 构建私有化部署的对象存储环境。这种方式允许完全掌控基础设施而不依赖第三方平台,特别适用于希望减少对外部服务商依赖程度的学习者或者小型团队[^4]。其优点如下: - 数据主权归己方所有; - 可灵活调整硬件配置以适应负载变化; - 支持多种编程语言SDK接入开发; 不过需要注意的是,自行运维意味着承担起维护责任,包括但不限于定期备份以防丢失重要资料以及监控健康状态确保持续可用性等方面的工作负担。 ```bash docker run -d --name minio \ -p 9000:9000 -p 9001:9001 \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=secret" \ -v /data:/data \ quay.io/minio/minio server /data --console-address ":9001" ``` ##### (二)阿里云 OSS 或腾讯云 COS 当业务规模逐渐扩大超出初期设定范围之后,或许应该重新评估转向更成熟稳定的企业级产品线——比如阿里巴巴集团旗下的阿里云OSS或者是来自腾讯生态统的COS。它们各自具备独特的优势所在: - 阿里巴巴拥有丰富的电商经验积累下来的大数据分析能力加持下的智能推荐引擎能够帮助企业更好地理解消费者行为模式从而制定精准营销策略; - 而腾讯则依托社交网络矩阵效应所带来的巨大流量入口优势, 在音视频处理领域占据领先地位. 当然也要考虑到迁移成本因素(例如现有架构改造难度), 并仔细权衡性价比后再做决定. #### 结论 综上所述,针对当前所面临的情境而言,可以根据具体应用场景的不同分别采取相应措施加以应对。如果是单纯为了节省开支同时又不想放弃云端便利的话,那么尝试采用MinIO搭建属于自己的图床不失为一项明智之举; 若追求极致可靠度并愿意为此支付一定费用,则不妨考察一下国内头部厂商所提供的商业化解决方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值