MAC分区合并引导,删除其他系统分区

记录Macbook pro安装多系统,在MacOS下删除Linux分区,导致MacOS分区引导消失,解决方法,和MacOS合并相关

  1. 烧写Ubuntu20.04镜像到U盘
  2. Option从U盘启动
  3. 试用Ubuntu

阅读全文

上控对串口读写程序的设计

背景:对于上层的控制,与事件的分发,我们在《底层重构》那篇博客已经介绍过,其中,目前接触的8家厂商中,其中6家都是直接对串口进行操作,一家则是通过在framework层对串口解析分发到上层,另一家是在自己封装了一个jni库,但是最终还是逃不过对串口的读写操作。
本文将介绍如何保证写指令到下控是串行的写,及对指定的数据帧进行流程化的解析,在这套规范下可以快速的对接其他家的控制协议

阅读全文

AndroidX appcompat Android4.4.4 CompoundButton bug

最近在整理项目将,将项目的各个Module的依赖统一,同时将之前的Android surpport兼容库,换成AndroidX 其中Android Studio的Refator–>Migrate to AndroidX并不能解决所有所有问题,由于包名的匹配失败的原因,导致,很大部分还是需要自己手工做迁移,但是这个还不是最大坑,由于Android打包工具会把我们声明在layout xml 的CompoundButton的一级子类例如CheckBox或者RadioButton替换成AppCompatCheckBox或者AppCompatRadioButton,有时候自己写的并非是真实的。

提交的bug地址 https://issuetracker.google.com/issues/151294239

阅读全文

Android Native崩溃上报到Sentry服务器

对于Android来说,一般自定一个Hanlder就可以捕获Java层的崩溃,然后可以轻松实现崩溃信息上传,而且添加额外的信息,这也是大多数商用/开源SDK能实现的。
但对于Native的崩溃,这些只有纯Java编写的SDK显得很无力。所以一般会采用C/C++来实现对当时崩溃的内存进行dump操作。本文将介绍使用breakpad和一个轻量级的http库来是实现,native崩溃日志生成和崩溃时上传。

阅读全文

Linux下定时任务

2017年的迪士尼项目,运行了差不多2年了,其中比较大的问题有两点

  1. socket日志比较大,当时每个考虑是保存最近7天的,对日志没有进行按天保存,导致半年后日志过大,需要手动ssh到服务器删除日志
  2. API服务,差不多也会在半年挂一次,登录服务器上开端口还在,服务没挂,但是就是API访问失败
    针对上面两点,我们需要在Linux服务器上添加两个定时任务,主要是使用crontab命令

阅读全文

公网远程adb shell

对于所有后端开发人员来说,他们可以通过ssh登录到服务端,查看服务端的日志,分析问题,有时候还需要开实时的日志,如果我们Android端也能有类似的功能那该有多啊,去年一devops朋友推荐我用过一个内网穿透的软件frp,自己也搭过一次,感觉不错,所以能将fprc和ssh移植到android平台的话,这一切都是小case

阅读全文

记一次系统无缘故重启的前因后果,和一些尝试

对于我们这设备来说,最大内存只有1G,最小的512mb的设备也占据了一部分,加上底层最近重构,和加腾讯视频PAD到我们设备上,这版上线后,小S同学收到很多客诉都是说,在看直播课程时,跑步机自动重启了,而且有一个用户是一点开始运动就重启,这一动作,就把我们给带偏,一直以为我是重构底层导致。还有一个不确定因素的是腾讯视频PAD版,他们这个占用内存大约160m,而我们的占用也是比较大的,最后导致我们的app被系统杀死。

阅读全文

root权限相关问题

2020-02-25

其实https://www.imooc.com/learn/153 李宁老师有讲

对于我们的这个跑步机来说,本身就是不正常的,经常使用shell命令,来完成不非常规的操作
如pm, am, ps, kill
所以打包系统的同学,有时候就就不再怎么得,就把root权限给禁用,或者adb shell 有root权限,但是app则没有,这种坑遇到两次,一次是艺维,一次是鉴丰立久佳t910的打包。

阅读全文

底层重构

跑步机底层重构的背景,以及为什么需要重构

之前的方式

  1. 对于每个机型都做分渠道,每个渠道都有对应的不同的java文件对底层控制,及每个机型的配置文件
    好处:很快能适配某一特定驱动厂商的机型
    坏处:对于其他驱动厂商的机型适配时不得不另开一个分支去开发,而且不同驱动厂商的不能合并到主分支上,以后发版只能从主分支合并到feature分支上,由于控制逻辑不同,可能会伴随着冲突
    每种驱动厂商对应的控制跑步机,以及对跑步机的响应状态的都是不一样的

  2. 随着跑步机的机型越来越多,每个机型的测试,每个机型都需要测试,导致占用的时间也越来越多,每次发版时间周期冗长(但是又是不可避免的),对于控制的部分,合作厂商要求比较严格,对于业务部分还可以商量。

阅读全文

ffplay Mac CLion Debug调试

一直想做一个想做一个Android APP

  1. 在息屏的是后一个能够播放视频的音频,这样就可以在做枯燥无聊重复性的事情的时候又可以学习的东西(例如健身,跑步机上跑步),充分利用网上的视频学习资源
  2. 具备自定义导入本地视频目录排序规则,一般的网上视频都是具有目录结构,如何快速的导入视频,并生成播放列表。
    目前想到的就只有这两个需求痛点,先完成再说其他的
    JsonMi播放器第一步 学习FFmpeg

阅读全文