自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 使用高通解析ramdump tool 遇到的问题

高通解析ramdump的地址为:https://cap.qti.qualcomm.com在选取了对应的chipset和software product之后添加文件夹的时候,弹出提示:Unable to load Java Applet. Please use Internet Explorer or QCAP 2.0 with JRE installed.找了网上很多方法都没有...

2019-10-17 09:50:36 2700 3

原创 Android P 中selinux

说在前面,文章大部分参考https://source.android.com/security/selinux/。1.一些基本概念SELinux 运行的原则是:所有没有明确指定为allow的操作都会被拒绝。两种模式:Permissive mode, 会有denials的log,但是不会强制执行。在前期porting的时候可以使用这种mode。Enforcing mode, 会有...

2018-09-19 17:21:51 6830

原创 Android Kernel wakeup_sources分析

因为最近再看耗电问题。 不可避免会涉及到kernel层的wakelock。在adb shell下面cat /d/wakeup_sources(需要root权限),可以得到kernel的wakelock信息。name active_count event_count wakeup_count expire_count active_since total_time max_time l...

2018-08-02 09:25:36 1955

原创 不同shell,功能有差异

昨天碰到的问题中,发现在手机中有个脚本中的一段没有生效,并且没有看到权限方面的错误。因此感到万分疑惑。最终在老大的指导下,才发现了问题所在。老大就是老大呀。还要多多向他学习。1. 发现问题MemTotalStr=`cat /proc/meminfo | grep MemTotal`通过在手机中直接运行脚本,并且逐步echo一些log,最终发现是上面的这行有问题,MemTotalStr的值是空的。并...

2018-06-21 09:35:49 1053

原创 Android 耗电过多时的log分析

最新在写一个tool,用来分析Android手机耗电过多的原因。用python。 边写边记录吧。1. 耗电过多的原因耗电过多的原因基本可以分为两大类。其一,CPU没有睡下去。其二,CPU被频繁唤醒。当然,前提是没有插USB,并且灭屏了。 1.1 CPU频繁唤醒的情况在黑屏状态下,如果手机没有异常,并且后台没有类似下载apk,播放音乐等行为的话,CPU会睡下去(后文直接用深睡代替)。并且,不会过于频...

2018-06-09 17:32:39 4607

翻译 /proc/sys/vm参数含义翻译(vm.txt)

这些参数主要是用来调整virtual memory子系统的行为以及数据的写出(从RAM到ROM)。这些节点(参数)的默认值和初始化的过程大部分都可以在mm/swap.c中找到。目前,/proc/sys/vm目录下有下面这些节点:- admin_reserve_kbytes- block_dump- compact_memory- compact_unevictable_allowed- dirty...

2018-06-09 17:25:17 3395

原创 认为很好的博文链接收录--持续更新中

1.Linux的孤儿进程和僵尸进程的产生和如何避免。https://www.cnblogs.com/Anker/p/3271773.html有一个需求,是在apk被卸载的时候做点事情。看到网上的一些做法,基本都是利用jni来fork一个子进程,然后用这个子进程来监控apk卸载时会被删除的数据文件,在监控到这个文件被删除时,这时子进程变成了孤儿进程,由init接管,但是还是可以继续运行,来做...

2018-05-28 20:26:14 1826

原创 ext文件系统结构

先开一个坑。后面来慢慢填。填了很多啦,不会掉进去了。棒!

2017-03-23 17:48:36 4306

原创 fat16 文件系统的结构

1.引言FAT文件系统在Windows比较常见,相对于ext系统而言,也比较简单。是学习文件系统的切入点。2.FAT16的基本结构首先先了解下FAT16文件系统的基本结构依次为:DBR扇区、FAT表1、FAT表2、根目录和数据区。DBR扇区:DBR是操作系统可以直接访问的第一个扇区,包括一个引导程序和一个称为BPB的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给

2017-03-15 15:45:44 8015

原创 Touch---load kl文件的过程

1.kl文件kl文件,就是keylayout文件,它的作用是将scancode转换为keycode。scancode就是硬件直接扫描到的数字,而这些数字会通过这个kl文件对应到字符串,也就是keycode。2.load kl 文件的过程直接进入主题,过程是从在EventHub.cpp中开始的。EventHub.cpp的路径是frameworks/native/services/inpu

2016-12-29 11:45:00 918

原创 Touch---各参数含义

接着前两篇的学习。来详细介绍一下getevent得到的几个参数的含义。首先根据硬件,会将Touch的协议分为类型A和类型B。两者的主要区别可以概括为如下:(1).类型A是处理匿名的接触,并且为所有的接触传递原始数据到接收者。类型B是针对可以追踪可识别接触类型的,通过event slots为特定的接触传递更新的数据。(2).类型A是无状态的的协议,类型B 特定接触类型的使用减少了传送到用

2016-12-05 20:20:55 6972 1

原创 Touch--驱动部分理解

在Touch----初识的基础上,今天主要是理解Touch的驱动。1.丢log在kernel/drivers/input/touchscreen/synaptics_dsx下的文件中的一些函数中加入一句printk("cassie------%s\n",__func__);重新编译bootimage,然后烧入到手机。重新开机,使用uart串口调试工具以及cutecom软件抓取log,并且将

2016-12-01 15:38:42 4670

原创 Touch----初识

Touch也是一种input。input有哪些可以通过命令查看。在 adb shell 下面输入命令getevent -l ,就可以得到input的信息。可以从下图中看出,/dev/input/event1就是对应我们的Touch,厂商是新思。如果只看Touch的部分,可以输入getevent -l /dev/input/event1。触摸屏幕可以看到下图。这是用手指单击屏幕出现的结果

2016-11-30 17:44:08 734

原创 selinux学习

1.根据log直接进行修改,可以参考如下网址。http://wenku.baidu.com/link?url=E9r25MW14AiosOHeEk-KhkdcPvIQKb7g4JE0Mr4XR3qQLO4eAydmGQJd1o7WDfOitv3xzcKho7vs9a0r0CTJe1R30RW3ubTGPr-1_CxX9be2.直接在对应的te文件中修改,编译过程报错,报错信息显示在别的

2016-11-25 17:47:48 287

转载 Linux下C语言使用openssl库进行MD5校验

作者:无脑仔的小明 出处:http://www.cnblogs.com/wunaozai/   我们以一个字符串为例,新建一个文件filename.txt,在文件内写入hello ,然后在Linux下可以使用命令md5sum filename.txt计算md5值 ==> b1946ac92492d2347c6235b4d2611184  。虽然写入的是hello这5个字符,但是我们使用

2016-11-18 09:56:53 13486

原创 shell script学习记录(2)

先上sh02.sh内容(内容来自《鸟哥的Linux私房菜基础学习篇》)。#!/bin/bash#Program:# User inputs his first name and lastname. Program shows his full name.#History#2016/09/26 first releasePATH=/bin:/sbin:/usr/bin:/usr/sb

2016-09-26 14:18:41 289

原创 shell script 学习记录

学习的是《鸟哥的Linux私房菜 基础学习篇》(第三版)第13章第一个实例script 。文件的内容是这样的:#!/bin/bash#Program:# This program shows "hello world!" in your screen.#History#2016/09/23 first releasePATH=/bin:/sbin:/usr/bin:/usr

2016-09-23 16:44:28 299

原创 按照 老罗博客学习安卓 记录 (3)

今天学习的是在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序原文地址是http://blog.csdn.net/luoshengyang/article/details/6573809错误1 :make: *** No rule to make target `out/target/product/generic/obj/SHARED_LIBR

2016-09-10 17:30:17 434 1

原创 按照 老罗博客学习安卓 记录 (2)

今天学习的是 在ubuntu上为Android系统内置c可执行程序测试linux内核驱动程序原文在http://blog.csdn.net/luoshengyang/article/details/6571210在按照老罗老师的博文做的时候,在第一次编译mmm ./external/hello 时,报错提示:找不到mmm命令。在输入 .  ./build/envsetup.sh之后才能使用

2016-09-10 12:13:47 388

原创 按照 老罗博客学习安卓 记录

第一次写博文。侵删。今天学习的是在Ubuntu上为Android系统编写Linux内核驱动程序原文在http://blog.csdn.net/luoshengyang/article/details/6568411第一个问题 :二.进入到kernel/common/drivers目录,新建hello目录: 在我的源码路径下,kernel下面没有common,

2016-09-09 14:35:51 487 2

空空如也

空空如也

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

TA关注的人

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