原创 Android中的常見類
本節源碼位置: framework\native\include\utils\RefBase.h framework\native\libs\utils\RefBase.cpp framework\native\libs\utils\T
原创 閱讀前的準備
Android的系統架構: 從上圖可以看出,Android系統大體可以分爲4層,從下往上依次是: 1. Linux內核層:包含了Linux內核和一些驅動模塊(eg: USB驅動,Camera驅動,藍牙驅動等)。 2. Libraries
原创 Android應用層日誌分析
參考:http://blog.csdn.net/luoshengyang/article/details/6598703 我們在Android應用程序,一般是調用應用程序框架層的Java接口(android.util.Log)來使用日誌系
原创 Android日誌驅動程序分析
參考:http://blog.csdn.net/luoshengyang/article/details/6595744 內核中的日誌文件: kernel/common/drivers/staging/android/logger.h
原创 Binder機制(1)
參考: http://www.cnblogs.com/innost/archive/2011/01/09/1931456.html 基於Binder通信的C/S架構體系中,除了C/S架構所包括的Client端和Server端外,Andr
原创 Android init啓動理解
本節涉及源碼有: 根目錄爲system: Init.c (core\init) Parser.c (core\init) Builtins.c (core\init) Keywords.h (core\init) Init.rc (cor
原创 Binder機制(4)
純Native的Service 純Native的Service表示代碼都在Native層。Native層有很多Service,前面的MS不就是一個重量級的嗎? 假設Service叫ITest,我們該如何實現呢?完全可以模仿MS!具體實現過
原创 Binder機制(3)
StartThreadPool和joinThreadPool分析: startThreadPool()的實現如下所示: 上面spawnpooledThread()函數的實現如下所示: PoolThread是在IPCThreadSta
原创 SystemService
SystemServer的進程名叫“system_server” SystemServer的創建: systemServer是由Zygote通過Zygote.forkSystemServer函數來fork誕生出來的。 SystemS
原创 VirtualBox下ubuntu和本機win7共享文件夾
1. 安裝增強功能包(VBoxGuestAdditions) 打開虛擬機,設置ubuntu 9。04,找到光驅選項加載VBoxGuestAdditions。iso.(該鏡像就在虛擬機的安裝目錄下面),確定 運行ubuntu,在光驅下就會
原创 Binder機制(2)
註冊MediaPlayerService 下面分析MediaPlayerService,代碼如下: 根據前面的分析可知,defaultServiceManager()實際返回的對象是BpServiceManager,它是IService
原创 第一章 文件IO的操作
1. 在對文件進行讀寫操作前,需要先打開該文件。 內核爲每個進程維護了一個打開文件的列表,該表爲文件表(file table),該表由一些叫做文件描述符(file descriptiors)的非負整數進行索引。列表的每一項都包含了一個打開
原创 zygote和system_server分析
使用的源碼: framework\base\cmds\app_process\App_main.cpp framework\base\include\android_runtime\AndroidRuntime.h framew
原创 led-class.txt
Leds-class.txt (documentation\leds) 翻譯: LED在Linux下處理: LED類只允許來自用戶空間的LED控制。led的操作節點出現在/ sys /class/leds/。的LED的最大亮度值在
原创 JNI層理解
https://www.gliffy.com/go/html5/launch?app=1b5094b0-6042-11e2-bcfd-0800200c9a66 畫圖工具 涉及的源碼: MediaScanner.java (base\m