![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 系统
文章平均质量分 65
houxian1103
这个作者很懒,什么都没留下…
展开
-
Android 开机动画支持mp4格式视频播放
关于开机动画的流程主要代码在 framebuffer/base/cmds/bootanimation/bootAnimation.cppBootAnimation::threadLoop() 中我们可以看到} else {根据 mZip(这是一个叫做 bootanimation.zip 的文件)是否存在,决定调用 android() 接口还是 movie() 接口。如果没有 zip 文件进入的就是这种方式。原创 2023-06-02 23:08:29 · 15876 阅读 · 0 评论 -
Framework 添加新的 系统服务
想自己 添加 一个新的 系统服务,看看是否能实现,加深理解及学以致用。于是有了下文。Android SDK 31 (Android12 平台)原创 2023-06-01 23:09:36 · 14877 阅读 · 1 评论 -
Android 中的 安全模式(safe mode)
安全模式是安卓系统的一种特殊模式,和WINDOWS的安全模式相似,在安全模式下用户可以轻松地修复手机系统的一些错误,方便快捷。由于第三方应用程序,可能会存在一定的兼容性问题,所以在安装软件后会出现系统文件报错、手机无法正常开机或者开机后系统程序不停报错的现象。遇到这种情况,若进行恢复出厂设置,手机中的资料是无法进行备份的,但是Android系统中添加了“安全模式”原创 2022-11-25 10:56:25 · 21279 阅读 · 0 评论 -
如何关闭selinux权限
有时为了测试方便和其他目的需要关闭掉selinux权限,但是这样做是非常危险的一件事,google 也是不推荐这样做的,本文章是使用Android 10,来做的测试。代码路径:system/core/init/selinux.cpp。设置版本为 permissive 模式,有三种方式。写到这里吧,实在是困了,晚安各位。原创 2022-09-13 23:36:13 · 819 阅读 · 0 评论 -
强制执行恢复出厂设置android
有时候我们在系统正常运行的时候,突然跑到recovery里面了,并且停在了如下界面。原创 2022-09-13 23:16:31 · 1295 阅读 · 0 评论 -
Android 应用层如何操作设备节点
有时应用需要访问设备节点,来进行节点进行操作,来达到控制设备的目的,一种是设备是在固定在主板上的,一种是需要usb进行插拔的设备。两种方式添加的位置是有差别的。在init.rc文件中添加该设备的权限ueventd.rc文件还是有一定的修改规则ueventd.rc文件中的内容大致为这样,第一列表示要修改的设备节点;第二列为修改后的权限;第三列为该节点的用户,注意,不要尝试去修改该节点的用户,很有可能修改导致修改失败。......原创 2022-08-28 02:08:19 · 2031 阅读 · 0 评论 -
Android Framework 导入到AS中
金泰延老师的《Android 框架揭秘》一书第二章即是配置搭建Android开发环境,并讲解了如何在eclipse中调试Android Framework,但是现在大家基本都使用Android Studio开发环境了,那么如在在Android Studio中调试Android Framework呢?实际上关于这个话题很多博文都说的很仔细了,但是本人在参考这些博文过程中有些自己的心得体会也通过此篇博...原创 2020-08-18 15:40:56 · 476 阅读 · 0 评论 -
Android Studio导入并调试Android Framework
金泰延老师的《Android 框架揭秘》一书第二章即是配置搭建Android开发环境,并讲解了如何在eclipse中调试Android Framework,但是现在大家基本都使用Android Studio开发环境了,那么如在在Android Studio中调试Android Framework呢?实际上关于这个话题很多博文都说的很仔细了,但是本人在参考这些博文过程中有些自己的心得体会也通过此篇博...转载 2019-09-25 14:37:18 · 398 阅读 · 0 评论 -
Android P 各种ANR的时间
前言大家都知道组件的执行任务的时间过长可能会导致ANR,但具体是多久呢?源码里面都定义了宏,我们把它们找出来,做了记录正文Service Timeout文件:ActiveServices.java // How long we wait for a service to finish executing. static final int SERVICE_TIMEOU...原创 2019-05-15 11:33:33 · 2028 阅读 · 0 评论 -
Android P(9.0) Debug 版本关闭DEXPREOPT后每次开机都DEXOPT导致开机很久
最近开发Android P(9.0), 关闭WITH_DEXPREOPT(不关闭的话,编译framework或者services生成的jar包不能直接push到机器,影响开发效率,不知到有没有方法解决这个问题)后,发现每次开机都要很久。我们使用log大法分析一下第一步,看Log10:12:30.474 1338 1338 I SystemServer: UpdatePackag...转载 2019-05-14 21:26:56 · 1845 阅读 · 0 评论 -
基于Android 9.0 电池温度异常提醒——frameworks 上的实现
本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、 Framework 层字符串添加二、Service 中实时监测 电池异常温度并弹窗提醒用户检测电池温度,提示用户温度异常,请注意Android电池信息状态主要是在frameworks/base/services/core/java/com/android/server/Batte...转载 2019-04-13 16:37:58 · 1298 阅读 · 0 评论 -
MTK 平台 开关机、重启时间优化
命令:adb shell cat /proc/bootprof开关机、重启时间优化:开机性能优化:是用功能和其它因素多方面平衡的结果,片面追求单方面的性能没有太大意义;有些产品设计开机动画非常酷炫,动画图片过多、高帧率会影响开机速度,这时就需要看是开机速度优先还是体验优先;[SOLUTION]1.zygote,预加载class、resources;加载的多了,会影响开机时间;/sd...转载 2019-02-25 14:25:38 · 2726 阅读 · 0 评论 -
如何关闭data分区默认加密模式
[Description]MTK 发布的L默认版本,如果是EMMC, 启用了data 分区默认加密. 针对像MT6582 等性能不是很高的CPU, 性能影响比较大, 如何关闭?[Keyword]L 默认加密 data分区[Android Version]Version >= android 5.0[Solution]L 版本我司遵循Google mount 行为, 使用fst...转载 2019-02-25 14:16:08 · 9146 阅读 · 0 评论 -
Android App 应用前后台的切换
问题描述: 在写app 时要求,app 能够自己唤醒,不论是在前台还是在后台都能够出现在前台。 使用如下方法,当是桌面的时候,可以显示,但是如果前面有其他进程activity 显示时无法切换到前台。 Intent intent = new Intent(MainActivity.this, MainActivity.class); intent.addFlags(Intent.F...原创 2019-01-10 14:56:50 · 2623 阅读 · 0 评论 -
ART 虚拟机参数配置
ART 虚拟机参数配置针对 512M 和 1G 真实内存设备推荐设置如下:dalvik.vm.heapstartsize = 4mdalvik.vm.heapminfree = 512kdalvik.vm.heapmaxfree = 8mdalvik.vm.heaptargetutilization = 0.75#### 针对 2G 内存(包括)以上真实内存设备推荐...原创 2019-01-04 22:36:35 · 1167 阅读 · 0 评论 -
通过FOTA 升级修改默认输入法的实现
需求背景:由于公司出于商业的要求,需要输入法进行切换,但是输入法是已经配置好的,并且已经写入了用户数据库中,但是通过FOTA 又无法更改客户的数据,于是想到了如下方法:配置文件修改:base/packages/SettingsProvider/res/values/defaults.xml修改默认输入法的配置:<string name="config_default_input_m...原创 2018-12-06 15:37:22 · 777 阅读 · 0 评论 -
Android 系统添加字符串方法总结
原因:在Android 中在res 中添加资源的时候又是编译的时候报错总结如下:添加步骤1. frameworks\base\core\res\res\strings.xml<string name="xx_window_default_title">Popup Window</string>2 .frameworks\base\core\res\re...原创 2018-12-06 16:42:19 · 1167 阅读 · 0 评论 -
adb 命令 之 Pm 相关
查看应用列表查看应用列表的基本命令格式是adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]即在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下:参数 显示列表 无 所有应...原创 2018-12-13 22:43:51 · 263 阅读 · 0 评论 -
通过ADB命令打开MTK和展讯日志的方法
打开展讯日志采集界面:adb shell am start -n com.sprd.engineermode/com.sprd.engineermode.debuglog.ylogui.YlogActivit开启MTKlogadb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start --e...原创 2018-12-07 10:23:23 · 1417 阅读 · 0 评论 -
当切换系统语言时输入法会切换到原生输入法的规避方案
问题背景:在项目实施过程中遇到客户反馈,当去切换语言时输入法变为默认输入法。解决方案:frameworks/base/services/core/java/com/android/server/InputMethodManagerService.javaInputMethodManagerService 构造函数中注释掉对语言更改时对输入法的更改,如下:// IMMS wants to ...原创 2018-12-07 16:28:49 · 693 阅读 · 0 评论 -
DuraSpeed 使用方法详解 (MTK快霸)
1.概念DuraSpeed 是MTK 在 Android M/N 上开发的进程管理软件,目的是“缓解手机长时间使用后的性能下降问题”。DuraSpeed 在APP 启动时开始执行,在后台限制“被保护之外”的进程,从而为前台进程提供更多的系统资源。在Setting--DuraSpeed 中可以查看2. 宏控开关3个Feature开关在ProjectConfig.mk 下Dur...转载 2018-12-09 16:57:31 · 4963 阅读 · 0 评论 -
ADB 命令之与应用交互相关
与应用交互主要是使用 am <command> 命令,常用的 <command> 如下:command 用途 start [options] <INTENT> 启动 <INTENT> 指定的 Activity startservice [options] <INTENT> 启动 <INTENT>...原创 2018-12-15 21:26:19 · 774 阅读 · 0 评论 -
ADB 命令之 模拟按键/输入
模拟按键/输入在 adb shell 里有个很实用的命令叫 input,通过它可以做一些有趣的事情。input 命令的完整 help 信息如下:Usage: input [<source>] <command> [<arg>...]The sources are: mouse keyboard joystic...原创 2018-12-15 21:40:06 · 1362 阅读 · 0 评论 -
[转] 在Framework中添加自定义系统服务
前言本文的方法要修改Android源码。但只要将系统服务写出来,也可以注入system_server进程将系统服务加载到system_server中。步骤1.添加一个aidl文件,我将aidl文件添加到这个路径下:frameworks/base/core/java/android/content/bw/IBWService.aidl,IBWService.aidl是我的aidl文件...转载 2018-12-16 10:20:44 · 450 阅读 · 0 评论 -
icu国际化编译与知识总结
问题背景:在system ui 任务栏的时候出现,内存的单位,如M 和KB 等1.更新这个文件:external/icu/icu4c/source/data/unit/zh.txt2. 更改后需要重新编译,编译命令如下:使用脚本 makeData.sh 进行编译问题解决方案:1.修改 external/icu/icu4c/source/data/unit/zh.txt 描述文件...原创 2018-12-11 11:14:56 · 789 阅读 · 0 评论 -
vmstat 命令分析系统性能瓶颈
命令说明: vmstat 2 5 :命令打印 隔2秒 打印5次打印的日志如下:从vmstat日志分析:系统在运行卡的时候的状态如下:r是运行的线程,数量多的时候表示cpu负担重。swapd是虚拟内存,也表示内存不足了,使用了虚拟内存。bi bo 是IO的值都比较高。Cs表示很多的cpu上下文切换。以上这些数值偏高,说明系统的主要负担在io与内...原创 2018-12-11 23:23:10 · 619 阅读 · 0 评论 -
常见系统问题分析方法
一 常见日志关键字1.App CrashFATAL EXCEPTION:2.System Crash*** FATAL EXCEPTION IN SYSTEM PROCESS:574 574 I ServiceManager: service ‘statusbar’ died574 574 I ServiceManager: service ‘media.player’ died23...原创 2018-12-23 21:47:45 · 2727 阅读 · 0 评论 -
USB充电提示音代码实现
实现背景:有的客户需要在插入充电的时候需要提示音,于是实现了该功能。实现方法:代码实现的路径如下:frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java导入 包名import android.media.AudioManager;import android.media...原创 2018-12-12 22:42:07 · 1450 阅读 · 0 评论