
andriod系统
文章平均质量分 71
longroey
这个作者很懒,什么都没留下…
展开
-
Android加密之文件级加密
前置文章《Android加密之全盘加密》《Android系统之System Server大纲》前言Android 的安全性问题一直备受关注,Google 在 Android 系统的安全方面也是一直没有停止过更新,努力做到更加安全的手机移动操作系统。在 Android 的安全性方面,有很多模块:内核安全性 应用安全性 应用签名 身份验证 Trusty TEE SELinux 加密 等等其中,加密又分全盘加密(Android 4.4 引入,《Android加密之全盘加密》原创 2020-06-06 16:32:46 · 5340 阅读 · 2 评论 -
性能优化——ZRAM
[FAQ21507]zram 原理及其配置[DESCRIPTION]swap分区其实就是 zram 部分的内容,两个可以认为是相同的东西其中swappiness 管理的是什么情况下放入到swap 分区,而 zram 管理了这个分区,包括分区的大小、压缩算法等[SOLUTION]1. 是否开机zram方法有两个:方法一 :CONFIG_ZSMALLOC=...原创 2019-12-21 14:52:46 · 4447 阅读 · 0 评论 -
Android L Settings界面结构简单分析
Android L Settings界面结构简单分析Settings是Android系统很重要的模块,这部分也一直在看,很多时候都是在看某个具体的选项,比如WLAN,蓝牙这样具体的源码,但是对于主界面的布局以及结构并不清楚。原创 2017-03-21 12:24:19 · 2357 阅读 · 3 评论 -
android的makefile -- Android.mk
对于android而言,android使用的是GNU的make,因此它的makefile格式也是GNU的makefile格式。现在网络上关于makefile最好的文档就是陈皓的《跟我一起写makefile》,这份文档对makefile进行了详细的介绍。首先我们来看看Android里makefile的写法(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件,转载 2017-08-07 15:42:28 · 562 阅读 · 0 评论 -
Android的frameworks层键盘事件处理流程分析
事件处理流程1)InputManager负责读取事件并把事件送到frameworks的java层2)WindowManagerService里会有一个InputMonitor类来监听事件变化并做相应的分发处理。3)在WindowManagerService会有一个WindowManagerPolicy来做消息拦截处理。4)WindowManagerService会把消息发给最上面运转载 2017-08-07 16:15:00 · 310 阅读 · 0 评论 -
android开发中Fingerprint模块浅析
一、Fingerprint上层总体架构Fingerprint模块架构图如下,这里分为application,framework,fingerprintd和FingerprintHal这几个部分,不涉及指纹的IC库和驱动这部分,这部分逻辑由指纹厂商来实现,目前了解的并不多。 二、Fingerprint framework初始化流程在系统开机的时候,会启动各种Service转载 2017-08-14 10:13:00 · 1902 阅读 · 0 评论 -
android N中Settings新功能全面解析
Settings N预览Android N 在Settings中作了一些调整,如上面的截图。 - 增加了侧滑菜单,采用v4下的DrawerLayout来实现; - 在Settings主界面增加了Condition,能够在设置列表中显示状态; - 在Settings主界面增加了Suggestion。Dashboard category数据的加载首先来看下S转载 2017-08-14 10:29:57 · 1606 阅读 · 0 评论 -
android开机启动流程简单分析
android启动当引导程序启动Linux内核后,会加载各种驱动和数据结构,当有了驱动以后,开始启动Android系统同时会加载用户级别的第一个进程init(system\core\init\init.cpp)代码如下:int main(int argc, char** argv) { ..... //创建文件夹,挂载 // Get the basic转载 2017-08-14 10:42:23 · 500 阅读 · 0 评论 -
从源码角度剖析Handler机制
Android中,在进行耗时操作更新UI用到最多的方法就是Handler了,一般在子线程中进行耗时操作(访问网络等),然后发送消息到UI线程(主线程),使得界面得以更新。对于Handler的用法,相信大家都比较熟悉了,那么Handler机制的原理是什么呢?我们今天从源码角度来分析下Handler机制的原理。Handler mHandler = new Handler(){转载 2017-08-14 10:48:17 · 271 阅读 · 0 评论 -
深入分析AsyncTask
1. 什么是AsyncTaskAsyncTask 即 asynchronous task,异步任务。AsyncTask实际上是围绕Thread和Handler设计的一个辅助类,在内部是对Thread和Handler的一种封装。AsyncTask的异步体现在由后台线程进行运算(访问网络等比较耗时的操作),然后将结果发布到用户界面上来更新UI,使用AsyncTask使得我不用操作Thr转载 2017-08-14 11:09:31 · 333 阅读 · 0 评论 -
Android 7.0 SystemUI之快速启动栏的分析
从状态栏往下拉的时候,就会出现“快速设置”界面,如下图所示。快速启动界面可以让用户快速设置和操作。对于急需或频繁使用的控件和操作,保留“快速设置”图块,且不应将其用作启动应用的快捷方式。android7.0添加了新的API,让开发者可以为自己的应用添加快速设置图标。这篇文件将要分析快速启动的设计。当然,只是个人见解。 快速设置图标有两种类型,一种是system UI预置的(转载 2017-08-14 14:53:31 · 1305 阅读 · 0 评论 -
[FAQ08614]如何在setting中的休眠模式下添加永不休眠功能?
[DESCRIPTION]如何在setting中的休眠模式下添加永不休眠功能?[SOLUTION] 一、JB2之前版本 在JB2之前的code(就是android4.2之前的code),请参考如下的修改:在alps\frameworks\base\packages\SettingsProvider\res\values\defaults.xm原创 2017-08-14 15:14:00 · 332 阅读 · 0 评论 -
[FAQ10400]如何在小部件列表中隐藏某个widget或者shortcut?
[DESCRIPTION]小部件列表包括两种类型:widget和shortcut。如何在小部件列表中隐藏某个widget或者shortcut?例如隐藏设置的电量控制小部件(Power Control)? [SOLUTION] N:请修改WidgetsModel.java的updaeAndClone方法 M:请修改La原创 2017-08-14 17:09:52 · 275 阅读 · 0 评论 -
[FAQ08772]关机流程实现灭屏和振动同步,灭屏即完成关机流程
[DESCRIPTION]关机流程实现灭屏和振动同步,灭屏即完成关机流程 目前默认设计,关机会设置一个灭屏时间,不同运营商有不同需求。设置灭屏时间的主要考虑是用户体验关机更快,但实际上灭屏后关机流程还会有一些操作。如果有需要实现真正关机完成才灭屏振动的体验,可以参照如下修改(灭屏时间延长,用户体验的关机时间延长): [SOLUTION]原创 2017-08-14 17:15:39 · 588 阅读 · 0 评论 -
[FAQ17514][Recovery]Recovery mode FAQ搜寻指南
[DESCRIPTION] Recovery mode 依据不同问题归类为几个属性标签如下 [Debug/Log] :debug log , adb 相关问题 [OTAError] :升级过程报错相关问题 [UI/Key] : UI 界面与 custom key 配置相关问题 [Otapackage] : 制作升级包原创 2017-08-22 14:25:25 · 1035 阅读 · 0 评论 -
[FAQ08110][Recovery][UI/Key]如何修改recovery mode下字体的大小
[DESCRIPTION] 当客户手机为1080P的时候,如果感觉recovery mode下的字体太小,可以按照如下方式修改 [SOLUTION] (L版本以后)------------------------------------------------------------------------------------------------------原创 2017-08-22 14:27:10 · 926 阅读 · 0 评论 -
[FAQ11908][FSA]进入图库编辑图片保存后,去掉原有图片被覆盖的方法
[DESCRIPTION] KK以及L版本上,在图库中编辑完图片后,保存时默认是覆盖原图的,如果不想覆盖原图,可以参考以下方法修改。 [SOLUTION] KK版本: 请找到如下文件并进行如下尝试:alps/packages/apps/Gallery2/src/com/android/gallery3d/filtershow/原创 2017-08-22 14:13:49 · 1307 阅读 · 0 评论 -
[FAQ10563]如何验证APN是否添加成功?
[DESCRIPTION] 客户有一项目要出货到海外某国,加入了该国运营商的apn。在alps\mediatek\frameworks\base\telephony\etc\apn-config.xml中加入后,想知道,加入apn后,是否只有插入该运营商的SIM卡才能验证? 是否还有其他的路径可以验证? [SOLUTION] 不一定需要插入原创 2017-09-04 14:22:53 · 363 阅读 · 0 评论 -
[FAQ12964][OPP]无法通过蓝牙分享及接收apk应用文件
[DESCRIPTION] 在文件管理器中选择apk文件分享时没有蓝牙选项,对方通过蓝牙向本机传输apk文件时失败。 [SOLUTION]打开bt分享apk应用文件修改方法如下:对alps/packages/apps/Bluetooth/AndroidManifest.xml文件的标签中的内容替换为如下内容: android原创 2017-08-22 21:00:09 · 1274 阅读 · 0 评论 -
[FAQ19898]基于N平台的默认数据开关定制
[DESCRIPTION] 当前行为:N平台上插入新卡时,进入datausage界面,两个数据开关均是打开的。 期望行为:插入新卡,进入datausage界面,两个数据开关均关闭, 或者默认数据卡的数据开关打开,非数据卡的数据开关关闭。 [SOLUTION] 假设软件版本是:O原创 2017-09-05 10:13:27 · 556 阅读 · 0 评论 -
[FAQ19780]How to auto update apn database by OTA
[DESCRIPTION] 通过fota 升级apns-conf.xml文件,系统不能自动去更新apn数据库,需要手动去操作。为了便于用户使用,需要进行客制化实现。 [SOLUTION] 第一步: 修改code,并通过OTA升级更新上述修改 1) 定义OTA升级后的文件File path: /bootab原创 2017-09-05 10:21:06 · 463 阅读 · 0 评论 -
[FAQ14169][Audio APP]Music、FM等apk在播放或运行时,从recent app list中删除后,如何实现music、FM等apk立即停止?
[DESCRIPTION] Music、FM等apk在播放或运行时,从recent app list中删除后,目前现象是Music、FM等继续播放,如何实现music、FM等apk立即停止? [SOLUTION] 在ActivityManagerService.java文件中cleanUpRemovedTaskLocked方法中修改, privat原创 2017-08-23 20:29:47 · 986 阅读 · 0 评论 -
[FAQ10781]如何开启与关闭adb 的认证机制(google adb secure) (adb RSA 指纹认证)
[Description]如何开启与关闭adb 的认证机制(google adb secure) [Keyword]adb secure , ro.adb.secure , adb RSA 指纹认证 [Solution]MTK 默认是在ENG 版本中关闭了adb RSA 指纹认证,在USER 版本中开启了adb RSA 指纹认证. 如果贵司需要调整的话,原创 2017-08-29 17:33:18 · 2649 阅读 · 0 评论 -
[FAQ10958]系统WallPaper图片可以设置成屏幕大小的图吗?
[DESCRIPTION]系统WallPaper图片可以设置成屏幕大小的图吗?[SOLUTION]系统默认的Wallpaper图片都是两倍屏宽,主要有2个目的:1. 壁纸可以随着Launcher Workspace的滑动而滑动;2. 屏幕横屏时,设置了show wallpaper flag的应用背景可以正常显示。 如果将Wallpaper宽高修改为与屏幕宽高原创 2017-08-29 17:45:52 · 2635 阅读 · 0 评论 -
[FAQ10982]如何内置多张静态壁纸(图片)到系统中
[DESCRIPTION]系统默认只有一张内置的静态壁纸,如如何修改可以内置多张静态壁纸?[SOLUTION]Note:静态壁纸的宽、高必须是:宽 = 屏幕分辨率的宽*2,高 = 屏幕分辨率的高 N/M/L版本:1.在Launcher3/WallpaperPicker/res/drawable-xxx 的文件夹下增加wallpaer的图片,每个wallp原创 2017-08-29 17:50:46 · 819 阅读 · 0 评论 -
[FAQ12506]如何实现壁纸不随着workspace的滑动而滑动
[DESCRIPTION]如何实现壁纸不随着workspace的滑动而滑动 [SOLUTION]在Workspace.java中把调用updateOffset的地方全部注释掉。原创 2017-08-29 18:50:58 · 348 阅读 · 0 评论 -
[FAQ11627]Launcher3如何实现壁纸居中?
[DESCRIPTION]Launcher3如何实现壁纸居中? [SOLUTION]Launcher3的Wallpaper显示是动态的,与Launcher预置桌面屏数有关,只能确保第一次开机时壁纸居中。如果用户修改桌面数目,就无法让壁纸仍然居中。以默认只有1屏为例:请修改Launcher3的Workspace.java的updateOffset方法,如下:原创 2017-08-29 18:53:51 · 560 阅读 · 0 评论 -
[FAQ16698]Power Control Widget UI界面正常,但是点击图标很久才有反应
[DESCRIPTION]开机后将Power Control Widget从AppWidget列表拖放到桌面上,再拖动其他AppWidget(例如Facebook Widget)到桌面。马上点击Power Control Widget的Wifi、蓝牙、背光等图标,要等很久时间才响应。[SOLUTION] 原因:ActivityManagerService的broadca原创 2017-08-29 18:56:23 · 288 阅读 · 0 评论 -
[FAQ16697]第一开机或者恢复出厂设置后,桌面小部件很长时间才更新到正常的画面
[DESCRIPTION]第一开机或者恢复出厂设置后,桌面小部件(以Power Control Widget为典型)很长时间才更新到正常的画面[SOLUTION]原因:开机后有很多广播在处理(尤其在安装GMS包的情况下),影响了广播APPWIDGET_ENABLE和APPWIDGET_UPDATE(background broadcast)的分发速度。解决方法:原创 2017-08-29 18:58:06 · 400 阅读 · 0 评论 -
[FAQ14357]MT8127/MT8163 如何开启WITH_PREODEX功能
[DESCRIPTION] 开启WITH_PREODEX之后,如果内置apk过多,会导致systemimg增大,有可能编译不过,所以需要调整system partition size。 [SOLUTION] 1. 修改device/mediatek/$(project_name)/BoardConfig.mk,即添加WITH_DEXPRE原创 2017-08-29 19:03:20 · 805 阅读 · 0 评论 -
[FAQ17385]录像打开EIS后画面变的突然很暗
[DESCRIPTION] 录像打开EIS后,画面变得很暗. [SOLUTION] [MT6735/53,MT6755,MT6732/52] 1. 没开EIS, recording是动态帧率. 2. 打开EIS后, recording是固定帧率为30fps. 帧率固定以后,画面会变暗.原创 2017-08-29 19:05:38 · 1314 阅读 · 0 评论 -
[FAQ18200]Android M 第三方camera APK, preview video偏暗
[DESCRIPTION] Android M 版本第三方camera APK下,preview/video偏暗,帧率被固定在30fps, shutter 不能更新。 [SOLUTION] Andoird M中,在MtkDefaultCamParameter.cpp 中的setParameters函数会去吃config.ftbl.xxxmip原创 2017-08-29 20:09:07 · 1933 阅读 · 0 评论 -
[FAQ18418]三方APK录像preview偏暗
[DESCRIPTION] 三方APK录像时候preview偏暗,一般是因为有将帧率固定为30帧,是否设置了固定帧率可以看是否有类似以下的log打印出来,其中m_i4AEMinFps = m_i4AEMaxFps:058894 01-01 00:13:29.409972 343 992 D ae_mgr : m_i4AEMinFps: 300 m_i4AEM原创 2017-08-31 10:37:35 · 613 阅读 · 0 评论 -
[FAQ14802]插入耳机,倒计时拍照时,耳机跟speaker都可以听到倒计时声音
[DESCRIPTION] 插入耳机, 进入camera,进入Settings,设置倒计时为2s,点击拍照,倒计时声音从耳机和speaker同时出来。[SOLUTION] 如果希望倒计时声音仅从耳机出来,请如下修改:alps\packages\apps\Camera\src\com\android\camera\bridge\SelfTimerManager.原创 2017-08-31 10:46:17 · 414 阅读 · 0 评论 -
[FAQ20244]在apns-conf文件中配置一个read_only字段,使APN不可被编辑
[DESCRIPTION] 如果有需要在apns-conf中配置一个新的read_only字段,并使其生效,比如使得APN不可被编辑。可以最如下的修改。 [SOLUTION] 一、使新添加的字段能成功的读取到telephony.db数据库中 1、TelephonyProvider.java文件中的createCarriersTable原创 2017-08-31 10:49:00 · 708 阅读 · 0 评论 -
[FAQ09394][NW]网络运营商名称显示&SIM名称显示
[DESCRIPTION] 网络运营商名称显示 源 介绍 [SOLUTION] 一 网络名称显示这部分比较复杂,Spec对这也有明确的规定,根据其优先级由高往低介绍(其优先级参考TS 22.101),1. Enhanced Operator Name String,也就是Eons。此种方式的名称是存放在EF_PNN(PLMN Networ原创 2017-08-31 11:00:46 · 806 阅读 · 0 评论 -
[FAQ09809][NW]运营商名称支持多语言
[DESCRIPTION]运营商的名称显示,和多个方面有关系,在阅读本FAQ之前建议先参考“FAQ09394 [NW]网络运营商名称显示&SIM名称显示” 如FAQ09394所讲,运营商名称有4种来源,这里讲到的只会是第4种,也就是存储在xml中的,也只有用这种来源显示的名字才能扩展成支持多语言。那在xml中的,只有一种显示语言,就是spn这个字段的内容,如果切换语原创 2017-08-31 11:09:01 · 415 阅读 · 0 评论 -
[FAQ09811][NW]如何区分MNO和MVNO
[DESCRIPTION]MVNO(Mobile Virtaul Network Operator)虚拟网络运营商,没有自己的实体网络,通过租用MNO(Mobile Network Operator)的网络来提供网络服务。我们知道Spec规定operator之间是通过MCC/MNC (Mobile Country Code/Mobile Network Code)来区分的;而MVNO和对应原创 2017-08-31 11:48:32 · 1548 阅读 · 0 评论 -
[FAQ11783][NW]MVNO忽略国内漫游(ignore national roaming)
[DESCRIPTION]有些地区的MVNO(Mobile Virtual Network Operator)和国内各MNO(Mobile Network Operator)签订了协议,使用国内所有MNO的网络不算漫游,所以需要判定如果MVNO的卡注册上国内的plmn,则忽略漫游 [SOLUTION]上层Ap判定roaming的方法是GsmServiceStat原创 2017-08-31 11:51:43 · 302 阅读 · 0 评论 -
[FAQ08919][NW]网络运营商名称显示规则(锁屏界面,下拉列表)---网络名称 客制化方法 和 问题处理flow
[DESCRIPTION]Android系统中 网络运营商名称显示 原理是什么,如果遇到显示不符合需求的问题该如何处理 [SOLUTION] 一:Background & 相关flowMTK Operator name display在手机中分成两种类型:1. Sim卡名称:根据开机从SIM卡中读取的EF_SPN文件的内容(如果EF_SP原创 2017-08-31 11:54:59 · 824 阅读 · 0 评论