自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (7)
  • 收藏
  • 关注

原创 android4.4屏幕开机默认横屏

1.动画横屏:frameworks/base/cmds/bootanimation/BootAnimation.cppstatus_t BootAnimation::readyToRun() { mAssets.addDefaultAssets(); sp<IBinder> dtoken(SurfaceComposerClient::getBuiltInDisplay( ISurfaceComposer::eDisplayIdMain));

2021-06-15 10:39:44 1363 1

原创 android9.0 默认apk权限添加

1.默认赋予全部权限:安卓动态要求用户允许添加权限,直接将如下代码中的final boolean grantPermissions = (args.installFlags& PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS) != 0;改为final boolean grantPermissions=true便可。文件路径:framework\base\services\core\java\com\android\server\pm\Packa

2021-06-09 19:12:42 790 2

原创 android 9.0背光调节流程

1.背光服务框架如下图是背光框架层图2.UML时序图这里主要标出的是各个服务或者框架层之间连接的api,中间会省略一些调用流程。如下图,PowerManagerService会监听SettingProvider的亮度背光值screen_brightness变化,然后进行背光调节。该图主要是一些服务之前的通信。Jni层访问过程如下图:jni通过hidl直通式访问light库,对hardware层light库会访问对应的sys节点从而进行背光驱动的访问,最终达到调节背光的目的。注意点:

2021-05-31 10:26:57 2348

原创 android触摸点上报伸缩问题

当在调试触摸板的时候发现触摸的上报值到android系统层x轴的触摸点会有压缩,这是是由于触摸屏的的触摸的倍数跟显示缓冲区有关系。在调试特殊的屏幕分辨率时,如果你的显示framebufferr跟你的显示屏的分辨率没有对应上,那么你触摸也会有问题,例如显示屏的分辨率为480800,而你的缓冲区只有268800的时候,如果这时候你的触摸屏配置的分辨率为480*800,那么触摸上报的x轴坐标的点也会被压缩268/480≈0.55倍。相关压缩的代码代码如下:路径:framework\native\service

2021-05-27 15:44:34 537

转载 android8.0之前的BatteryService

##转载###版权声明:本文为CSDN博主「sanzhong104204」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq759981398/article/details/73155782【注意】本文在原作者的基础上做了一些补充本文进行第一层分解,将整个电池电量上报的过程分解到Android的不同层次。先上一幅图,对电量上报的流程有个整体的概念,后续对该图的各个部分进行讲解。如图中所述,整个电量上报过

2021-05-26 17:33:57 253

原创 AudioService

1.AudioService主要在java层主要有三个方面的作用:(1) 音量管理(2) 音频设备管理(3) AudioFocus(音频焦点)机制2.类图关系如下由上图可知:AudioService继承由IAudioService.aidl自动生成的IAudioService.Stub类,并实现IAudioService.Stub对应的相关方法,此处AudioService位于Bn端,即服务端。AudioManager是AudioService在客户端的一个代理,位于Bp端。对Audi

2021-05-26 15:08:00 1902 2

原创 Powerkey长按弹出关机界面

**1.流程**上层按键的处理一般都在base\services\core\java\com\android\server\policy\PhoneWindowManager.java的interceptKeyBeforeQueueing进行拦截。下面是长按电源键时弹出关机界面的流程。主要函数private void powerLongPress() { //获取配置文件中config_longPressOnPowerBehavior值,一般都是默认为LONG_PRESS_POWER_GLO

2021-05-24 17:56:54 1164 6

原创 Android性能分析之emmc坏块测试

1.android 支持emmc 坏块测试工具代码路径:./external/e2fsprogs/misc/badblocks.cAndroid.bp编译方式:./external/e2fsprogs/misc/Android.bp//########################################################################// Build badblockscc_binary { name: "badblocks", ho

2021-05-20 18:18:53 4040

原创 android性能之emmc速率分析

1.分析起因:在开发过程中,在打算更换一个emmc(16G的容量储存)物料时候,发现该物料烧录固件的时候速度十分慢。后来通过android bench的性能测试工具发现两者存在明显的速度差异。(1)烧写固件速度正常的emmc测试速度如下图:(1)烧写固件速度异常的emmc测试速度如下图:从上面看出明显,在软件相同的情况下,在顺序写的时候,烧写固件速度异常的emmc的写速度比烧写固件速度正常的emmc慢了四倍。因此可以得出结论:烧写固件速度异常的emmc有问题,应该是该物料不合格,后来询问物料来

2021-05-19 13:37:42 7080 3

原创 android手势返回操作检测

近期项目由于没有预留硬件返回按键,所以只能做成跟全面屏一样的左滑返回的手势逻辑。实现方案:1.参考android官方文档,https://developer.android.google.cn/training/gestures,针对apk层面的监听可以用,这样子做就需要所有的apk页面都需要监听,如果是自己设计的apk还可以,但是第三方apk则不能监听,无法实现返回。framework/base\core\java\android\view\GestureDetector.java中接口监听 pu

2021-04-08 18:51:15 1903 1

原创 rk3326 MIPI休眠唤醒黑屏有背光问题

**1.问题现象:****【开机起来】**开机起来可以正常显示**【按power按键休眠】**第二次按下Power按键进入休眠,隔10s,再按Power按键唤醒。**【出现结果】**屏幕黑屏有背光,并提示drm time out错**【lcd信息】**lcd为480*800 2lane的mipi**【复现概率】**第二次按下休眠唤醒必然复现【具体错误log如下】//第一次休眠的log//[ 54.858511] dw-mipi-dsi ff450000.dsi: final DSI-

2021-03-26 12:03:25 2650

转载 [摘抄]adb shell调试系统命令

获取系统默认输入法adb shell settings get secure default_input_method更改默认输入法(改为com.sohu.inputmethod.sogouoem/.SogouIME)adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME获取亮度是否为自动获取adb shell settings get system screen_brig

2020-12-22 16:43:55 1358 1

原创 RK3128 UBOOT-logo显示的坑

问题描述:在调试mipi接口的显示屏的时候出现如下两种情况,(1)在设备树arch\arm\boot\dts\rk3128-box-rk88.dts中配置在uboot阶段显示logo,会出现程序跑飞。(2) 在在设备树arch\arm\boot\dts\rk3128-box-rk88.dts中配置在uboot阶段显示logo后,出现显示异常,颜色过度不自然,颜色不纯有色块等,并且通过PQ调试也无法解决。阶段uboot阶段显示logo设备树配置如下:&fb { rockchip,d

2020-09-22 15:30:27 1941 3

转载 MTK进入系统界面后不再打印串口log

【问题描述】UART Log是Targe端Linux kernel透过UART硬件以固定的波特率传输到PC端的一种log方式,这种方式由于在操作过程中的一些lock机制以及硬件传输的限制会在较大程度上影响系统的Performance,严重的时候可能达到20%的程度,甚至可能卡住系统导致重启。UART Log在USER版本上是默认关闭的,ENG版本则默认打开。由于UART Log对Performance有影响,所以对于一些Performance的测试我们都会要求关闭UART log进行测试对比。在某一些问

2020-09-02 19:34:17 1424

转载 ##转## Android overlay机制

https://www.jianshu.com/p/d465289904a9

2020-08-31 14:11:38 136

原创 安卓编译属性添加

https://blog.csdn.net/winceos/article/details/21086319(1)在/build/core/Makefile中定义变量(2)在Makefile执行脚本build/tools/buildinfo.sh编译到build.prop中可以添加属性的位置:(1)buildinfo.sh脚本中(2)system.prop中添加

2020-07-24 16:03:05 112

转载 ###转####LDR指令

作者:嵌入式大玩家链接:https://www.jianshu.com/p/66d801c85ee9来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。LDR指令的格式:LDR{条件} 目的寄存器 <存储器地址>作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。LDR指令的寻址方式比较灵活,实例如下:LDR R0,[R1]

2020-07-24 15:05:47 419

原创 lk传递内核参数解析

参考链接:https://blog.csdn.net/skyflying2012/article/details/41142801(1)早期参数解析:parse_early_param(init/main.c)—>parse_early_options(tmp_cmdline)—>parse_args(“early options”, cmdline, NULL, 0, 0, 0, do_early_param);parse_args函数实现如下:.路径:/kernel/params.

2020-07-24 14:57:36 703

原创 触摸上报framwork层

参考学习链接:https://www.jianshu.com/p/34f5c7d55337https://www.jianshu.com/p/d22d86cb04c7路径:./frameworks/native/services/inputflinger/EventHub.cppEventhub利用方法getEvent获取input/event事件Eventhub:size_t EventHub::getEvents(int timeoutMillis, RawEvent* buffer, si

2020-07-24 14:33:58 237

转载 #转#perl多个版本切换

链接:https://perlbrew.pl/Perlbrew-%E4%B8%AD%E6%96%87%E7%B0%A1%E4%BB%8B.html

2020-07-13 15:54:49 642

转载 转载分享:Android8.0 连接需要认证的WIFI或不可用的WIFI后自动断开数据流量连接的实现

此文章原文连接:https://blog.csdn.net/XCF95319605/article/details/81258834来自博主:Felix1120Android8.0 连接需要认证的WIFI或不可用的WIFI后自动断开数据流量连接的实现前言:Google原生对Android系统的设计为,当用户接入一个可以正常上网的WIFI网络以后,会自动切断数据流量的链接,但是,若当用户接入了一个需认证的WIFI,如:机场或运营商提供的连接后需要进行登录验证身份的WIFI时,当跳转到认证界面(特定的we

2020-07-08 09:48:04 758

原创 Android6.0 camera个数探测

近期在排查打开摄像头黑屏的问题,然后就跟了一下android camera的框架。根据log分析发现是camera个数为0,然后就进行代码流程跟踪。由于开发平台是mtk平台,log提示上层报错的对应代码逻辑如下图。mCameraService是ICameraService接口类型。获取服务的名称如下:并且是通过aidl跟底层c++通信。frameworks/base/core/java/android/hardware/ICameraService.aidl/* * Copyright (

2020-05-16 16:16:12 2199

原创 android9.0内部储存链路

链路如下:storage/sdcard0--->/sdcard/sdcard -> /storage/self/primary/storage/self/primary -> /mnt/user/0/primary /mnt/user/0/primary -> /storage/emulated/0最终都是链接到/storage/emulated/0目录下...

2020-05-12 21:22:14 2068

原创 linux系统LCD驱动(三):mtk lcd驱动lcm的加载以及初始化

上一篇博文(linux系统LCD驱动(二):mtk lcd驱动fb_info初始化)https://blog.csdn.net/Ian22l/article/details/105929192 提到mtkfb_probe除了进行fb_info的初始化外,还进行lcm的初始化以及lcm底层驱动的接口获取。static int mtkfb_probe(struct platform_device *...

2020-05-05 14:54:39 2577

原创 linux系统LCD驱动(二):mtk lcd驱动fb_info初始化

这一篇博文承接上一篇博文“系统lcd驱动(-)”(https://blog.csdn.net/Ian22l/article/details/105927936),这篇博文讲的是mtk的lcd驱动一部分。上一篇讲到在移植或者调试的时候需要填充fb_info对象信息并且进行register_framebuffer进行注册。那么mtk的lcd驱动便是实现这一部分的逻辑。首先从mtkfb_probe进行...

2020-05-05 11:43:23 1465

原创 linux系统LCD驱动(一)

出来工作两年,随着工作的深入,一直很少有时间写博客,并且随着工作各种零碎的调试,有时候很容易忘记自己所学的一些东西,近期就像用写博客来巩固自己刚入门时的一些基础知识以及往后学到的一些知识。linux系统lcd驱动也称framebuff驱动,驱动框架如下图:应用程序通过打开设备节点dev/graphics/fbX,然后通过字符设备访问的方式访问lcd驱动。fbmem.c便是向系统注册一个字符设...

2020-05-05 10:31:45 972

转载 有关DialogFragment控件使用

有关DialogFragment控件使用,可以参考如下这个链接的博客,写的十分详细。https://www.jianshu.com/p/0861ee5b9028

2020-05-03 12:44:40 140

转载 PopupWindow控件应用

popupWindow控件可以在任意位置弹出,比Dialog灵活,而且popupWindow还可以自定义弹出动画,更加美观,灵动。下面是效果图1,从按钮底下弹出按钮,并且点击按钮外便可取消。下面是从页面最底部弹出以及从最底部取消效果图xml布局主要的activity_main.xml文件<?xml version="1.0" encoding="utf-8"?><...

2020-05-03 11:40:31 211

转载 Dialog控件应用

Dialog的应用主要是用来弹出提示,例如错误提示,警告提示等等。下面是参考某github代码的效果:github源码:https://github.com/ansen666/AlertDialogxml布局:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.Constra...

2020-05-02 16:17:32 191

原创 progressBar控件使用

progressBar是进度条控件,主要分为圆形以及水平进度条,水平进度条是确定的,可以看到水平进度,圆形进度条是不确定的,不知道什么时候完成,就一直在那里转。这两者最典型的例子就是文件拷贝可以用水平进度条看到文件拷贝的进度,圆形进度条则主要使用在网络连接上,不知道网络连接成功的时间,就一直在那里尝试连接,可以显示一直在那里转。如下利用两个button控件进行加减水平进度条的实例:效果图x...

2020-05-02 15:42:50 2578

原创 checkbox控件使用

checkbox(复选框),用于多个选择选中或者多个选择不选等情况下使用,例如你喜欢吃的水果可有多种,或者都没有,也可以只有一种。checkbox控件其实就是一个button并附带一个可以检测目前是否被选中的状态变量isChecked,如果被选中isChecked为true,否则为flase.例如如下的效果图:xml布局activity_main.xml<?xml version=...

2020-05-02 12:23:34 3211

原创 RadioGroup控件使用

在只能进行单选的选择上面可以通过RadioGroup控件来实现,例如性别选择以及考试的单项选择题。xml布局如下:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/...

2020-05-02 10:36:49 2945

原创 EditText控件简单使用

EditText属性:xml代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"...

2020-04-28 23:10:03 355

原创 Button控件样式

第一步:新建文件得到一个select文件,需要将selector改为shape代码xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!--背景颜色--> <so...

2020-04-28 22:17:41 334

原创 TextView控件

TextView是初级控件主要用来显示文本,也可以显示html。(1)显示html格式String html="<font color ='red'>TextView 显示html字体颜色为红色</font><br/>";tv4.setText(Html.fromHtml(html));(2)设置阴影效果<TextView android...

2020-04-27 00:13:40 385

原创 安卓ui设计之动态添加view

在ui设计当中,有时候需要动态添加动态view。这时候安卓提供了一些动态添加view的接口。注意addView是相对ViewGropu来说的,单独的View没有addView方法。addView(View child) // child:添加的ViewaddView(View child, int index) // index:添加的View的索引addView(View chil...

2020-04-26 16:56:47 228

原创 安卓布局之framelayout

Framelayout布局:frameLayout为框架布局,该布局的特点为层层覆盖,即最先放置的部件位于最下层,最后放置的部件位于最上层。xml代码:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an...

2020-04-26 14:47:17 683

原创 安卓布局三大布局之RelativeLayout

理解:RelativeLayout就是相对布局的意思,相对布局就是相对某个元素为参考点来进行布局元素的摆放。1.属性含义: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInpare...

2020-04-25 00:25:41 695

原创 安卓升级包的制作以及解析升级

1.安卓升级包目录结构解压安卓升级目录结构:(图中是用vs code打开升级包文件结构图,升级包中多出来的arm.img,lk.img等镜像是mtk的一些定制化,安卓原生的升级包一般含有system.img,boot.img等镜像文件而已)2.安卓升级包升级流程从上面安卓升级包的目录结构中可以看出,有两个文件目录结构为:/META-INF/com/google/android/up...

2020-04-16 15:33:46 2935

原创 Android P 储存设备挂载

整体框架设计:kernel中会对sd卡以及u盘设备进行检测,当有设备拔插时通过uevent发送给用户空间的vold进程,vold进程接收并解析kernel的uevent信息。vold通过sgdisk与blkid获取设备信息。接着vold会通过某种机制通知到上层framework.上层有设备插入,等待上层framework下发挂载命令给vold。vold接收到挂载命令后调用exfat或者ntfs...

2020-04-07 18:15:22 1488

升级包testdhandng

/Users/gentle/Library/Containers/com.tencent.WeWorkMac/Data/Documents/Profiles/A0257CACC608B67049B501D862519B4E/Caches/Files/2022-05/CEBDA74CE02224992D6A4AD7A3E2632C/A58_S.D00_V1.30#d33811d694cd49daaaff29da5720d423-merge-sign-en

2022-05-26

用于测试下载的usblog

dddd

2022-02-18

PADSVX.0.exe

PAD精简版,支持windos8,10等系列,用于查看pcb

2021-06-15

windos下的pcm.rar转换工具

pcm转wav工具,主要用于抓取android pcm录音文件进行分析

2021-06-15

memtester工具

用于linux内存测试工具,适用于arm64版本

2021-06-15

s5k4ecgx_v26.rar

rk3326 v4l2框架的s5k4ecgx驱动,linux版本4.4

2021-06-15

make_ext4fs.rar

主要是make_ext4fs,mkimage工具,用于制作ext4镜像

2021-06-15

空空如也

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

TA关注的人

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