自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android P车机添加屏幕多指全局自定义手势操作

参照原生状态栏全局下拉手势拦截,实现屏幕全局多指手势响应操作,并对手势进行转换为KeyEvent,以便项目自定义手势行为或应用拦截手势行为。

2024-01-20 14:17:06 473 1

原创 AndroidR集成三方Native服务组件

该项目为海外欧盟市场版本,需集成三方IDS安全组件,进程运行时注入iptables指令至链表,检测网络运行状态,并收集异常日志并压缩打包成gz文件,提供给Android上层应用上报云端。

2023-12-28 18:06:30 764

原创 AndroidR车机实现多屏同显方案

项目存在中控屏及副驾屏,客户希望实现本地视频播放,多屏同时显示,声音统一全车扬声器发出。客户要求提供演示demo,进行评估。

2023-11-11 16:39:36 948

原创 AndroidR车机系统添加关背光的WindowType

要求:副驾屏熄屏的时候音频继续播放、视频暂停播放。副驾屏熄屏的时候, 增加蒙层,影响下层应用生命周期,即视频应用进入后台时均暂停播放。

2023-09-24 20:53:15 132

原创 AndoidR车机系统添加CarVirtualPlayer虚拟播放器

车机系统存在虚拟音频源(收音机、AUX、蓝牙音乐、手机互联CarPlay&HiCar等),音频流数据不通过应用层,但应用需要响应方控媒体按键如上下曲、播放暂停等。

2023-09-24 13:46:07 151

原创 AndroidR多物理屏快速切换同一应用时黑屏

原生代码在多屏幕切换场景存在这个问题,快速切换同一应用时黑屏。遇到问题时,有了排查方向,可对比高版本源码进行确认,Google可能已经修复了相关问题,总体来说问题分析的时间远远大于解决问题的时间。

2023-08-04 17:04:41 144

原创 Window 10使用WSL2成功编译Android R

Windows 10系统使用WSL 2实战编译Android 11系统

2023-03-26 17:58:44 234

原创 重庆二手房商转公置换贷款办理操作指南及详细记录

重庆二手房商转公置换贷款办理操作指南及详细记录

2023-03-06 10:53:48 4012

原创 Binder线程数耗尽引起系统异常分析

Binder线程数耗尽引起system_server进程异常,进而导致系统瘫痪

2023-02-07 19:41:07 1459 1

原创 Binder无响应引起卡死

binder回调进程异常引起系统卡死

2023-02-07 19:19:42 603

原创 Android系统启动过程介绍

1. 系统启动介绍2. init介绍3. zygote分析4. system_server介绍

2022-11-17 15:47:43 601

原创 MediaRecorder录音原生时序

Android 多媒体框架支持捕获和编码各种常见的音频和视频格式。如果设备硬件支持,可以使用 MediaRecorder API。

2022-11-16 19:27:30 917

原创 MediaPlayer音频播放原生时序

MediaPlayer 类是媒体框架最重要的组成部分之一。此类的对象能够获取、解码以及播放音频和视频,而且只需极少量设置。

2022-11-16 17:22:05 801

原创 Android开发常用办公软件

研发常用工具软件

2022-10-20 19:43:12 131

原创 AndroidS平台多用户切换广播泄露

Android S 多用户切换出现广播泄露,引起system_server重启

2022-09-01 14:40:10 584

原创 安卓S平台userroot版本SELinux权限配置

user root版本,开启usb调试,无法进行数据传输,只能充电,电脑也无法成功连接adb由于对应版本必现。

2022-06-09 17:34:16 652

原创 安卓S平台图库不显示OTG设备内图片

插入OTG设备,打开OTG连接,进入智能图库,其他相册,没有显示OTG图片由于对应版本必现,刷入版本后,查看android.log日志。搜索媒体扫描日志打印信息如下:日志只有内部存储的mount广播发出,没有OTG设备挂载广播。.........

2022-06-09 17:28:07 746

原创 音频播放卡顿优化

背景 音乐播放过程中,进行高CPU操作时,后台音乐播放出现卡滞。分析1、日志分析日志中audioserver出现“AudioFlinger: underrun”的打印05-27 15:35:00.186 396 777 W AudioFlinger: underrun, framesReady(0) < framesDesired(289), state: 605-27 15:35:07.035 396 777 W AudioFlinger: under..

2022-02-18 17:04:29 1307

原创 系统开机时间优化

背景 开机时间较长,无法满足客户及内部测试指标要求。引用官方推荐AOSP优化启动时间参考:优化启动时间 | Android 开源项目 | Android Open Source Project分析一、开机相关日志1、抓取开机到主页时间段内的bootchart图;2、开机bootprof文件,统计各个阶段开机耗时;3、bw系统日志,包含logcat及kernel等日志。二、抓取日志步骤如下:1、串口连接车机,不接外设如U盘等设备,执行su获取roo...

2022-02-18 16:55:42 479

原创 车机屏保功能

一、引言**项目客户需求项 –屏保功能,当功能打开后,点击桌面图标进入屏保或一段时间无操作自动进入屏保模式,屏保显示当前时间及日期。经考虑使用原生的DreamService实现,方案优点:原生架构,方案成熟及使用灵活,支持第三方标准屏保应用; 仅需实现定制的屏保界面,不同项目可根据客户需求实现不一样屏保界面二、简介(转载)白日梦是Android设备的新型互动屏保模式。当设备置入底座或充电闲置状态时(屏幕没有关闭),此模式自动激活。白日梦模式每次显示一个,可以是纯粹的视觉效果,在用..

2022-02-18 15:44:53 2630

原创 Android车机系统层在第三方导航应用内添加图标

一、背景上篇文章记一次进程fd文件句柄内存泄露排查_shusuanly的博客-CSDN博客中提到,系统方实现应用在前台的时候添加一个悬浮图标在应用之上,应用退出时取消浮窗。悬浮窗方案存在如下缺点:需要根据应用是否处于前台,进行控制显示与隐藏; 快速切换应用时无法做到同步显示,且增加系统计算压力; 复杂应用内存在多个层级的显示,悬浮窗始终显示在顶层,会遮挡部分显示。二、分析由于PhoneWindow是Window的唯一实现类,而每一个Activity都有一个Window即Phon

2021-11-05 16:01:03 540

原创 记一次进程fd文件句柄内存泄露排查

一、问题现象【台架测试】BE/G1 压力测试(播放视频,再导航,再连续点击图片下一页按钮50次,反复以上操作)后,车机异常卡顿【台架测试-压力】BE/G1 第446次插入U盘,系统卡顿【台架测试】BE/G1 2GDDR低配压力测试,反复拨打挂断电话第73次时,系统卡顿(车机点击拨打电话,车机未显示通话界面,手机端显示通话中)【台架测试】BE/G2 拔插U盘第175次的时,出现系统卡顿,约15S后恢复【实车测试】CA/G1 USB 音乐播放中,语音唤醒大约100多次后,车机运行卡顿【台

2021-11-04 20:43:39 236

原创 Android P车机系统为倒车全景添加新的WindowType

一、需求1、车机系统中,倒车或全景的window需要显示在其他应用之上;2、倒车或全景界面,下层应用生命周期进入onPause -> onStop,避免应用耗费UI资源,如地图导航、视频播放、Camera显示等。二、分析1、针对需求1,倒车全景应用在后台Service中使用WindowManager.addView(View,LayoutParams)的方式添加窗口显示,不依附于Activity,类似悬浮窗显示;2、系统添加倒车全景类型的WindowType,调整优先级在其他wi.

2021-11-03 20:01:26 1809

原创 夏令时引起仪表时间显示错误

一、问题现象测试同事反馈,车机设置不同时区,车机时间显示正确,而仪表显示时间不对。二、问题背景车机Android系统时间变化时,会同步当前系统UTC时间及时区信息给MCU,由MCU根据时区信息转换为本地时间后,每一分钟变化时将本地时间发送至CAN总线,仪表根据CAN总线时间进行显示。三、问题分析由于部分国家使用夏令时,存在15分钟、30分钟、45分钟、1小时等非整数小时的Offset(相对UTC+0时间)时间差,同时夏令时启用仅在一段日期类生效。固原方案仅使用时区来计算本地时间时,当启用

2021-11-03 16:38:40 2018

原创 Android P宽屏项目SystemUI下拉栏覆盖NavigationBar导航栏

Android P宽屏项目SystemUI下拉栏覆盖NavigationBar导航栏需求该项目为宽屏显示,NavigationBar导航栏配置在左侧。UI设计为下拉界面全屏显示,要覆盖左侧导航栏。分析1、SystemUI下拉栏默认从导航栏右侧开始显示;2、StatusBar的window层级比NavigationBar低,会被NavigationBar遮挡。实现1、调整下拉栏LayoutParams始终从左侧位置开始;2、修改framework中window层级定义,调整StatusBar的

2021-03-27 14:31:12 492

原创 DisplayMetrics获取宽高不对

DisplayMetrics获取宽高不对一、引言该车机项目为宽屏显示,使用Android 9.0系统开发,分辨率为1920x720,配置navigation bar为120px,显示在左侧。二、问题通过如下方法拿到的屏幕高度值是576,正常应该是720。DisplayMetrics dm = getResources().getDisplayMetrics();int screenHeight = dm.heightPixels;三、分析1、dumpsys displaydumpsys

2021-03-06 14:30:28 1367

原创 一线城市想回重庆发展的同学关注下

一线城市想回重庆发展的同学关注下如果你现在正在北京、上海、深圳、杭州等比较发达的城市工作,但是当地房价很高,你基本上买不起房,毕业前几年一个人拼一下还可以,有了女朋友以后,结婚、生小孩、小孩读书等等一系列生活的问题,突然你会发现在一线城市很难混下去了,于是你会产生很多想法:1、要不要回老家?2、小孩谁来带,放老家吗?3、小孩以后读书怎么办?4、如果是独生子女,还要担心未来父母怎么办?生个病没人照顾怎么办?等等一系列问题。自我介绍下,我2012年重大毕业,去深圳酷派做手机开发.

2021-01-26 12:17:49 522 2

原创 Android车机之FM RDS时间同步

Android车机之FM RDS时间同步一、引言1、FM RDS时间RDS广播提供如下日期时间信息。Block1Block2Block3Block4PI码标识码日期17位(本块再加上块2的最后一位)小时6位分钟6位时间差6位时间信息为二进制码,时间应满足分钟的边沿出现于时钟结束后误差不超过0.1秒;日期是按约简儒略日表达,对应十进制的0-99999位二进制码;本地时间差表示为半小时的整数倍,范围是-12~+12小时之内,由6位二进制表示,最高位代表正、负时

2021-01-23 12:58:02 842

原创 Jenkins服务器配置ccache减少Android编译时间

Jenkins服务器配置ccache减少Android编译时间一、引言发布正式Release版本时,都是clean编译,每次需要2小时左右,很影响开发效率,为了提升编译速度,按照官方推荐引入ccache。ccache是以空间换取速度,ccache非常适合经常make clean(或删除out目录)后重新编译的情况。二、配置编译服务器新建ccache目录并指定项目缓存大小编译服务器存在多个项目的编译环境,故为每个项目指定独立的cache目录。官方建议单个项目缓存为50~100G,并行项目多时可考

2020-12-26 12:31:33 481

原创 Android应用之定时任务

Android应用之定时任务一、引言车机地图应用需要以固定的频率接收汽车速度信息,车速由MCU从CAN总线周期上报获取,然后通过内部协议到Android应用层,需要java应用执行定时任务,每100ms同步一次当前速度给地图,执行一段时间要求不能丢帧。二、分析实现最初采用Handler.postDelayed(Runnable r, long delayMillis)的方式实现,发现丢帧率较高,无法满足要求。尝试使用Time.schedule(TimerTask task, long delay

2020-12-10 17:29:35 538

原创 Android之Handler源码浅析

Handler源码浅析一、引言平常使用Handler较多,但对其实现原理知之甚少,项目之余,跟进下源码,对其做进一步了解。当前主要查看跟进Java层代码。使用示例如下:// Used internally for mHandlerThread synchronizationprivate final Object mLock = new Object();private int mTaskCount = 0;private HandlerThread mHandlerThread;priva

2020-12-06 14:32:29 121

原创 应用清单文件<intent-filter>中android:priority运用

应用清单文件中android:priority运用需求Android车机集成了高德地图,地图中涉及到在线地图、实时路况等,需要网络可用,会有跳转wifi设置的快捷按键,通过该按键能成功跳转至系统WiFi设置界面。分析地图使用Android标准的action进行跳转。调用示例如下:Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); st

2020-12-04 14:59:32 4100

原创 Android Studio常用代码检测工具

Android Studio常用代码检测工具一、Android LintAndroid Lint 已经被集成进AS,只需点击菜单-》Analyze-》Inspect Code 即可运行 Android Lint,在弹出的对话框中可以设置执行 Lint 的范围。二、Alibaba Java Coding GuidelinesAlibaba Java Coding Guidelines是一款阿里巴巴基于Java规范开发的AndroidStudio插件。在Android Studio中点击左上角Fil

2020-12-03 20:26:09 1777 2

原创 Android之媒体按键

Android之媒体按键一、问题描述语音播放上一首/下一首,概率出现语音反馈收到,但是不执行切曲操作(蓝牙音乐)二、现有方案使用语音控制媒体时,模拟媒体按键,控制当前激活状态的Media Session来响应媒体按键。参考getInstrumentation().sendKeySync(event);三、问题分析问题出现时,发现有如下打印,猜测为刚好语音的界面消失时模拟发送了媒体按键,由于卡点刚好没有focus window,会导致down事件被drop掉,仅成功发送了up事件至media s

2020-12-03 18:36:31 1161

原创 Android车机之TextToSpeech

Android车机之TextToSpeech一、引言TextToSpeech将一段文字转换为语音。TextToSpeech是Android系统自带的类,不用导入别的包。客户端调用步骤:new TextToSpeech类初始化TextToSpeech引擎,即重写onInit()方法设置朗读参数,调用朗读方法speak()销毁TextToSpeech,调用stop()和shutdown()方法二、需求系统集成了第三方应用,第三方应用需要调用原生TextToSpeech进行文字播报。三

2020-11-30 20:32:45 762

原创 Recents app界面删除当前音频焦点task停止音乐播放

Recents app界面删除当前音频焦点task停止音乐播放车机音源设计方案客户需求 - 任务栏移除当前音源UI task或Clear All时停止播放代码实现车机音源设计方案使用官方推荐媒体方案,音频应用客户端与服务端分离,参考https://developer.android.google.cn/guide/topics/media-apps/audio-app/building-an-audio-app,车机音源主要包括:本地音乐、本地视频、收音机、蓝牙音频、AUX IN、IPOD等。主要播放

2020-11-06 17:09:33 368

原创 Android O 配置logcatd日志系统

1. device mk脚本中添加logcatd默认配置PRODUCT_DEFAULT_PROPERTY_OVERRUDES += \ persist.logd.logpersisted=logcatd \ persist.logd.logpersisted.size=40 \ persist.l...

2018-06-05 10:59:54 3844

Android车机系统虚拟音频源播放器CarVirtualPlayer

Android车机系统虚拟音频源播放器CarVirtualPlayer

2023-09-24

AndroidP_SystemUI下拉栏全屏覆盖NavigationBar导航栏

AndroidP横屏项目,修改SystemUI下拉栏全屏显示,并覆盖NavigationBar导航栏之上,原博客 https://blog.csdn.net/shusuanly/article/details/115264404

2021-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除