Time of Update: 2018-12-03
Android和kernel間,通過裝置節點建立關聯待機API由kernel建立提供,待機請求由android通過節點向kernel發送。# ls sys/android_power/staterequest_stateacquire_full_wake_lockacquire_partial_wake_lockrelease_wake_lock# 這些節點中,state是linux待機介面# echo standby > /sys/android_power/state 2.6.25
Time of Update: 2018-12-03
田海立@CSDN2013-3-31 事情的由來:Android很多系統的adb id是固定的,驅動一旦寫好每個裝置的id都是一樣。有些需求要求adb的id每個裝置都不同。adb id即是通過命令adb devices查看到的裝置的id。這在Android4.0中已經實現,而實現的要點如下:1. 核心的Adb
Time of Update: 2018-12-03
田海立2013-08-10Android封裝的同步類主要有MUTEX(AutoMutex)與Condition。前文分析了它們的外部使用,本文看它們是如何通過對pthread Mutex和Condition的封裝實現的。遇到pthread的用法,可結合《pthread之MUTEX與Condition用法》一起看。Keywords: Mutex, Condition Variable, AutoLock/AutoMutex,
Time of Update: 2018-12-03
1、Music.apk至java MediaPlayer 至 libmedia MediaPlayer (JNI)Start是Java空間代碼,在架構層的frameworks/base/media/java/android/media/mediaPlayer.java中,通過JNI和android binder機制,向C++空間調用實現;向上打包成mediaplayer庫提過給應用開發使用。 /**描述: * Starts or resumes playback. If
Time of Update: 2018-12-03
摘要:android系統的待機,是在linux原生待機enter_state的基礎上,添加wakelock-wakeunlock機制,對象情境是增加對屏滅但系統仍後台運行得支援。linux原生待機我們是linux開發人員,用code溝通最直接吧。在linux-2.6.32以後,/sys/power節點下,建立state節點,在檔案系統調用上,write此節點,將會調用state_store函數,read此節點,將會調用state_show函數。#define power_attr(_name)
Time of Update: 2018-12-03
註冊:函數調用裝置掛到電源管理的函數調用關係是(依次往下調用)audio_card_init (函數類型包含__init 初始化調用)platform_device_adddevice_adddevice_pm_addlist_add_tail(最直接的鏈表添加操作) 以音訊裝置註冊為例,音頻音效卡初始化代碼目錄:kernel/sound/soc/xxxx.cstatic int __init audio_card_init(void){int ret =0;xxxx_snd_device =
Time of Update: 2018-12-03
android:allowTaskReparenting 用來標記Activity能否從啟動的Task移動到有著affinity的Task(當這個Task進入到前台時)——“true”,表示能移動,“false”,表示它必須呆在啟動時呆在的那個Task裡。 如果這個特性沒有被設定,設定到<application>元素上的allowTaskReparenting特性的值會應用到Activity上。預設值為“false”。
Time of Update: 2018-12-03
田海立@CSDN2012-8-22 本文結合AppWidget的應用情境,分析Android中RemoteViews的內部具體實現。從前文《Android中AppWidget的分析與應用:AppWidgetProvider》和《Android中Launcher對於AppWidget的處理的分析:AppWidgetHost角色》中得知,Android中AppWidget的圖形資源是由AppWidgetProvider通過RemoteViews提供的;而顯示是由AppWidgetHost通過AppW
Time of Update: 2018-12-03
田海立@CSDN2013-3-23 Android原生系統中就已經支援OTA升級。所謂OTA升級就是通過空中介面擷取升級包,然後更新系統韌體。一般地,升級包無論如何擷取,哪怕是直接TCard本地升級,也被稱為OTA升級。
Time of Update: 2018-12-03
田海立2012-10-03 Android-Lint是SDK Tools 16 (ADT 16)之後才引入的工具,通過代碼檢查,可發現潛在的問題,並能對Android程式進行最佳化處理。Android-Lint提供了命令列方式執行,還可與IDE(如Eclipse)整合,並提供了html形式的輸出報告。Android-Lint可以方便的與項目中的其他自動系統(配置/ Build / 測試等)整合。 Android-Lint相關的文章: Android-Lint:查錯與代碼最佳化利器Android-
Time of Update: 2018-12-03
Android中的記憶體使用量狀況統計紅狼部落格based on android 2.3.51. Android中的記憶體使用量狀況統計在Android的“正在運行服務”中有關於“已用空間”和“可用空間”的統計,但它不是通常意義(傳統Linux)上的記憶體使用量情況統計,而是基於Low Memory
Time of Update: 2018-12-03
田海立@CSDN2013-3-31 通過網路或直接本地擷取到OTA升級包之後,通過程式就可開始Android的升級。本文描述這一過程。 在擷取到OTA升級包之後,可以直接通過android.os.RecoverySystem.installPackage()開啟OTA升級。RecoverySystem.installPackage()是在API-8之後加入的,使用它需要許可權:android.Manifest.permission.REBOOT 一、RecoverySystem#installP
Time of Update: 2018-12-03
田海立2012/10/9 本文簡析Android內建的Factory
Time of Update: 2018-12-03
本文解決公用IP(外網IP有限,經常發生在公司網路環境或虛擬機器上)的機器下載Android原始碼遇到的問題。注意本文只針對當前從android.googlesource.com下載源碼時遇到的問題,因為網路和後續Android源碼維護升級等因素,有時效性,並不能保證以後一定還起作用。利用五一假期期間,用家裡的網路要把Android2.3,4.0都下載下來。但操作起來還真有遇到了問題。之前Android的代碼是在Linux
Time of Update: 2018-12-03
田海立2013-08-10Android封裝的同步類主要有MUTEX(AutoMutex)與Condition。本文分析如何使用他們,具體的實現參見《Android中線程同步之MUTEX與Condtion的實現》與《pthread之MUTEX與Condition用法》。Keywords: Mutex, Condition Variable, AutoLock/AutoMutex, Android關鍵字:互斥體、條件變數、自動鎖/自動互斥體、Android一、MUTEX看MUTEX的外部介面定義(
Time of Update: 2018-12-03
田海立@CSDN2012-8-17 本文簡要描述AppWidget系統架構,並對AppWidget系統裡的AppWidgetHost(IAppWidgetHost) / AppWidgetProvider / AppWidgetService(IAppWidgetService) /
Time of Update: 2018-12-03
Android的Logcat命令詳解——翻譯Enabling logcat Logging田海立@CSDN2011/07/28Android LOG系統提供了收集和查看系統調試輸出的功能。各種應用程式和系統其他部分輸出的LOG都儲存在一些迴圈緩衝區裡,這些緩衝區可以通過 logcat 命令來查看和過濾使用。使用logcat命令你可以用 logcat 命令來查看和控制系統LOG Buffer裡內容,通常用法:[adb] logcat [<option>] ...
Time of Update: 2018-12-03
田海立@CSDN2013-3-16 本文分析Android中如何解析init.rc檔案,重點描述了on action內的解析,並從解析的過程中總結出init.rc的文法規範。 對init.rc的解析是在parse_config(): [system/core/init/init_parser.c]中進行的。解析發生在init全過程中的哪個階段,參看《Android init進程啟動過程分析》。 一、解析過程1. 掃描init.rc中的token 找到其中的
Time of Update: 2018-12-03
關於android系統開發sdcard移植,主要有如下工作:1,核心驅動開發,完成後每次插入和拔出sdcard系統都會有相關的資訊顯示,而且sdcard可以手動掛載。2,android的sdcard掛載主要是vold來完成,vold的原始碼在/system/vold目錄下,編譯成/system/bin/voldinit.rc檔案中有vold系統服務,確保android系統開機後vold有正常運行。3,添加vold的設定檔,先查看/system/bin/vold/main.cpp檔案中的proce
Time of Update: 2018-12-03
摘要:此篇在上篇博文基礎上,增加對待機後,怎麼增加喚醒源的分析android待機過程 與 irq的開關過程對於android開發人員而言,可能會有疑問為什麼我們的手機或者平板,音量按鍵,螢幕不會亮,而電源按鍵,螢幕會亮?又或者如何才能讓音量按鍵也有點亮屏的效果(當然純粹是以開發人員角度,與實用性無關)irq在android待機過程中的總體管理是:1. 全部irq被disable2. 部分irq被enable3.