自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android SystemServer学习

Linux内核启动后,Android系统启动有4个步骤;(1)init进程启动(2)Native服务启动(3)System Server及Java服务启动(4)Home启动Init进程启动后,将根据init.rc及initXXX.rc的内容执行一系列的命令,包括创建mount目录,安装文件系统,设置属性,启动adb,systemserver,mediaserver

2011-08-22 11:29:49 5756 2

原创 Binder学习三 MediaServer -- 实例

Q&A1.Multiple call of same binder object from 15 threads,will the binder service handle request in 15 threads?Answer:  No.Explain:The

2011-08-15 16:50:28 1547

原创 Binder学习一 ServiceManager初始化

Binder内核设备作用:1.实现跨进程IPC调用2.跟踪跨进程binder对象的引用计数。包括映射远程进程中的对象引用到真实对象的宿主进程中,以及确保被远程对象使用的对象不被删除。binder用户空间代码作用:在binder所在进程中维护一个线程池,用来

2011-08-15 16:48:09 1709

原创 Binder学习二 MediaServer

以MediaServer为例,进程初始化如下:1.创建进程中所有Service实例2.注册service到service manager3.创建线程池,等待处理binder事件MediaServer处理原理如下图所示:上图中,media

2011-08-15 16:47:53 2117 2

原创 ContentProvider原理分析二 MediaProvider publish

本文仅讨论ContentProvider的Publish过程。在Android启动后,会自动launch application,如果Application用到ContentProvider则会在handleBindApplication()时publish该Co

2011-08-05 10:10:48 4642

原创 ContentProvider 原理分析一

本文目标:以MediaProvider为例,想搞清楚调用ContentResolver访问各个ContentProvider的调用过程。Java code:getContentResolver().query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,null,null)具体调用过程是1.通过Conten

2011-07-29 17:15:01 3907 1

原创 Build sample addon in android5.1.1

I met error when try to build sample sdk addon after I downloaded android5.1.1:make -j8 PRODUCT-sample_addon-sdk_addon... make: * No rule to make target images/source.properties', needed byout/ho

2016-05-03 16:23:55 1036

原创 Video的thumbnail抽取算法

How to generate video thumbnail:注意生成thumbnail时,传入getFrameAtTime的时间是-1frameworks/base/media/java/android/media/ThumbnailUtils.java 158 public static Bitmap createVideoThumbnail(Strin

2014-02-09 12:34:14 3666

原创 Java代码编译问题

看代码时发现一个奇怪的问题,即一个类中定义为final的成员居然可以被其他类直接引用:如下类ServiceRecord中定义的成员deliveredStarts,被类ActiveServices直接引用:class ServiceRecord extends Binder {... final ArrayList deliveredStarts = new A

2013-05-12 20:15:12 924

原创 Linux下执行命令时利用脚本自动输入密码

近来repo sync时经常需要多次输同样的密码:sudo apt-get install expect使用如下脚本来实现执行repo sync命令时自动输入口令:#!/bin/bashPASS="you psd"expect -c "set timeout -1spawn -noecho repo syncexpect { "*password:

2013-05-08 10:34:53 3789

原创 Stagefright中增加Codec支持

方法1:注册Plugindevice/qcom/common/media/media_codecs.xml ...                                                                        如果是Decoder则在xm

2013-04-10 13:39:03 2594

原创 GS3 4.2.1利用adb安装apk失败问题

GS3更新到4.2.1后,安装自编应用均出现错误INSTALL_FAILED_INTERNAL_ERROR:解决办法:1.Setting -> Security -> Verify Apps去掉选择框的选择。2.Setting -> Security -> Unknown sources去掉选择框的选择。当安装源代码编译的apk后再次安装Eclipse编译出的apk出现

2013-03-06 16:27:21 3831

原创 Android属性:所设属性值为何在重起后被清除

问题:发现adb sehll setProp所设属性值在下次重起后被清除adb shell setprop testing.mediascanner.skiplist /storage/sdcard1/test结论:1.必须采用persist.开头的属性名才能永久保存。2.如果具有root权限,可以直接编辑/system/build.prop并加入需要永久保存的属性

2012-08-16 08:58:15 14599 3

原创 Java类中打印this导致手机不能启动问题

问题1:发现在Handler中加类似Log.d(TAG,"create handler 1 "+ this);导致系统不能启动。 public class Handler {    public Handler() {        if (FIND_POTENTIAL_LEAKS) {            final Class klass = getClass();

2011-11-04 09:05:23 998

原创 system_server crash现象研究

现象:当system server进程crash时,发现zygote进程会被杀掉,此后Zyogote进程和system server被重新启动。分析:在init解析init.rc时,Zygote进程作为一个服务被定义,且被声明为自动重启。因此一旦Zygote进程退出,则init会收到子进程退出信号从而重新启动zygote服务,进而Zygote启动System Server。同样,在Sy

2011-11-03 09:56:28 10306 1

原创 Android Java应用程序调用跟踪

Sun已经提供java platform debugger architecture (jpda),其中有示例程序演示如何跟踪应用程序,在此基础上进行更改后可以跟踪Android ap,点此下载。Java Platform Debugger Architecture(JPDA:Java平台调试架构) 由Java虚拟机后端和调试平台前端组成  1.Java虚拟机提供了Java调试的功

2011-11-03 09:55:41 2458

原创 apk破解实战

近日使用某在线听歌软件,有不少儿童故事不错,但在线听经常出现时断时续情形,而软件要求积分大于1500才可整页下载。要满足积分条件需要手动安装其推荐的数十个应用,简直是坑爹。故决定破解之。假定要破解apk的名字为mytest.apk,则破解步骤如下:步骤 1:得到resource及smali文件。1)得到apktool工具在http://code.google.c

2011-11-03 09:54:01 55761 10

原创 Android SystemServer学习之二

在Sytem Server运行时,会启动多个Java线程。第一个线程用于其它Service的消息处理,第二个线程用于ActivityManagerService和ActivityThread的消息处理,第三个用于WindowManagerService及KeyGuard TokenWatcher的消息处理。ActivityManagerService.javapublic

2011-11-03 09:52:27 1414

原创 android.process.media crash后现象研究之二

做实验如下:C:\>adb shell ps |grep android.process.mediaapp_14 817 197 107556 24456 ffffffff afd0c74c S android.process.mediaF:\send_file>adb shell kill 817F:\send_file>adb logcat发现: 杀掉

2011-10-28 16:57:49 4030 1

原创 android.process.media crash后现象研究之一

android.process.media crash后现象研究在ActivityManagerService启动android.process.media进程时,在启动进程后会调用attachApplicationLocked,在其中利用Binder的linkToDeath方法来接收进程退出消息。在进程crash后,如果进程中存在Service在运行或者有Provider等待运行

2011-10-28 16:57:40 8410

原创 Android消息处理探秘

下图为Android消息处理机制顺序图:由图可知,第一步通过调用Looper.prepare()来创建Looper和MessageQueue java对象,MessageQueue java类通过保存单向链表头mMessages来遍历所有消息,注意此单向链表按时间

2011-10-08 14:30:50 1705 2

原创 Tablet不断重启原因分析

现象:启动后,可以进入主界面。但是过几分钟自动重启。以后不断重复此现象。分析:1、手机如果重启,会在/data/system/dropbox 留下开机信息,可以查看次类文件生成的时间标来了解手机重启的时间情况。另外,系统会自动记录最后一次开机/重启的原因到 /pr

2011-09-28 14:47:41 2682

原创 Service启动过程过程详解

Service的几种启动方式:1、startServicepublic class myActivity extends Activity {  @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  startService(new

2011-09-23 14:57:35 4370

原创 实例分析:android.process.media由于调用进程crash而退出

Log:09-13 11:46:42.093 14778 17309 I dalvikvm: Ljava/lang/RuntimeException;: No memory in memObj09-13 11:46:42.093 14778 17309 I dalv

2011-09-16 15:27:52 3635

原创 Idle/Home architecture and code structure

在SystemServer.java启动后,将在ActivityManagerService.systemReady()里运行Home应用,参见Android SystemServer学习一文。frameworks/base/services/java/com

2011-09-07 10:58:15 1460

原创 ubuntu下执行cts

某日需要在Ubuntu下执行cts,却发现设备不能被adb访问如下:$ adb devices* daemon not running. starting it now on port 5037 ** daemon started successfully *

2011-09-02 11:27:34 1278

原创 使用5,7,12做加减运算,如果用最少步数得到任意数n

问题描述: 用5,7,12做加减运算,要求用最少步数得到任意数n 数学模型: i * 5+ j * 7+k * 12=n n为任意正负整数min(|i|+|j|+|k|) 分析:对于-11到11,可手工算出1      = +3 x 5      -2 x 72      = -1 x 5      +1 x 73      = +2 x 5    

2011-06-27 15:32:00 1367

原创 MediaScanner locale学习

Windows-1253 http://msdn.microsoft.com/zh-cn/goglobal/cc305146.aspxRussia Windows 1251 http://msdn.microsoft.com/zh-cn/goglobal/cc305144.aspxWindows # Code Page 1256 (WinArabic) http://

2011-05-08 17:38:00 1143

MTP协议第一版

MTP完整协议,Media Transfer Protocol is a protocol designed for content exchange

2013-05-08

ADT-20.0.3

ADT 20.0.3 For Android4.1

2012-10-23

android essential

android essentials introduces android java development methods

2008-12-06

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

TA关注的人

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