• android 趟坑记


    又是一个伤感的故事,但阿古好像已经习以为常了。

    大半年的辛苦又泡汤了,故事是这样。

    帝都某高端小区,封闭局域网,做一个可视对讲+门禁的APP,之前那一版因为使用了商业代码,又不想花钱,于是找阿古换一个webrtc的对讲方案,

    经过1个月的摸索,App终于可以跑了,试用好像没问题,几天后,用户抱怨视频总是卡断。

    日,找原因,好像webrtc底层的摄像头资源没释放正确,加了异常重启处理,服务器端websocket加一分钟自动清token,数据库存储状态改成服务器端node存状态加快相应速度,继续试用。

    1个月后,用户再抱怨,某一台中控经常崩溃,技术狗的末日从此来临,换主板,刷机,换显示屏,喇叭,网线。

    呵呵,主板安卓系统版本不兼容,修改App,搞定,继续试。

    1个月后,用户购买一批新安卓平板,App又猝,继续调优,发现webrtc跨网段太多,呼不通?这是什么鬼?webrtc真是搞死人。

    做平板性能监控,擦,网速只有10几K怎么通话稳定,好像最大的bug被挖出了。

    又是一个月,用户方大boss发话了,要结账?我们要又稳定又清晰的效果,否则别想结账。

    狗都被你虐死了,MMP。

    webrtc网速不稳定就会断,为了适应这垃圾网络环境(why),换方案,找了网上的某商业版,人家也是基于webrtc的改造版,算了,技术狗最讨厌承认技不如人,

    心里想,要不是老子没时间陪你玩就自己搞一套了,哼。

    又是几个不眠之夜,集成新视频方案,老版webrtc全替换。

    坑如下:

    1. 因为都是基于webrtc,老版的引用,jar,so文件全删掉,删干净

    2. 新版本的lib包,so文件别忘了copy

    3. 商业代码的demo是将监听写在了BaseActivity,如果和老版本代码冲突,只能将BaseActivity的功能分解到具体Activity里,视频对讲对象放在Application做成单例

    4. 监听没加好是导致接收不到视频呼叫的原因,同上,demo里继承了BaseActivity,自己用如果没继承BaseActivity,要自己加在业务Activity里。

    5. 如果想使用demo的ui效果,layout,资源文件要copy全,不copy全会导致百思不得其解的编译错误

    6. compileSdkVersion 25 targetSdkVersion  25  compile 'com.android.support:appcompat-v7:25.3.1' 版本要一致 ,如果编译说找不到类库,就翻个墙试试看,或者换其他版本

    7. AndroidManifest.xml 改加的uses-permission别忘了加,新加的activity别忘了定义

    以为这就结束了?NO

    windows服务器全换成linux,视频服务要供应商搭,除此之外, node服务,mysql,数据迁徙,自启动脚本重新配。

    用户:伦家还没测试哦,有问题你啥都要管哦,吃定你咯。

    我去年买了个表!!!

    以上是一个android菜鸟的来自2018年底的牢骚。。

  • 相关阅读:
    php出现“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误的一种情况,及解决方法
    nginx配置:支持phpfastcgi,nginx和phpcgi通信,部分nginx常量解释
    一步步构建大型网站架构(转/收藏)
    PHP中$_REQUEST中包含的数据,数据被覆盖问题
    使用linux时碰到的两个问题
    小谈字节序
    备忘录(1)
    [c#]如何编写需要授权才能使用的WebService?
    [XML]XPath小记
    [Misc]如何得知系统存在哪几个COM口?
  • 原文地址:https://www.cnblogs.com/marszhw/p/10130948.html
Copyright © 2020-2023  润新知