原创 Android P: U盤掛載過程簡述

                                                       圖 vold模塊簡要的層次結構圖                                              

原创 OTA本質與實現流程分析

接觸OTA也有段時間了,是時候總結下了。所謂OTA(Over-the-AirTechnology)是指手機終端通過無線網下載遠程服務器上的升級包,對系統或應用進行升級的技術。有關網絡部分不做過多討論,本文重點放在系統升級這一概念上。一 O

原创 Recovery代碼分析之一

        在android系統的手機啓動時,按下 (音量下+power) 組合鍵(大多數如此,也有例外)可進入recovery模式。此recovery模式一個重要的功能便是進行系統升級,這是OTA功能實現的基礎和關鍵。由於前段時間一

原创 OpenCV for Android入門

        在上一篇轉載的文章(http://blog.csdn.net/liudekuan/article/details/8569687)中,已經對OpenCV在android環境的搭建進行了比較詳細的說明,但文中所用版本爲Ope

原创 Launcher源碼分析之一

        桌面上顯示的各應用、快捷方式及widget圖標,其所在屏幕、位置、所佔大小等信息都存儲在數據庫中。Launcher啓動時,首先會將這些數據加載到內存,之後再顯示到桌面相應的位置上。整個流程完整不可分割,但爲了條理清晰及出於

原创 SlidingDrawer和ProgressBar

        一直沒怎麼搞過android UI方面的編程,突然做起來,真TM吃力,雖然是些控件的簡單使用,但還是稍稍記錄下吧,免得自己生鏽的腦袋徹底遺忘了。         從系統Settings代碼中提取了相關代碼,實現了個簡單的耗

原创 電量統計之一:PowerProfile.java與power_profile.xml

        現在諸多關於電池管理的應用做的極其絢爛,可實現如耗電應用排行、剩餘時間計算、關閉耗電程序以節省電量等功能,這兩天對此模塊進行了研究,總結如下。         首先解釋下各軟硬件耗電量的計算。假設設備(如WIFI)單位時間

原创 recovery代碼分析之二

1.函數get_args()         首先考慮如下情形:在main system下,我們通過OTA客戶端(自己編寫)選擇升級包update.zip(假設存放於/mnt/sdcard中)後進入recovery模式下進行升級。在這一過

原创 recovery代碼分析之三:try_update_binary

        OTA升級包路徑META-INF\com\google\android中,存在着兩個關鍵的文件:update-script和update-binary。在這兩個腳本文件中,update-script記載着系統升級所需要執行

原创 android源碼中編譯自己的so庫

        我們知道,android架構中上層應用是以java來編寫的,而底層則用C/C++編寫。一般而言,上層android工程師在開發過程中,不會或很少涉及到C/C++層,但項目中一旦涉及到複雜的算法或耗時操作時(例如圖像處理等)

原创 OpenCV中人臉識別代碼實現

聲明:本文代碼來源於http://www.cognotics.com/opencv/servo_2007_series/,實現平臺爲Linux+OpenCV,共分爲兩部分:人臉檢測與人臉識別。本文爲後半部分的代碼,關於第一部分請參見htt

原创 OpenCV中人臉檢測代碼實現

聲明:本文代碼來源於http://www.cognotics.com/opencv/servo_2007_series/,實現平臺爲Linux+OpenCV,共分爲兩部分:人臉檢測與人臉識別。本文爲前半部分的代碼,關於第二部分請參見htt

原创 開發筆記2012-11-22

        本週將Eclipse中測試通過的幾個項目,移到源碼平臺下(ubuntu)進行編譯,一堆的錯誤,令人糾結。現將其總結下。 問題一:資源文件名衝突         資源文件中存在着名稱相同格式不同的兩幅圖片(比如image.

原创 Android圖像處理之Bitmap類

        Bitmap是Android系統中的圖像處理的最重要類之一。用它可以獲取圖像文件信息,進行圖像剪切、旋轉、縮放等操作,並可以指定格式保存圖像文件。本文從應用的角度,着重介紹怎麼用Bitmap來實現這些功能。 一、Bitma

原创 make otapackage

        我們知道,在Android源碼整編後執行make otapackage命令即可生成OTA整包,但除此之外它還完成了哪些功能?具體又是如何完成的呢?事實上,在OTA升級過程中命令make otapackage完成了三件事情: