- 博客(125)
- 资源 (10)
- 收藏
- 关注

原创 Ubuntu配置开发Android系统环境(工欲善其事必先利其器)
不积跬步无以至千里 当你到了新公司或者由于某些原因需要更换电脑,一个很头疼的事就来了——重新装系统,需要配置自己喜欢、熟悉的环境,因为只有“武器”用的得心应手才能编写出优质的代码。配置软件环境上来说相对于android App开发来说,Android Rom开发的配置环境更显复杂,重新配置环境其实还是有点挠头的事,有可能你突然会感觉不知道从何入手?因此这里最好有一个属于自己的os镜像...
2019-11-06 16:50:57
1029
2

原创 adb 常用命令总结
不积跬步无以至千里adb shell ps 查看进程信息adb shell ps | grep 包名 过滤某个进程的信息,可查看进程idadb shell kill 进程号id 杀死某个进程号Id对应的进程...
2019-07-03 21:03:14
814

原创 Android 系统开发小技巧
不积跬步无以至千里1.杀死SystemUI进程,不用重启:adbshellps|grepsystemui|awk'{print$2}'|xargs-tladbshellkill2.不能push文件(user-debug)adbrootadbdisable-verityadbreboot3.过滤查看进程信息(进程号的变化)...
2019-06-12 19:15:54
665

原创 Ubuntu新安装系统android手机通过adb找不到设备
不积跬步无以至千里 新安装了Ubuntu14系统,插上android手机打算去测试一下修改的代码,发现通过adb device,结果显示device not found。因此感觉Ubuntu应该需要和Windows系统一样(Windows会当你第一插上手机然后会加载驱动,安装驱动)之样的操作,因此网上一搜大部分都是让通过下面这个方式1.在/etc/udev/rules.d/添加...
2018-04-19 13:37:39
536

原创 Ubuntu移动硬盘的挂载(临时、永久挂载)
不积跬步无以至千里 为什么要挂载移动硬盘呢?是因为本身电脑内存不够大,想要把移动硬盘当做一个存储代码的内存,因为下载android7.1代码就要占用78.5G,然后再生成out目录将会占用更多的内存,因此需要一个外存储设备。为什么需要让移动硬盘挂载?是因为当你真想把这个移动硬盘当做内存来使用的时候,系统会提示你权限不够,当你加上sudo的时候,又提示你没有这个命令。因此此时你需...
2018-04-16 16:45:01
13674
1

原创 adb 命令获取当前界面的位置
不积跬步无以至千里 通常以前都是通过as中的插件monitor来获取当前界面或者组件是哪个应用哪个界面的,接下来告诉大家如何通过adb命令来获取。一、dumpsys 命令1、当是普通的界面显示时(非窗口),命令如下:adb shell dumpsys activity |findstr "mFocus"adb logcat | grep "START u0"测试...
2018-03-16 19:03:01
7043

原创 Linux 常用命令
不积跬步无以至千里 命令如下:1、进入:cd2、退出:cd .. 或者cd ../../3、回到android目录下:croot4、查看文件内容:cat + 文件路径5、编辑文件:vi + 文件路径6、查看当前进程(实时):top7、杀死某个进程(进程号):kill -9 +进程号8、给文件权限:chmod 777 +文件路径9、操作增加权限:...
2018-01-24 08:59:28
469

原创 git 命令常用总结
不积跬步无以至千里一、提交代码遇到问题: 回退问题: 1、当你git add 提交代码后想回退掉文件(commit之前)可以用: git reset HEAD 文件路径 2、当你git add 提交代码,并且已经commit了,怎么回退? git rm +文件路径 git commit 即可(这个会把文件删除掉,所以需要删之前把自己的这个文件保存下来) 把上面保存下来的文件,修改好之后
2017-12-15 11:27:29
577

原创 adb shell ——通过adb开启应用、获取SystemProperties值
不积跬步无以至千里 adb shell 命令 PC端通过命令行去开启你手机上的应用来控制你的手机(然后是通过开启某个应用的Lanucher界面即可): adb shell am start -n com.qualcomm.factory/com.qualcomm.factory.Framework.Framework 其中的am就是ActivityManager的意思 start 就是开
2017-09-05 16:21:15
5749
2

原创 通过CRT查找某个文件所在路径
不积跬步无以至千里 有时候我们做系统开发,会有这样一个场景,出现了一个bug,所以会通过hierarchyviewer工具发现了当前界面的路径,但是知道的当前界面的简要路径(工程内的类名),所以还需要查找当前在系统的真正路径,如果你不熟悉当前系统会很难找到当前路径的位置,所以会需要搜索,但是在开源代码里又找不到,有可能这套代码针对你自己的项目,但是项目比较大,文件比较多,这时候你如果用界面化的Wi
2017-08-25 09:55:33
4144

原创 android系统版本代码的下载、编译及发布
不积跬步无以至千里一、代码的下载 1、创建文件夹 在服务器的个人账户下创建一个此系统版本的专用文件夹(F9)(事先声明这是Q9的项目) mkdir F9 2、设置git信息 git config –global user.email wangdongyu@ucinix.com git config –global user.name “wangdongyu” git
2017-08-16 14:20:51
1099

原创 Linux服务器的安装配置流程
共勉----不积跬步,无以至千里。贴士:因为是装在Ubuntu系统上,其中有几个常用的命令告诉大家,下面在操作中你也会见到如下等命令 sudo gedit +文件目录 对某个文件进行编辑和vi命令差不多,因为好多系统文件是只读的,可通过此方式来进行编辑修改 sudo nautilus 执行完这个命令,就会弹出一个系统目录窗口,你就可以用这个窗口就...
2017-04-19 15:26:26
2287
原创 SystemUI 勿扰模式下来电通知栏不显示通知
不积跬步无以至千里一.前摘 当你开启勿扰模式的时候,此刻你肯定不想被打扰,无论是声音还是显示上,那此时的来电通知会怎样呢?毕竟来电通知是一个非常重要的通知,那它是在勿扰模式中怎么被处理的呢?二.正文 其实SystemUI的通知是有一个专门管理通知数据的类NotificationData,这里有对通知是否需要在通知栏中是否显示出来会有过滤的操作。代码路径:app/src/com/android/systemui/statusbar/Notificat...
2020-07-24 12:32:26
1114
原创 SystemUI 如何判断当前界面显示的为全屏界面?
不积跬步无以至千里一.前摘 怎么判断当前的用户处于全屏模式呢?处于全屏模式当中即是状态栏处于沉浸状态,而往往此时用户其实是不想被打扰的。因此可以针对当前如果用户处于全屏模式下,我们做一些勿扰模式的一种行为,类似于当处于全屏模式我们就不再弹出全屏通知等等。二.正文现在我们判断全屏模式肯定是因为状态栏的沉浸式出现的,因此我们就以此为突破口,查看SystemUI的源码中怎么控制状态栏的消失的?代码路径:app/src/com/android/systemui/statu...
2020-07-16 18:18:52
655
原创 SystemUI 解锁界面新增返回按钮
不积跬步无以至千里一.前摘查看现在最新的竞品手机你就会发现解锁界面一般不会再显示虚拟按键了,我感觉是感觉此界面更想是全屏界面,不想把布局给到虚拟按钮的布局上,因此这里去掉虚拟按键这个布局显示,自然就需要添加一个返回按钮来代替此功能。二.正文关于这个button怎么布局,以及什么样式我就不说了,因设计而异,这里说一下如果实现这个和虚拟按键一样作用的back键的处理。1.让我们看一下SystemUI本身是怎么处理的,其实就明白了,因为解锁界面属于statusbar,因此我们看一下stat
2020-07-15 17:52:39
483
原创 SystemUI 锁屏界面显示的充电“还需几小时充满”提示语
不积跬步无以至千里一.前摘 项目说客户有个需求就是把这个充电还有多长时间才能充满的提示语去掉,因为这个多长时间才能充满的时间从底层获取的时候受此时充电的电流的大小会有影响,然后会出现充电剩余时间忽大忽小的现象,因此这里建议去掉。二.正文 这里的锁屏的充电提示语利用的是锁屏第一界面的控件KeyguardIndicationTextView,通过这个控件进行消息的提示,让我们直接上才艺。代码路径如下:app/src/com/android/syste...
2020-06-28 18:01:20
816
原创 SystemUI 关于闹钟、来电通知在锁屏与非锁屏状态以及全屏界面的修改
不积跬步无以至千里一.前摘 来电的通知在谷歌原生机器中的逻辑处理是锁屏界面显示来电全屏通知,非锁屏界面显示的是悬浮通知,
2020-06-28 12:18:36
843
原创 SystemUI 解密通知如何显示为普通通知,悬浮通知还是全屏通知
不积跬步无以至千里一.前摘 系统来了一条通知,此时通知会有三种方式呈现:普通通知,悬浮通知,全屏通知。普通通知:就会显示在通知栏中,只有通知栏显示的时候才会显示出来。悬浮通知:会直接显示再屏幕的顶部中间通知View。全屏通知:直接显示一个全屏的界面。二.正文我们就从代码逻辑中讲解吧。代码路径如下:/app/src/com/android/systemui/statusbar/NotificationEntryManager.java1.新增通知...
2020-06-25 17:32:39
873
原创 SystemUI 解密悬浮通知上滑后不显示悬浮通知的原因
不积跬步无以至千里一.前摘 在使用手机时,你会发现来了一条悬浮通知,然后上滑此悬浮通知消失,当你再接收到此悬浮通知时,但是并没有显示悬浮通知,其实细心的能发现过一会就能恢复了。二.正文...
2020-06-24 23:40:08
1014
原创 SystemUI 新增功能“通知亮屏”
不积跬步无以至千里一.前摘 最新项目来了个新需求就是当来新通知的时候需要亮屏,方便直接看到最新的通知,也算合理。二.思考 这里来新通知的情形从逻辑上来说,一是新来了一条通知,二是更新通知。三.修改代码路径:app/src/com/android/systemui/statusbar/NotificationEntryManager.java public NotificationEntryManager(Context context)...
2020-06-24 16:37:33
696
原创 SystemUI QuickSettings之手电筒低电量禁止开启
不积跬步无以至千里一.前摘 近期项目有个需求,就是当手机电量低于15%时候,此时QuickSettings中的手电筒功能是不能开启手电筒的,因为此时电量已不够用了,继续使用手电筒就加速了电池电量的消耗,因此这个需求也是合理的。二.修改代码路径:app/src/com/android/systemui/qs/tiles/FlashlightTile.javaimport static android.os.BatteryManager.EXTRA_LEVEL;p...
2020-06-24 11:50:24
678
原创 Android源码中添加高斯模糊背景-毛玻璃
不积跬步无以至千里 由于系统中多处使用了高斯模糊处理的背景效果,这里感觉也算一个有b格的设计,因此把实现记录下来,而且多数的处理是基于上层的添加方式,这里说一下源码下的整个流程.1.配置Android.mk配置其中所需要的库,以及RenderScript所依赖的环境LOCAL_STATIC_JAVA_LIBRARIES += androi...
2020-06-09 16:11:41
545
原创 SystemUI 双击Power键启动相机
不积跬步无以至千里一.前摘 有个同事问我双击启动相机的逻辑SystemUI的入口在哪?我因为之前搞过启动相机与人脸识别的冲突问题,所以对这块还是比较了解的。因此记录一下,来告诉对这块比较发闷的童鞋。二.分析 分析就不分析了,直接把我上次的写的文章拿过来,其中的分析在这篇文章有体现,否则再重新写一遍也没有什么意思,你说是不是? 双击power键启动相机的逻辑:https://blog.youkuaiyun.com/WDYShowTime/article/...
2020-06-01 17:13:03
638
原创 SystemUI 解决密码输入界面与锁屏界面重复(原生系统同样存在)
不积跬步无以至千里一.前摘 层叠效果如上图,其实我们前边已经写过优化类似的场景文章:优化锁屏解锁界面层叠问题 ,这里是对这种场景的补充。这种场景是点击自定义通知里面的控件有会启动一些Activity这种场景,因为此时在锁屏的状态下,所以需要先去解锁才能启动某些界面,然后这里会导致界面重叠的情形。二.分析与解决 通过在Bouncer界面的show方法中打印调用栈,查到了此调用的逻辑,调用的逻辑如下:app/src/com/android/systemui...
2020-05-30 18:05:03
571
原创 SystemUI 密码解锁界面点击屏幕不亮屏
不积跬步无以至千里一.前摘 熟悉SystemUI模块的童鞋应该知道,SystemUI大部分都是window窗口的各大布局,然后出现不同的场景,而这里做的亮屏操作也是自己做的处理,这里测试就提出了一个bug。bug描述如下:在密码解锁界面当屏幕处于半亮屏状态,你去点击非输入密码区域,并不能重新点亮屏幕。二.分析1.怎么点亮屏幕? 通过观察发现SystemUI中各大对应的功能布局都是自己进行处理进行的亮屏操作,SystemUI经常通过如下逻辑实现亮屏。...
2020-05-25 20:14:32
384
原创 SystemUI 长按POWER键弹出关机等图标,有时候会抖一下
不积跬步无以至千里如果同样存在此问题,可以参考如下修改,这里废话不多说,直接上才艺。修改如下两处:1.app/res/layout/global_actions_column.xml<!--modify start--><!--android:paddingTop="@dimen/global_actions_top_padding"--><!--android:gravity="top | right"--><!--modify end--
2020-05-25 19:30:13
489
原创 SystemUI 应用的通知设置了悬浮通知几秒后消失
不积跬步无以至千里一.前摘 测试这两天提了一个闹钟通知的bug,描述是:闹钟响铃,出现小卡片,等待5S左右,隐藏。而闹钟的同事说它已经设置了闹钟一直显示的属性,以及设置闹钟的fullscreenIntent,让我们SystemUI模块查看是否有问题?二.分析悬浮通知的显示流程简介app/src/com/android/systemui/statusbar/AlertingNotificationManager.java1.显示悬浮通知/** * Cal...
2020-05-25 19:00:31
718
原创 SystemUI 锁屏下拉状态栏困难的分析与解决方案
不积跬步无以至千里一.前摘 最新的手机项目上锁屏状态中下拉状态栏虽然已经下拉了很大距离但是状态栏还是会收回去,而且频繁的下拉还是收回去,所以这里是个很不好的体验...
2020-04-22 23:35:39
612
原创 SystemUI 灭屏没有声音或者说上锁没有声音
不积跬步无以至千里一.前摘在我们平时使用手机时,在你灭屏上锁或者解锁的时候都会有一个声音提示你当前的上锁状态。但是此时出现了此时的bug:屏幕解锁可以听见解锁的声音,而屏幕灭屏的时候听不见灭屏的声音。二.分析锁屏上锁的声音以及解锁后的解锁声音都是在SystemUI里的功能逻辑,我们看一下代码逻辑。路径如下:app/src/com/android/systemui/key...
2020-04-21 16:50:25
429
原创 SystemUI android10.0禁止状态栏下拉
不积跬步无以至千里一.前摘 其实这里禁止状态栏的下拉是我们经常遇到的一些功能需求场景,其实前边的场景我们也有写过一篇文章 SystemUI Android7.1禁止锁屏下拉状态栏,而这种修改是处理当处于锁屏第一界面时的禁止状态栏的下拉或者弹出,而其中还有一篇文章说明了怎么平台提供的接口如何禁止状态栏的下拉:https://blog.youkuaiyun.com/WDYShowTime...
2020-04-18 20:16:07
2527
原创 SystemUI 修改电量低于多少出现低电量通知弹框
不积跬步无以至千里一.前摘 咱们使用手机电量比较低的时候,都会通过在手机顶部上显示一条低电量的悬浮通知来提醒你此时的电池电量不足请注意用电或者及时充电,如下图,原生的系统是电量低于15%则会弹出此弹框,如果你想修改到18%就去提醒用户,那么接下里我们说一下。二.分析这里类也是继承了基础抽象类SystemUI,这里通过广播监听电量变化,然后相当于电量从16变成15...
2020-04-11 19:33:07
1148
原创 SystemUI 优化锁屏解锁界面层叠问题
不积跬步无以至千里一.前摘 其实前边有一篇文章就是解决其中一个情形的此问题(锁屏点击通知解锁界面重叠),而现在又出现了一种情形就是锁屏状态中下拉状态栏点击一些快捷设置中的一些按钮同样会出现解锁界面与第一界面重叠的问题,其实分析与上篇(锁屏点击通知解锁界面重叠)的分析是一样的,都是因为锁屏第一界面在显示解锁界面的时候并没有收起来导致的,因此我们这里就直接上修改的代码了就不再重...
2020-04-10 19:31:10
845
原创 SystemUI 10.0设置SIM卡锁,重启手机,解SIM卡锁之后点击返回,锁屏界面显示空白
不积跬步无以至千里一.前摘 这个bug是属于在SIM卡解锁的一种情形下产生的,其中的原因有在解锁界面中PIN、Pattern、Password中去掉了导航栏的back键并添加了返回键,其实在自测过程中发现如果不去掉导航栏,也会在这个界面出现的,是偶现出现导航栏,点击back键同样都会出现此问题。这里返回按钮处理是模仿的back键的点击逻辑处理。二.现象与分析其中...
2020-04-06 23:34:22
624
原创 SystemUI 下拉控制中心,长按通知点击“关闭通知”,点击空白处,再点击“关闭通知”无作用
不积跬步无以至千里一.前摘 这里是android10.0原生的bug,应该是原生系统考虑没那么全面导致此问题,这里出现此问题的原因是原生没有考虑点击窗口的空白位置时出现的逻辑问题。二.问题原因经过对代码的逻辑进行分析发现:这里当点击对话框的空白处或者按back键时未能正常的恢复对话框是否显示的标志位以及重置长按通知的效果导致的此问题,本来此标志位是为防止重复去显...
2020-04-05 00:43:47
1442
原创 SystemUI 如何控制锁屏显示多少条通知
不积跬步无以至千里一.前摘 手机屏幕一亮屏就会显示出最新的通知消息,所以咱么可以快速的看到最新的消息,那么是我们看到的消息越多就会越好吗?答案当时是“否”,因为锁屏的通知有敏感与不敏感之分就是安全不安全,因为有些通知不会让直接在锁屏上显示,而且重中之重的是现在市面上的手机上都会在锁屏上做一些运营的东西,在锁屏的背景上做一些壁纸,或者在锁屏靠底的部分会有一些新闻链接,然后就...
2020-04-02 00:23:00
628
原创 SystemUI 上滑解锁困难容易失败的分析与解决方案
不积跬步无以至千里一.前摘 我们玩手机的经常的一个行为就是亮屏,向上滑动屏幕然后到解锁界面输入密码然后解锁,而今天我们遇到的这个问题就是向上尝试滑动了好几次都没有到锁屏解锁界面,这个问题会让用户非常苦恼,这不是耽误我的时间吗?因此这个问题对用户的产品体验影响还是很大的。因此我们今天就要解决这个问题。二.分析 这里滑动解锁的逻辑在哪呢?通过寻找代码逻...
2020-03-31 18:15:57
1853
2
原创 SystemUI Monkey测试原生代码报错:MLand类ArrayIndexOutOfBoundsException
不积跬步无以至千里这里是原生代码逻辑在跑monkey测试出现的问题1.monkey报错log如下Process: com.android.systemui:sweetsweetdessertsjava.lang.ArrayIndexOutOfBoundsException: length=10; index=-1at java.util.ArrayList.get(ArrayLi...
2020-03-29 13:25:30
437
AndroidStudio 快捷键等配置文件
2019-10-28
android6.0 系统应用之Music
2017-09-20
Java电影购票
2017-09-09
android.6.0 DeskClock (支持按键处理)
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人