
android
李子
天若有情天亦老
月若无恨月长圆
展开
-
android monitor tool (1.0 功能介绍)
检测android memory cpu process battery等 的状态原创 2013-09-07 23:06:55 · 2489 阅读 · 0 评论 -
android user用户版本提高adb权限
有的user用户版本的log 不全,且push/pull某些文件或者属性文件常常会遇到权限不够的情况,给调试带来很多便:对于user 版本adb shell 开启的还是shell 权限,而不是root 权限,如果您需要root 权限,需要再改一下system/core/adb/adb.c 里面的should_drop_privileges() 这个函数,在#ifndef ALLOW原创 2013-11-03 19:51:57 · 5258 阅读 · 0 评论 -
kill命令实现分析
参考: android/system/core/toolbox/kill.c首先大概了解下怎么使用kill命令:kill -signo pid(pname)kill -9 6834#include #include #include #include #include // 生成信号编号和名字字符串数组// 编译器自动生成static原创 2013-11-05 23:52:03 · 2349 阅读 · 0 评论 -
怎么查看android 版本
怎么查看android 版本可以查看文件: /build/core/version_defaults.mk可以看到里面有大概如下内容:ifeq "" "$(PLATFORM_VERSION)" # This is the canonical definition of the platform version, # which is the version that w原创 2013-11-06 00:13:50 · 2343 阅读 · 0 评论 -
怎么查看Android编译时候交叉编译链工具位置
查看android 根目录下 mbldenv.sh文件部分内容如下:# Overwrite PATH environment setting for JDK & arm-eabi if already existsPATH=$PWD/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATHexport PATH 这样shell打开原创 2013-11-06 19:56:05 · 4886 阅读 · 0 评论 -
怎么统计android编译时候的warning警告的个数及种类
前段时间无意当中发现这个python脚本参考: android//build/tools/warn.py怎么使用这个脚本,查看warn.py脚本:if len(sys.argv) == 1: print 'usage: ' + sys.argv[0] + ' ' sys.exit()./warn.py your_android.log warn.htm原创 2013-11-06 20:26:52 · 2859 阅读 · 0 评论 -
android monitor tool (8.0 模拟发送按键及触摸屏事件实现)
首先看下操作界面: 你可以可以远程控制手机,模拟发送触摸屏及按键事件 (应用场合:开发早期触摸屏还没确定及判断问题是驱动层还是framework / app 层)先讲发送按键事件的实现(如下面是发送KEYCODE_HOME):'adb shell input keyevent 3'更多的按键编码请参考:KeyEvent.java 下面是其部分内容: public原创 2013-11-07 22:07:28 · 3103 阅读 · 1 评论 -
怎么找到android系统input命令的实现代码
首先,我的固定思维认为system层中的命令大部分是用C语言写的。所以一直以为input命令也是C语言写的,但是找了很多地方都找不到对应其源代码。最后在framework开发人员帮助下找到,特此记录一下:1 首先找到input 命令的位置: system//bin/input2 查看input的内容如下:cat .system//bin/input原创 2013-11-08 20:29:13 · 3770 阅读 · 0 评论 -
adb push常见问题
有的时候我们直接 adb push someting android会遇到下面的错误:failed to copy 'someting' to 'android': Read-only file system这个时候你只需要adb remount下就可以解决问题。但是当你要更新根文件系统(bootimage),如你要更新些属性文件由于根文件系统是直接在内存中的,默认MO原创 2013-11-08 21:04:53 · 9874 阅读 · 0 评论 -
CTP触摸屏调试之--getevent
ctp getevent原创 2013-11-08 20:28:42 · 3679 阅读 · 0 评论 -
android flash 下载完整性检查
由于厂线下载都是大批量的下载难免有下载失败的情况(认为操作或nand / emmc本身的缺陷),故下载校验就显得尤为重要:原创 2013-12-03 22:26:24 · 1742 阅读 · 0 评论 -
android recovery模式选项中索引改进
有个客户有特殊要求,需要去掉recovery模式的某些选项#define ITEM_REBOOT 0#define ITEM_APPLY_SDCARD 1#define ITEM_WIPE_DATA 2#define ITEM_WIPE_CACHE 3#ifdef SUPPORT_DATA_BACKUP_RESTOR原创 2013-12-03 22:36:45 · 1376 阅读 · 0 评论 -
Android user 与 eng 版本的差异
eng 工程版本: adb默认是打开的,且设置向导是可选的。user 用户版本: adb 默认是关闭的,为了提高速度dex是打开的。其中 apk及模块还有些区别,但是作为开发人员来说最重要的就是上面的区别。 可以参考 Google 官方描述build/core/build-system.html 的详细说明eng This is the default flavor. A pl翻译 2013-11-03 12:51:51 · 1741 阅读 · 0 评论 -
bootchart实现分析
参考 : system/core/init/bootchart.c system/core/init/init.c// 记录当前的状况int bootchart_step( void ){ // CPU 等信息 do_log_file(log_stat, "/proc/stat"); // flash io 等信息原创 2013-10-23 22:18:18 · 1521 阅读 · 0 评论 -
加载linux kernel 的安全机制分析
参考文件:system/core/libmincrypt/sha.c system/core/mkbootimg/mkbootimg.c首先,一般bootimage 的结构如下(1 page 有可能是2048或4096,具体看flash的类型)** +-----------------+ ** | boot header | 1 p原创 2013-10-28 23:06:19 · 1459 阅读 · 0 评论 -
android monitor tool (2.0 运行环境)
简单介绍下软件运行的环境: 1 host os is ubuntu 10.4 2 smart phone os : android 4.2 (engneer version) 3 adb 4 Python 2.6.5 5 pyqt 4.0 6 ChartDir原创 2013-09-09 22:34:44 · 1210 阅读 · 0 评论 -
android 限制adb的访问目录
最近有个特殊的要求,engneer版本既要可以adb访问,且adb有的目录不能访问 如/data/目录。 用传统的chmod chgrp等无法满足客户需求,只能修改内核文件系统部分。 添加函数,检查路径的合法性:static int is_valid_path(char * pathname, char * pname){ int plength = strlen(pname); int path原创 2013-09-29 23:42:52 · 1554 阅读 · 0 评论 -
android启动优化
############################################### power on till android lock screen comes up## get information :# --- cat /proc/bootprof# --- [kernel hacking] --原创 2013-09-29 23:50:33 · 1513 阅读 · 0 评论 -
android monitor tool (4.0 bootchart)
有的时候需要查看开机过程中进程占用的时间及启动时序 这个时候bootchart就派上用场了,下面是记录生成bootchart的详细过程及可能会遇到的麻烦点(本人亲验成功):0 bootchart.h #ifndef BOOTCHART # define BOOTCHART 1 #endif1 touch system/core/i原创 2013-10-01 22:00:11 · 1608 阅读 · 0 评论 -
android monitor tool (3.0 battery kernel interface)
通过读取下面的内核文件,即可知道当前电池的状态一般有个内核线程10S更新下状态 (当有USB插入时,会产生中断,及时更新状态)/sys/class/power_supply/battery/'status/sys/class/power_supply/battery/'health/sys/class/power_supply/battery/'capacity/s原创 2013-09-30 23:55:32 · 1358 阅读 · 0 评论 -
android dump 分区
有的时候需要dump分区的raw data(没有文件系统)进行分析 /* * out put raw partition image */#include #include #include #include #include #include #include #define PRELOADER "/dev/preloader"原创 2013-10-04 09:36:52 · 2630 阅读 · 0 评论 -
android改变分区权限
有的时候需要改变分区的权限如某些非ROOT用户需要读取分区的某部分内容修改 \system\core\rootdir\ueventd.rc 如下: /dev/null 0666 root root/dev/zero 0666 root root/dev/full原创 2013-10-04 09:29:37 · 3135 阅读 · 0 评论 -
android monitor tool (6.0 监控文件系统)
有的时候某个文件(文本文件,动态库,静态库)被修改或者破环,你需要 监控是哪个进程对你监控的文件或者目录进行了修改或者破坏。 当然你要是遇到某些分区被修改了,就无能为力了。 首先看下效果图,加入我们现在要监控的是 /data/hello.txt 这个文件,当然你也可以监控一个目录: 当我们: adb shel原创 2013-10-14 23:17:05 · 3775 阅读 · 1 评论 -
android monitor tool (8.0 监控文件系统 添加哪个进程修改文件功能)
由于安全等问题,利用系统调用监控文件,并不能知道究竟是哪个进程对文件进行了修改。 这样我们就最多只能知道某个时间发生了时间,再根据时间点去查看相关的log,还是比较麻烦,不方便。 这种条件下,就只能修改kernel,以达到我们的效果,修改 fsnotify 函数如下: void fsnotify(struct inode *to_tell, __u32原创 2013-10-14 23:41:16 · 2446 阅读 · 0 评论 -
android monitor tool (7.0 监控文件系统 native层实现)
C写的代码来监控文件系统事件,按照一定格式输入,PC机在解析: android 本地代码如下:(编译成 /system/bin/inotify ,并记得push 到android phone中), 因为脚本是这么调用的: adb shell "/system/bin/inotify " 当然编译出来的名字不一定要是inotify ,但是你至原创 2013-10-14 23:27:04 · 2155 阅读 · 0 评论 -
android monitor tool (5.0 怎么得到CPU利用率)
首先看下效果图(双核): CPU的信息通过: adb shell cat /proc/stat 获取。 下面看看获取的原始数据: 双核: # two cores #cpu 11937 408 12814 141702 3902 2 113 0 0 0原创 2013-10-14 22:53:37 · 1617 阅读 · 0 评论 -
测试framebuffer
static GGLContext *gr_context = 0;static GGLSurface gr_framebuffer[2];static unsigned gr_active_fb = 0;static int gr_fb_fd = -1;static int gr_vt_fd = -1;static struct fb_var_screeninfo v原创 2013-12-04 22:40:59 · 2585 阅读 · 0 评论