简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
目录前言1.android默认的降级限制1.1. recovery模式下的降级限制1.2. update_engine的降级限制2.通用的绕开android降级机制方式2.1 为何降级需要擦除userdata2.2 为何keymaster成为降级过程中的拦路虎3.虚拟A/B与A/B系统降级的区别3.1 Virtual A/B的概念3.2 A/B提前擦除userdata可以降级,为何virtual
背景为何需要采用此种方式 ,随着android系统大版本的升级,系统本身的体积越来越大,对于必须要内置GMS包的升级项目,system分区的大小因为之前在低版本时,给得不够大,为了OTA升级,又不能修改分区的大小,那就只能各种裁剪,尝试各种减少system分区占用的方法(裁剪app及so、关闭部分app的预编译等). 经历各种折腾后,还没有达到预期的效果,最后找到了apk gz压缩编译的方式节省分
合作开发的三方apk, 用我们的platform keystore签名后,无法在android 11的设备上安装成功,一直提示安装错误Failure [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APK
背景Google在androidQ版本上动态分区就启用了,另外高通在android R版本上既开启了动态分区,还默认了启用qssi的机制,对于OTA升级来说,这块会有什么变化,本文先从近期的一些调试过程中,简单总结一些注意事项,当然主要是一些记录,后续还需要继续分析流程.问题调试部分device/honeywell/eda52/AndroidBoard.mk#-------------------
前言此篇为调试记录,基于两个大的方向来归纳这篇文章要提的内容:1.ninja编译命令提高调试效率2.高通的源码在R上引入了QSSI(Qualcomm Single System Image),从字面上来看,就是要将system独立出来解耦,为厂商升级最新的android版本铺路.细节描述针对编译未对ninja编译做分析,旨在让参与模块的小伙伴们能有方式提高调试效率,调试android R版本的都知
给app组的同事提供基于add-on方式的jar包接口,调试过程中出现调试时遇到INSTALL_FAILED_MISSING_SHARED_LIBRARY错误。以add-on方式封装接口的背景是,提供stub的空接口,app集成只是为了正常的引用jar包编译,而真正的运行时主要依赖当前的系统,这也就避免了由于系统jar主导接口的控制权,在接口没有大变化的情况下,app不用理会接口的实际实现。app
背景客户需求禁止所有Mic数据输入,既包括安卓设备普通的使用场景下,还包括外接带Mic耳机的场景,首先,得考虑如何才能达到我们的目的,基本思路就是得掐断源头,源头在何处,下面便慢慢道来....
前言源于当导航的语音播报和媒体播放器混音时,只要是导航播报在播放时,出现的媒体播放器的音量默认被压低了,起初的追踪方向是AudioService中的duck机制的考量,但实际的情况是封装的setwillPausewhenduck只是一个标志位而已,而且,app并不一定调用.分析从AudioService的代码流程追踪来看,...
公司产品经常在测试过程中,需要在user和userdebug上来回切换,一方面是测试和QA作为测试用例来测试,另一方面,也是我们的销售支持team也需要去用userdebug版本做一些修改及验证问题便于调试.我们的OTA是基于A/B分区的,之前的版本这一块基本并未遇到什么问题,因为毕竟都是full ota升级,但是在android 11上,我们就遇到了userdebug升级user版本,升级完成后
最近测试报了个偶现问题,在一同耳机切换和通话测试后,soundrecorder app播放录音文件时没有声音,通话也无法听到对方的声音,而正常的music音频能够播放.问题发现后,抓取了对应的logcat的log,一直在排查可疑的点,下面的Log是第一个怀疑的点,后面仔细想想,这个很明显是当播放无声后,手动调节音量键的log,当然setVolumeCurveIndex设置failed也给了个aud