自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(220)
  • 资源 (1)
  • 收藏
  • 关注

转载 Linux:内核模块实现替换系统调用的简单例子

原文链接:http://blog.csdn.net/ddk3001/article/details/51485135编写Linux内核模块,可以实现替换系统调用功能。 本文提供一个替换open系统调用的样例代码,功能和说明见代码。参考代码:https://github.com/ricardoteixas/hook在 https://github.com 中搜索 hook、ker

2018-01-09 15:13:20 949

原创 android 修改 system.img 方法

android 修改 system.img 方法  2011-09-24 10:16:11|  分类:obsolete |  标签:android  system.img  |举报|字号大中小 订阅1.   前提条件l 源码下载完毕l 源码Make完成2.   修改文件修改launcher比较容易验证。在此,修

2014-08-19 22:22:05 1956

原创 修改Android的system.img镜像

You can modify system image. Pre-installed applications are located at /system/app/ folder. You can add new application to this folder or remove pre-existing applications from that folder.Applicatio

2014-08-19 22:19:54 1901

原创 android system/etc/目录生成文件

如果要在android的system/etc/里放置文件,则,在make之前,把需要用到的文件放到device/qsts/aspen_common/rootfs/etc/目录下,并且配置一下这个文件device/qsts/aspen_common/rootfs/Android.mk ,把加进来的文件路径写上,这样在make时,才会把东西输出到out/target/product/kylin/sys

2014-08-19 21:52:39 2280

转载 Android 制定的ROM包(文件系统根目录结构分析)

文件系统根目录结构分析Android文件系统根目录结构如下:[plain] view plaincopyprint?# ls -l  lrwxrwxrwx root     root              2011-01-01 20:00 bcm4329_cybertan.hcd -> /etc/bluez/bcm432x/BCM4329B1_002.002

2014-08-19 21:37:03 697

转载 android4.2.2开启多用户支持

步骤 1adb pull system/build.prop d:\步骤 2在build.prop文件里面加入fw.max_users=N(N代表最多能支持的用户数)步骤 3adb push d:\build.prop /system/adb shell chmod 0644 /system/build.propadb reboot步骤 4设置——用户——增加新

2014-07-26 12:35:49 584

原创 adb push时 Read-only file system的错误

adb push libxxx.so /system/lib出现错误failed to copy 'libxxx.so' to '/system/lib/libxxx.so': Read-only file system 首先adb remountadb shell后,将system 和lib文件夹的读写模式改掉, chmod 777 system再试一次就可以了

2014-07-26 12:34:42 404

转载 android4.2编译

编译环境的安装1.安装先到官方网站下载一个jdk6的安装包http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR我的系统为ubuntu12.0464位,对应自己系统下载好了

2014-07-26 12:33:28 366

转载 Implementing SELinux as a Linux Security Module

http://www.nsa.gov/research/_files/selinux/papers/module/t1.shtml

2014-07-23 17:38:07 393

原创 使用LSM实现自己的访问控制

首先对LSM 进行简单介绍。虽然linux下的各位基本都知道一些,但是还要罗嗦一下。LSM中文全称是linux安全模块。英文全称:linux security module.LSM是一种轻量级、通用的访问控制框架,适合多种访问控制模型以内核模块的形式实现。其特点是通用、简单、高效、支持POSIX。1e能力机制。LSM的架构图如下:通过系统调用进入内核之后,系统首先进行传统的权限

2014-07-23 17:34:55 1888

原创 如何单独编译Android源代码中的模块

第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system

2014-07-23 17:18:22 452

原创 安卓多用户管理资料

Multi-user support is one of the few remaining things a desktop OS can do that Android can't. The "coffee table tablet" use case would greatly benefit from a multi-user setup, as would an enterprise

2014-06-26 20:43:58 727

原创 Android 4.4中apk包的安装过程

其实对于apk包的安装,4.4和之前版本没大的差别。Android中app安装主要有以下几种情况:系统启动时安装,adb命令安装,Google Play上下载安装和通过PackageInstaller安装。安装的最核心方法是scanPackageLI(),以上几个安装方式最后都是调用这个函数完成主要工作的,区别在于在此之前的处理过程不同。本文以前两种为主,简要介绍这四种安装过程。 一个最一

2014-06-15 19:20:03 4518

原创 Android 安全机制

1 Android 安全机制概述Android 是一个权限分离的系统 。 这是利用 Linux 已有的权限管理机制,通过为每一个 Application 分配不同的 uid 和 gid , 从而使得不同的 Application 之间的私有数据和访问( native 以及 java 层通过这种 sandbox 机制,都可以)达到隔离的目的 。 与此 同时, Android 还 在此基础

2014-06-15 19:17:58 406

原创 Android的软件包管理服务PackageManagerService源码分析

Android系统下的apk程序都是通过名为PackageManagerService的包管理服务来管理的。PacketManagerService是安卓系统的一个重要服务,由SystemServer启动,主要实现apk程序包的解析,安装,更新,移动,卸载等服务。不管是系统apk(/system/app),还是我们手工安装上去的,系统所有的apk都是由其管理的。        以android 4

2014-05-11 19:26:16 1212

转载 valgrind 的使用简介

zz自 http://blog.csdn.net/destina/article/details/6198443  感谢作者的分享!一  valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境

2014-04-18 09:24:04 447

原创 用iText给pdf添加水印图片

[java] view plaincopy /**     * 给pdf文件添加水印     * @param InPdfFile 要加水印的原pdf文件路径     * @param outPdfFile 加了水印后要输出的路径     * @param markImagePath 水印图片路径     * @param pageSize 原pdf文件的总页数(该方法是我当初将数

2014-04-17 18:21:34 985

转载 手写签名系统的设计与实现之实现pdf文件上手写签名效果

前几篇文章我们分别介绍了显示文件列表、解析pdf、手写画板及画笔设置的功能了,今天我们就介绍一下,最后最关键的一部分-手写签名效果。先看看效果图:选定位置 画板上写字 预览签名效果一、实现原理:对于pdf文件上进行相关操作,本人并没找到一些比较好的方法,为了实现签名效果,尝试了很多方法也没达到预期效果,最后这种实现方法相对好些,也比较简单。其基本思想是根据对pdf文件加印章

2014-04-17 18:20:35 2109 2

原创 APK安装过程及原理

应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。 Android应用安装有如下四种方式1.        系统应用安装――开机

2014-03-06 20:03:28 466

转载 Android 4。0源码目录结构详解

在学习Android的过程中,学习写应用还好,一开始不用管太多代码,直接调用函数就可以了,但是工作中却需要修改到framework之类的东东所以感觉开始纠结了,又是初学,很多不懂,所以就去找了关于源代码结构介绍的,感觉有很大帮助,所以转载过来分享Android 4.0|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导

2014-03-06 09:29:47 443

转载 Android之vold进程启动源码分析

1.Vold (Volume Daemon)介绍vold进程接收来自内核的外部设备消息,用于管理和控制Android平台外部存储设备,包括SD插拨、挂载、卸载、格式化等;当外部设备发生变化时,内核通过Netlink发送uEvent格式的消息给用户空间程序,Netlink 是一种基于异步通信机制,在内核与用户应用间进行双向数据传输的特殊 socket,用户态应用使用标准的socket A

2014-03-06 09:20:22 565

转载 Android Service之MountService源码分析

Android 存储设备管理框架在android之VOLD进程启动源码分析一文中介绍了存储设备的管控中心Vold进程,Vold属于native后台进程,通过netlink方式接收kernel的uevent消息,并通过socket方式将uevent消息发送给MountService,同时实时接收MountService的命令消息,MountService,Vold,Kernel三者的关系如下图所

2014-03-04 19:30:52 1161

转载 Android Init进程源码分析

Init 进程源码分析基于Linux内核的android系统,在内核启动完成后将创建一个Init用户进程,实现了内核空间到用户空间的转变。在Android 启动过程介绍一文中介绍了Android系统的各个启动阶段,init进程启动后会读取init.rc配置文件,通过fork系统调用启动init.rc文件中配置的各个Service进程。init进程首先启动启动android的服务大管家S

2014-03-04 19:26:12 1294

转载 Android uevent进程源码分析

在Android Init进程源码分析中讲到init进程会依次执行被加入到待执行队列action_queue中的Action,在init.rc中我们有这么一段配置:[plain] view plaincopyprint?11 on early-init  12     # Set init and its forked children's oom_adj.  13

2014-03-04 19:20:15 512

转载 Android IPC数据在内核空间中的发送过程分析

在上一篇文章Android请求注册服务过程源码分析中从Java层面和C++层面分析了服务请求注册的过程,无论Java还是C++最后都是将需要发送的数据写入的Parcel容器中,然后通过Binder线程持有对象IPCThreadState向Binder驱动发送,本文继续在Android请求注册服务过程源码分析的基础上更深入地介绍服务注册的整个过程。客户进程向ServiceManager进程发送I

2014-03-04 19:18:07 436

转载 ServiceManager 进程启动源码分析

Service Manager是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Server远程接口的功能。Service Manager作为本地服务由Init进程启动,在Android Init进程源码分析中详细分析了Init进程是如何启动本地服务的,在Init.rc配置文件中有这么一段配置:[plain] view pla

2014-03-04 19:15:36 419

转载 深入分析Android Binder 驱动

Binder通信是基于Service和Client的,所有需要IBinder通信的进程都必须创建一个IBinder接口。系统使用一个名为ServiceManager的收获进程管理着系统中的各个服务,它负责监听是否有其他程序向其发送请求,如果有请求就响应,如果没有,则继续监听等待。每个服务都要在ServiceManager中注册,而请求服务的客户端则向ServiceManager请求服务。在Andr

2014-03-04 19:04:23 472

转载 Android电话拨打流程源码分析

前面分析了电话拨号界面及电话呼叫界面,由于Android的电话Phone设计的很复杂,因此先从UI层入手分析。想要了解Android的电话拨号UI,请查看Android电话拨号UI分析,电话拨号UI在Contacts包中。想要了解Android电话呼叫UI,请查看Android电话Phone UI分析,该UI在Phone包中,了解完电话想要UI后,还必须首先了解Android的Phone设计框

2014-03-04 18:58:37 1033

转载 Android电话来电流程源码分析

Android的Phone设计的相当复杂,只有了解了Phone的设计框架才能把握电话的拨号或来电流程,在Android电话拨打流程源码分析中已经分析介绍了电话拨打流程,这里介绍一下电话的来电流程。要理解这节内容,首先要知道Android电话的层次设计Framework层的RIL中的RILReceiver线程从rild服务进程中读取modem发送上来的来电消息等信息,通过消息注册-响

2014-03-04 18:52:31 1016

转载 Android 匿名共享内存驱动源码分析

Android系统的匿名共享内存Ashmem驱动程序利用了Linux的共享内存子系统导出的接口来实现,本文通过源码分析方式详细介绍Android系统的匿名共享内存机制。在Android系统中,匿名共享内存也是进程间通信方式的一种。相比于malloc和anonymous/named mmap等传统的内存分配机制,Ashmem的优势是通过内核驱动提供了辅助内核的内存回收算法机制(pin/unpin)。

2014-03-04 18:49:25 448

转载 Android安装服务installd源码分析

在Android系统中,PackageManagerService用于管理系统中的所有安装包信息及应用程序的安装卸载,但是应用程序的安装与卸载并非PackageManagerService来完成,而是通过PackageManagerService来访问installd服务来执行程序包的安装与卸载的。PackageManagerService通过套接字的方式访问installd服务进程,

2014-03-04 18:44:15 858

转载 Android服务之PackageManagerService启动源码分析

了解了Android系统的启动过程的读者应该知道,Android的所有Java服务都是通过SystemServer进程启动的,并且驻留在SystemServer进程中。SystemServer进程在启动时,通过创建一个ServerThread线程来启动所有服务,本文主要介绍Android服务中PackageManagerService服务启动过程。首先介绍一些PackageManagerServi

2014-03-04 18:41:47 529

转载 Android应用程序包扫描过程源码分析

在Android服务之PackageManagerService启动源码分析中介绍了PackageManagerService服务的整个启动过程,启动过程相对来说较为简单,就是构造一个PackageManagerService对象,然后注册到ServiceManager进程中,只是PackageManagerService对象的构造过程比较复杂,任务比较繁重,在前面介绍PackageManager

2014-03-04 18:39:18 631

转载 Android硬件抽象Hardware库加载过程源码分析

作为开放而非开源的Android系统,由于其基于Linux内核实现,在不违背Linux基于GPL许可前提下,为了隐藏各厂家自身特定硬件驱动实现细节,在用户空间定义了一套硬件抽象层,对硬件的操作细节从内核空间转移到用户空间。各厂商在Android的硬件抽象层实现特定硬件的操作细节,并编译成动态库,以库的形式提供给用户使用。Linux内核是基于GPL许可,即对源码的修改都必须开源,而Android是基

2014-03-04 18:37:25 374

转载 Android服务启动之StartService源码分析

在编写Android应用程序时,我们一般将比较耗时的操作放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验。Android系统为我们提供了一个Service类,我们可以实现一个以Service为基类的服务子类,在里面实现自己的计算型逻辑,然后在主进程通过startService函数来启动这个服务。在本文中,将详细分析应用程序进程是如何通过startService函数来启动

2014-03-04 18:02:04 552

翻译 Zygote进程启动过程源代码分析

Zygote进程介绍在Android系统中,存在不同的服务,这些服务可以分为:Android系统借用Binder通信机制实现了C/S架构设计,客户端应用程序如需要实现某些功能,只需请求指定的服务,由服务端来实现。Android服务包括以上的系统服务和应用服务,系统服务是指Android系统在启动过程就已经启动实现了的服务,对于系统服务又分为Java服务和本地服务,其实很好区分,

2014-03-04 17:58:55 593

转载 SystemServer进程启动过程源码分析

在上一篇文中介绍了Zygote进程的启动过程,我们知道,Zygote进程是Android Java世界的开创者,所有的Java应用程序进程都由Zygote进程创建。Zygote创建应用程序进程过程其实就是复制自身进程地址空间作为应用程序进程的地址空间,因此在Zygote进程中加载的类和资源都可以共享给所有由Zygote进程孵化的应用程序,应用程序进程只需加载自身私有资源就可以正常运行,Zygote

2014-03-04 17:45:20 587

转载 Android 应用程序进程启动过程源码分析 .

在Zygote进程启动过程的源代码分析一文中介绍到,Zygote是java世界的开创者,所有的java应用进程都是通过Zygote孵化出来的。我们知道在Android应用程序框架层中,ActivityManagerService组件负责管理Android应用程序的创建,ActivityManagerService也是运行在独立的进程SystemServer中,SystemServer进程启动过程源

2014-03-04 17:41:32 660

原创 安卓4.0系统启动流程源码剖析(整理版)

Android系统启动过程首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰)  Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。启动的过程如下图所示:(图片来自网上,后面有地址)        下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结,以下学习过程中代

2014-02-26 16:00:59 433

转载 安卓系统加电引导流程剖析

1. Power on and boot ROM code execution          开机并执行 boot ROM 代码    At power on the CPU will be in a state where no initializations have been done. Internal clocks are not set up and the onl

2014-02-26 15:57:14 616

传速率示例及组建源码

传速率示例及组建源码传速率示例及组建源码传速率示例及组建源码传速率示例及组建源码

2009-05-29

空空如也

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

TA关注的人

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