自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

农场老马的专栏

老码农一枚!

  • 博客(11)
  • 资源 (10)
  • 收藏
  • 关注

原创 关于adbd进程的ROOT权限问题

<br /><br />adbd源码位于system/core/adb/目录下,可执行文件位于/sbin/adbd。通过adb执行ps命令,结果如下:<br />USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME<br />root      1     0     296    212   c00b0124 0000d9ec S /init<br />... ...<br />shell     2183  1     3372   1

2011-03-16 18:56:00 39186 2

原创 Android自带的toolbox分析及扩展

折腾了几天,被Android那点儿少得可怜的shell命令折磨的死去活来,终于下定了革命的决心。看一下怎么把渺小的toolbox替换成伟大的busybox吧。先大致描述一下Android系统中的shell程序部分。shell实现分为两部分:一、shell解释器和内置命令源码位于system/core/sh目录下,主要完成shell命令的解释查找,对于builtins.c中包含的内置命令,直接执行,对于toolbox的扩展命令,间接调用toolbox程序完成。二、toolbox扩展命令主要完成扩展命令的执行,

2011-03-15 14:04:00 25922 1

原创 Android源码的层次结构分析

<br /><br />bionic,整个系统的基础类库,Android系统就是基于这个类库开发的,<br /> <br />system,Android系统类库,基于bionic类库开发,包含工具类库(libcutils),LOG类库(liblog),压缩类库(libzipfile)类。<br />主要功能有:<br />一、完成Android初始化(init)。<br />解析init.rc并开启系统初始化时需要加载的程序(parser.c),初始化设备(devices.c),开启属性服务(proper

2011-03-11 15:58:00 4326

翻译 /system/core/init/readme.txt对init.rc的解释

init.rc由许多的Action和Service组成。每一个语句占据一行,并且各个关键字被空格分开。c规范中的(如 /n)反斜杠将被忽略(backslash escapes)而被认为是一个空格 ,双引号用来保证空格不会把一个文字串分分为多个关键字。行最后的反斜杠用作续行。由 # (前面允许有空格)开始的行都是注释行(comment)一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明。在第一个段之前的 commands 或 opti

2011-03-11 09:30:00 8197

翻译 ADB和DDMS简介

源文地址:http://blog.csdn.net/zysee/archive/2010/08/05/5791270.aspxADB是一个CS结构的程序,由三部分组成。通过它们,可以管理Android设备的状态。1、Client端Client端运行在PC上,可以由ADT插件、DDMS、Shell命令等方式调用。2、Daemon端(ADBD)作为后台进程运行在Android设备上。ADBD通过jdwp与VMDebugger交互获取VM中的调试信息。2、Server端作为后台进程运行在PC上,它负责Clie

2011-03-10 09:11:00 10842

原创 Android权限之二packages.xml解析

<br /><br />/data/system/packages.xml这个文件由PackageManagerService.java生成,里面记录了系统当中安装的APK的所有属性,权限等信息。当系统中的APK安装、删除、升级时,文件就会被更新。<br /> <br /><permissions>标签定义了目前系统中定义的所有权限。主要分为两类:系统定义的(package属性为android)和APK定义的(package属性为APK的包名)。<br /> <br /><package>代表一个APK的属

2011-03-10 09:08:00 20533 2

原创 Android权限之三共享UID和签名

<br /><br />共享UID<br />安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。<br />通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的

2011-03-10 09:08:00 27657 9

原创 Android权限之一APK对文件的访问控制

/data目录权限:drwxrwx--x system   system            2011-01-03 23:41 data这种情况下,用ES Explorer查看/data时,目录为空。File("/data")对象的canRead/canWrite方法测试,不可读不可写文件存在。说明默认情况下APK的gid中没有system。/system目录权限:drwxr-xr-x root     root              2011-03-05 19:23 system这种情况下,ES E

2011-03-08 21:42:00 5961 1

原创 Android中KeyEvent的生命周期

<br /><br />1、生成<br />存在这样一个线程,它不断地从driver读取Event,并把它放到RawEvent队列中。这个队列中的RawEvent既有按键,也有触摸、轨迹球等事件。<br />RawEvent队列中的每个RawEvent最后都会通过一系列转化,最终变为KeyEvent被发送给另外一个线程,即输入线程,也就是一个Activity的主线程。<br /> <br />2、传递<br />KeyEvent传递过程主要可以划分为三步:过滤器、View树、Activity<br />过滤

2011-03-08 15:01:00 6996 3

原创 Android应用程序中用Java创建本地进程来执行C/C++程序

<br /><br />大致分为五步:创建环境、建立连接、发送数据、读取结果、释放资源。<br />下面我们以打开一个shell进程,在进程中执行pwd命令,然后退出为例,来看一下整个过程。<br /> <br />1、创建环境<br />主要有两个:执行程序和当前目录。这个和在命令行下执行一个普通的Linux程序一样,先有一个当前目录,然后在当前目录下面调用要执行的程序。我们运行pwd的话,就需要在一个目录下启动shell进程。当前目录我们可以随便选一个。这里选根目录。<br />ProcessBuild

2011-03-08 12:59:00 2606 5

原创 修改Android的开机画面

<br /><br />Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序启动完成。<br />第一个过程显示的画面是一张图,第二个过程显示的是一个动画。分别简要记录一下怎么样在源码中修改这两个地方。<br /> <br />第一个过程的修改比较简单,找到/system/core/init/init.h中的宏定义:<br />#define INIT_IMAGE_FILE"/initlogo.rle"

2011-03-04 12:38:00 11942 2

Android 进程注入

Android 进程注入代码。跑通了整个流程,希望对大家有帮助,顺便赚点资源分。没办法,穷啊。

2014-11-07

Android NDK编写之JNI规范升级版

事隔3年,把JNI的规范重新整理了一下。希望能给大家带来帮助

2013-12-02

ContactProvider介绍

对ContactProvider的一个比较系统、很细致的介绍,入门经典。

2012-10-25

改进的开源项目3D的罗盘(marine compass)

网上有一个3D的罗盘(英文名叫marine compass),利用orientation sensor做出来的,down下来,改进了一下,让它也可以不使用orientation sensor,而是由gsensor和msensor算出来.可以通过它的设置在这两种方式之间进行选择。

2011-07-15

EventHub演示程序及源码

这个资源里面的源码及可执行文件是用于这里这篇文档的: http://blog.csdn.net/a345017062/archive/2011/05/13/6417929.aspx 文档中对Android EventHub是基于这里面的源码和可执行程序的。

2011-05-13

Android2.3 系统的兼容性标准规范

Android2.3 系统的兼容性标准规范,我在博客上贴出来的翻译当中有的部分细节没有翻译可以参考一下这篇源文档。

2011-05-11

SurfaceFlinger使用演示程序及源代码

这个资源是专门为我的这篇文章上传的,具体使用方法和原理可以参考一下这里 http://blog.csdn.net/a345017062/archive/2011/05/09/6406282.aspx

2011-05-09

Stev Guo系统文章翻译

网上整理的Stev Guo系列的文章,讲的是Android系统底层的东西,挺深入的,就一边看一边翻译了下来。

2010-12-17

JNI编程指南和规范的中文翻译(The JavaTM Native Interface Programmer's Guide and Specification)

做Android开发时用到了NDK,发现JNI是个很大的块儿空白。从官网上下了个文档开始学习,读取两遍,理解的差不多了。就花了两星期的时间,把主要部分翻译了。多多捧场。

2010-09-06

MP3文件格式分析资料及帧解析源代码(java)

收集了几个对MP3文件格式说明比较详细的网页,并附带上JAVA版本的源代码.可实现每次读取一帧数据.

2009-10-16

空空如也

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

TA关注的人

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