MAC分区合并引导,删除其他系统分区
记录Macbook pro安装多系统,在MacOS下删除Linux分区,导致MacOS分区引导消失,解决方法,和MacOS合并相关
- 烧写Ubuntu20.04镜像到U盘
- Option从U盘启动
- 试用Ubuntu
记录Macbook pro安装多系统,在MacOS下删除Linux分区,导致MacOS分区引导消失,解决方法,和MacOS合并相关
背景:对于上层的控制,与事件的分发,我们在《底层重构》那篇博客已经介绍过,其中,目前接触的8家厂商中,其中6家都是直接对串口进行操作,一家则是通过在framework层对串口解析分发到上层,另一家是在自己封装了一个jni库,但是最终还是逃不过对串口的读写操作。
本文将介绍如何保证写指令到下控是串行的写,及对指定的数据帧进行流程化的解析,在这套规范下可以快速的对接其他家的控制协议
最近在整理项目将,将项目的各个Module的依赖统一,同时将之前的Android surpport兼容库,换成AndroidX 其中Android Studio的Refator–>Migrate to AndroidX并不能解决所有所有问题,由于包名的匹配失败的原因,导致,很大部分还是需要自己手工做迁移,但是这个还不是最大坑,由于Android打包工具会把我们声明在layout xml 的CompoundButton的一级子类例如CheckBox或者RadioButton替换成AppCompatCheckBox或者AppCompatRadioButton,有时候自己写的并非是真实的。
对于Android来说,一般自定一个Hanlder就可以捕获Java层的崩溃,然后可以轻松实现崩溃信息上传,而且添加额外的信息,这也是大多数商用/开源SDK能实现的。
但对于Native的崩溃,这些只有纯Java编写的SDK显得很无力。所以一般会采用C/C++来实现对当时崩溃的内存进行dump操作。本文将介绍使用breakpad和一个轻量级的http库来是实现,native崩溃日志生成和崩溃时上传。
2017年的迪士尼项目,运行了差不多2年了,其中比较大的问题有两点
对于所有后端开发人员来说,他们可以通过ssh登录到服务端,查看服务端的日志,分析问题,有时候还需要开实时的日志,如果我们Android端也能有类似的功能那该有多啊,去年一devops朋友推荐我用过一个内网穿透的软件frp,自己也搭过一次,感觉不错,所以能将fprc和ssh移植到android平台的话,这一切都是小case
对于我们这设备来说,最大内存只有1G,最小的512mb的设备也占据了一部分,加上底层最近重构,和加腾讯视频PAD到我们设备上,这版上线后,小S同学收到很多客诉都是说,在看直播课程时,跑步机自动重启了,而且有一个用户是一点开始运动就重启,这一动作,就把我们给带偏,一直以为我是重构底层导致。还有一个不确定因素的是腾讯视频PAD版,他们这个占用内存大约160m,而我们的占用也是比较大的,最后导致我们的app被系统杀死。
2020-02-25
其实https://www.imooc.com/learn/153 李宁老师有讲
对于我们的这个跑步机来说,本身就是不正常的,经常使用shell命令,来完成不非常规的操作
如pm, am, ps, kill
所以打包系统的同学,有时候就就不再怎么得,就把root权限给禁用,或者adb shell 有root权限,但是app则没有,这种坑遇到两次,一次是艺维,一次是鉴丰立久佳t910的打包。
跑步机底层重构的背景,以及为什么需要重构
之前的方式
对于每个机型都做分渠道,每个渠道都有对应的不同的java文件对底层控制,及每个机型的配置文件
好处:很快能适配某一特定驱动厂商的机型
坏处:对于其他驱动厂商的机型适配时不得不另开一个分支去开发,而且不同驱动厂商的不能合并到主分支上,以后发版只能从主分支合并到feature分支上,由于控制逻辑不同,可能会伴随着冲突
每种驱动厂商对应的控制跑步机,以及对跑步机的响应状态的都是不一样的
随着跑步机的机型越来越多,每个机型的测试,每个机型都需要测试,导致占用的时间也越来越多,每次发版时间周期冗长(但是又是不可避免的),对于控制的部分,合作厂商要求比较严格,对于业务部分还可以商量。
一直想做一个想做一个Android APP