Android Framework
文章平均质量分 74
lylianlll
喜欢看贴不会贴
展开
-
在Android 的adb shell里面单独起一个activity的方法
以MTP的界面为例am start -n com.android.settings/com.android.settings.UsbSettingsam start -n 包名/包名.类名或者am start -n 包名/.类名原创 2012-11-09 13:46:22 · 982 阅读 · 0 评论 -
Android framework Watchdog的监控过程
用android的MountService来分析Watchdog的注册和监控过程. 代码路径为:frameworks/base/services/java/com/android/server/MountService.java此Watchdog为软件Watchdog, 在Android Framework中处理的事情有:接收系统内部的reboot事件然后处理监控Syste原创 2013-01-07 15:52:07 · 2447 阅读 · 0 评论 -
Looper与Handler是如何通过Message发生关系的
经常看到Android的消息用法大概为:Looper.prepare()Looper.myLooper();xxxHandler = new Handler() { handleMessage(Message msg){...} }; Looper.loop();刚开始搞不清楚状况, 根据名字完全看不出有什么关系的两个类,到底如何进行消息传递呢? 只是原创 2012-12-19 10:23:25 · 858 阅读 · 0 评论 -
Android媒体文件metadata是如何实现跟解码器结合获取的
一般获取媒体文件的metadata元数据的方法大概为1.MediaMetadataRetriever mr = new MediaMetadataRetriever();2.mr.setDataSource(file.getAbsolutePath());3.mr.extractMetadata(KEY...);4.mr.release();主要分析1,2 . 这是因为为该原创 2012-12-28 16:12:35 · 2428 阅读 · 0 评论 -
解剖Android USB MTP 的激活流程
废话少说, 先上两张时序图 , 图片有点大, 建议用新窗口打开或者另存到本地查看图1: UsbSettings的流程图2: property属性的触发事件流程好, 开始分析从图1开始, 当用户从Setting UI里面点了一下那个MTP的选择框后,引起一系列的操作,说白了,这里绕那么多个圈, 无非就是想发个消息通知UsbHandler而已, 然后就等待状原创 2012-12-28 11:39:20 · 19791 阅读 · 7 评论 -
重新解压打包android 根文件系统 ramdisk.img
1. ramdisk.img文件gzip压缩文件, 所以要用gunzip命令解压缩. 但是gunzip需要默认后缀名.gz才可以正常解压, 不然会被忽略对待.(源文件类型) ramdisk.img: gzip compressed data, from Unix2. 解压后名字会自动去掉.gz后缀,并重命名为ramdisk.img, 这时候文件类型为ramdisk.img: ASC原创 2012-12-24 11:06:24 · 1713 阅读 · 0 评论 -
Android init.rc解析
Android初始化语言由四大类声明组成:行为类(Actions),命令类(Commands),服务类(Services),选项类(Options). * 初始化语言以行为单位,由以空格间隔的语言符号组成。C风格的反斜杠转义符可以用来插入空白到语言符号。双引号也可以用来防止文本被空格分成多个语言符号。当反斜杠在行末时,作为折行符。 * 以#开始(前面允许有空格)的行为注释行。转载 2012-12-21 17:04:35 · 677 阅读 · 0 评论 -
Ubuntu 12.04 编译Android 4.0.3 的环境配置
本来不喜欢写博客的,编译了android 4.0.3发现了一大堆错误,网上找了一堆的更改源码啊,Android.mk的解决方法,虽然可以编译成功,但都有点坑爹的成分,为了不误人子弟就分享出来吧。根本原因是因为gcc的版本太高,ubuntu 12.04的系统带版本是4.6 的要求严格了,稍微有点不注意就报错。 解决方法就是降级到gcc4.4.还有就是默认的linux系统调用的头文件路径不是标原创 2012-11-09 13:32:35 · 1505 阅读 · 0 评论 -
android 源码编译打包的apk出现accessed stale local reference问题
E/dalvikvm( 5564): JNI ERROR (app bug): accessed stale local reference 0x50100019 (index 6 in a table of size 1)E/dalvikvm( 5564): VM aborting这是因为外部ndk编译的jni使用错误,JVM找不到jni的class引用导致把jni_Env-原创 2012-11-15 18:03:12 · 7054 阅读 · 0 评论 -
java虚拟机理解
纲领 Java的运行时数据区为: A. 方法区 -----------(线程共有) B. 堆 -----------(线程共有) C. 虚拟机栈 -----------(线程私有) D. 本地方法栈-----------(线程私有) E. 程序计数器------转载 2012-11-15 15:20:47 · 572 阅读 · 0 评论 -
Android 4.0.3 源码编译中添加外部jar包和外部so到apk的方法
懒得写那么多,直接把Android.mk贴上来。 把关键字用*号代替,免得暴露了身份,哈哈。LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_STATIC_JAVA_LIBRARIES := slf4j ksoap2 epublib pdfclown android-support-v4 LOCAL_原创 2012-11-12 09:53:06 · 2849 阅读 · 0 评论 -
Android Media Scanner Mechanism Analyze
ArchitectureFigure2-1 AsFigure 2-1. MediaScannerReciver start up at anytime where receiveintent ACTION_BOOT_COMPLETED, ACTION_MEDIA_MOUNTED orACTION_MEDIA_SCANNER_SCAN_FILE. Cause on that spen原创 2010-07-08 18:12:00 · 7226 阅读 · 0 评论