![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 57
a254373829
这个作者很懒,什么都没留下…
展开
-
android 包名和应用程序之间可通过Dev Tools这个APP查看
Dev Tools可以查看一个APK的包名以及所包含的4大组件。原创 2012-04-20 14:31:15 · 1253 阅读 · 0 评论 -
Debug Android and Linux suspend and resume
[转]http://blog.chinaunix.net/uid-12461657-id-3153698.html积攒了一些关于调试Android和Linux下面的suspend 和 resume的经验, 在这里和大家分享一下。希望可以有些帮助, (下面没有写Android专用的, 就是Linux通用的)。1. no_console_suspend 在kernel启动参数里面转载 2013-12-12 17:23:51 · 891 阅读 · 0 评论 -
logcat -b kernel 没输出
1 看/dev/log/kernel文件节点是否存在2 查看/proc/consoles看logk0有没有enabled起来, 没有的话在cmdline加上console=logk0.原创 2013-12-09 17:43:49 · 4823 阅读 · 0 评论 -
android socket通信不成功
尼玛原来socket通信都好好的, 后面在应用加了一个横屏的代码,死活是通信不了,折腾了三天才搞清楚原因,其实一开始就应该怀疑是新加入的代码引起的,可是。。。onCreate() {....if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){ setRequestedOri原创 2013-09-24 22:40:31 · 4643 阅读 · 0 评论 -
android ashmem 匿名共享内存
1. ashmem是基于linux里的shmem实现的,而shmem又是基于tmpfs伪文件系统。2. ashmem驱动实现了/dev/ashmem设备文件的open/read/llseek/mmap/ioctl等文件操作,但没有实现write文件操作,由于本质还是文件内存映射(内存指得是进程的虚拟内存,文件则是属于tmpfs,这里和基于磁盘的文件系统的内存映射还是有所不同的,这难道是匿名一词原创 2013-09-02 16:43:02 · 1250 阅读 · 0 评论 -
android binder相关
binder是用于进程间通信的一种机制, 通信的本质就是数据的交换(流动), 通信需要发送方和接收方的参与才能完成一次数据传输。发送方和接收方必须遵守一定的协议才能保证数据传输的正确性,在android系统里,这种协议是通过ioctl系统调用和约定的命令实现的,有一些命令还实现了自己的一套协议(子命令),有些命令只能由服务端(service)使用,约定全局命令如下:命令宏(cmd)原创 2012-09-27 18:44:32 · 779 阅读 · 0 评论 -
Android init
转载:http://www.cnblogs.com/linucos/archive/2012/05/22/2513046.html1. init程序逻辑文章引用地址:一篇pdf文档,来自百度文库Android 源码分析 -- (一) Android 启动过程 royalxw@gmail.com 1. 源码文件路径: platform/system/cor转载 2013-05-14 15:18:05 · 761 阅读 · 0 评论 -
android中获取电池当前电量
Android是通过sys伪文件系统中文件来获取手机电池的电量及状态。路径: /sys/class/power_supply/xxxx/伪装capacity文件来手动控件电池电量状态, 基本思路是将/sys/class/power_supply/xxxx/作为一个分区的挂载点, 然后在分区创建必要的文件,然后就可以模拟系统低电量状态#!/system/bin/sh#原创 2013-01-09 18:01:48 · 3582 阅读 · 0 评论 -
Android Tombstone解决步骤
这周和同事一起解了个tombstone的bug, 记录下分析的过程,免得以后又忘记。。。1>log的分析pid: 122, tid: 14745, name: Binder_2 >>> /system/bin/mediaserver signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000058 eax 0000原创 2012-12-14 16:20:43 · 17046 阅读 · 3 评论 -
android UIWDT
UIWDT 是一种软件实现的看门狗机制,检测一些关键的系统进程是否发生了死锁, ServerThread线程会定期的锁一下系统关键的服务来查看是否发生了死锁,如果发生了死锁,从log中可以查看ServerThread的调用链,有两种可能的情况会产生UIWDT, 一种是ServerThread线程 本身被阻塞了: 如下的log说明该线程正在进行binder通信的返回结果,因此这里需要知道该系统线程正原创 2012-09-26 18:30:05 · 3246 阅读 · 0 评论 -
Android SharedPrefences/ListPrefence
使用SharedPrefences/ListPrefence接口的应用都会在/data/data/包名/shared_prefs/ 目录下生成一个xml文件来保存相应的配置原创 2012-07-18 13:04:03 · 1146 阅读 · 0 评论 -
android Looper& Handler
每一个apk应用程序进程都是由zygote这个孵化进程fork出来的,通知zygote执行这个操作的是system_server进程中的 ServerThread线程中的ActivityManagerService这个对象发出的, ActivityManagerService.sartActivity( )原创 2012-06-15 17:33:42 · 534 阅读 · 0 评论 -
ActivityManagerService中收集可用内存getMemoryInfo的实现
原型: ActivityManagerService.javapublic void getMemoryInfo(ActivityManager.MemoryInfo outInfo) ---------->Process.getFreeMemory() //Process.java原创 2012-06-13 18:23:31 · 2897 阅读 · 0 评论 -
git 常用命令
git log -p --stat ;查看log信息,详细信息git diff ;查看当前的修改git format-patch -1 ;生成基于当前的commit head的一个patchgit format-patch -n commit_no; 生成基于commit_no的n个patch.git am + patch_file原创 2012-05-03 15:56:19 · 558 阅读 · 0 评论 -
zygote-->system_server
init进程通过init.rc中 service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server创建一个名叫zygote的新进程(源码目录为frameworks/base/cmds/app_process/app_main.cpp), zygote进程主要调用如下代码zyg原创 2012-06-06 12:44:21 · 1209 阅读 · 0 评论 -
android 睡眠和唤醒过程
睡眠过程:入口:用户空间的代码通过向/sys/power/state文件节点写入特定的字符串(on/mem)来请求系统进入特定的状态, 过程:1) 向/sys/power/state文件写入时会调用到state_store函数:state() { #ifdef CONFIG_EARLYSUSPEND request_suspend_state(s原创 2013-08-19 17:02:55 · 4402 阅读 · 0 评论