Time of Update: 2018-12-03
android 系統中帶有了對alsa的支援,但在預設的情況下並不被下載和編譯。可以通過下面步驟在android中使用alsa.1、 使用git 擷取到下面三個alsa 相關的包,並放在對應的位置。 git clone git://android.git.kernel.org/platform/external/alsa-lib.git git clone git://android.git.kernel.org/platform/external/alsa-utils.git
Time of Update: 2018-12-03
1. 總體架構2. 流程概覽2.1 開啟Vold2.2 引導Uevent2.3 處理事件 Vold - Volume Daemon儲存類的守護進程,作為Android的一個本地服務,負責處理諸如SD、USB等儲存類裝置的插拔等事件。1. 總體架構Vold服務由volumeManager統一管控,它將具體任務分別指派給netlinkManager, commandListener, directVolume, Volume去完成。Vold服務向下通過socket機制與底層驅動互動,向上通過JNI,
Time of Update: 2018-12-03
應用程式中不同類型的Surface,在FrameWorks本地層的SurfaceFlinger中,分別對應著不同的Layer類,本文主要是討論這幾種Layer的實現和差異。閱讀本文之前,最好對SurfaceFlinger這個系統服務有所瞭解,可以參閱我的以下兩篇文章:Android SurfaceFlinger中的SharedClient -- 用戶端(Surface)和服務端(Layer)之間的顯示緩衝區管理Android SurfaceFlinger中的背景工作執行緒:threadLoop(
Time of Update: 2018-12-03
Time of Update: 2018-12-03
1. 設定網路攝影機方向2. 開啟線程與預覽線程 3. 設定參數4. Camera外設按鍵5. 自動對焦與觸摸對焦6. 拍照7. 臉部偵測8. 位置管理9. 旋轉管理10. 變焦11. 錄影Camera的架構為典型的C/S架構,Client端,使用者的行為,是為應用程式進程,Server端,裝置的功能,是為Camera服務守護進程,用戶端進程承載使用者的需求,由Binder處理序間通訊送往服務端實現裝置的功能,服務端由回呼函數和訊息機制反饋資料返還給使用者。ps查看進程,類似
Time of Update: 2018-12-03
2010 - 微博元年,智能手機元年,2011 - 平板電腦元年,2012 - 智能電視元年。又到年末,是時候梳理下Android開發工作,展望下未來了。本文僅供我個人蔘考...開發產品 電子書 手機 平板電腦負責模組 Camera, Sound, SD, USB, G-sensor, TP軟體平台 Android 1.6/2.2/2.3硬體平台 Mavell PXA935, Freescale IMX51, Qualcomm MSM82551. Camera理論儲備 軟體架構和硬體原理
Time of Update: 2018-12-03
今天打算嘗試使用android stutio,試試效果如何,遇到的問題就在這裡整理出來 1.剛才遇到的:Android studio無法啟動,錯誤資訊: "Files in E:\Android\android-studio\system\caches are locked. Android Studio will not be able to start up."嘗試使用管理員權限啟動就可以了,或者把安裝目錄放到別個盤。2.刪除問題,沒找到怎麼刪除,如下:Android
Time of Update: 2018-12-03
Android Camera系列開發 (三): 通過CameraAPI拍照作者:雨水 2013-8-21 CSDN部落格:http://blog.csdn.net/gobitan/概述使用Camera有兩種方式:通過Intent使用已有的app和通過Camera構建自己的app。在開發系列(一)
Time of Update: 2018-12-03
在我們開發一些如通訊錄、社交等應用或者應用添加新功能模組時,會考慮在對應的表徵圖上加上未讀資訊的數量,或者是新功能提醒的表徵圖,這樣不佔太大空間還能達到提示的目的. 之前在MMS分析部分,也有人問過我這種提醒的實現. 關於這種提醒的添加,我總結了下,有大概幾種方法可以實現:1. 在對應的布局放置TextView或者ImageView.2. 用Canvas在原來Icon的bitmap基礎上進行繪製3.
Time of Update: 2018-12-03
項目原因,讓我們必須深入探索Android系統,完成對之前的我們來說比較艱巨的任務。這樣,我們開啟了Android深度遊。 Android這個系統,應用程式層開發還是比較舒服的,Google把一切都安排好了,只要會Java就可以開發出絢爛多彩的應用。而它的內部還是比較龐大的,啃動它還是比較困難的,雖然它是open的,但面對海洋一般的代碼,難免會迷失。 先看看Android系統的架構圖從下到上共分四層:Linux
Time of Update: 2018-12-03
0. 專用術語1. 物理結構2. 系統架構 本文基於Freescale IMX平台Codec ALC5625為例。0. 專用術語 ASLA - Advanced Sound Linux Architecture OSS - 以前的Linux音頻體繫結構,被ASLA取代併兼容 Codec - Coder/Decoder I2S/PCM/AC97 - Codec與CPU間音訊通訊協定/介面/匯流排 DAI - Digital Audio Interface 其實就是I2S/PCM/AC97 DAC
Time of Update: 2018-12-03
\itemCtrl+P 查看變數參數資訊,也就是看變數是哪種類型 \item Ctrl+B 尋找該變數的定義位置。 \item Ctrl+Q 尋找快速文檔,即在另外一個視窗中開啟其聲明 \item Alt+Shift+C 查看工程最近更改的地方 \item Ctrl+space 自動完成代碼 \item Ctrl+shift+Enter 自動填滿運算式如if,while,for,switch等 \item Ctrl+shift+向上箭頭 把選擇的代碼往上移
Time of Update: 2018-12-03
之前每次修改BoardConfig.mk後,都傻傻的先make clean然後重新編譯,這樣浪費的時間不計其數。後來忍受不了這種效率,Google了一下,果然不出所料是可以模組獨立編譯的。1、進入Android源碼根目錄,執行source build/envsetup.sh;2、可以執行mm、mmm等模組編譯命令了。如要編譯audioflinger,則執行mmm frameworks/base/services/audioflinger/ -B即可。3、make
Time of Update: 2018-12-03
昨天分析了一把snd_kcontrol,可以認為上層應用的確是通過名稱標識name來遍曆底層的snd_kcontrol鏈表,從而找到相匹配的kcontrol。見snd_ctl_find_id函數/** * snd_ctl_find_id - find the control instance with the given id * @card: the card instance * @id: the id to search * * Finds the control instance
Time of Update: 2018-12-03
在android下,如果我們寫jni程式,可能經常會出現類似下面的crash log:10-11 20:47:24.527: INFO/DEBUG(61): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***10-11 20:47:24.527: INFO/DEBUG(61): Build fingerprint:
Time of Update: 2018-12-03
一、Makefile的主要流程以下主要流程都在build/core/main.mk裡安排。l 初始化相關的參數設定(buildspec.mk、envsetup.mk、config.mk)l 檢測編譯環境和目標環境l 決定目標productl 讀取product的配置資訊及目標平台資訊l 清除輸出目錄l 檢查版本號碼l 讀取Board的配置l
Time of Update: 2018-12-03
需求:USB Headset插上去後,聲音要從本地CODEC切換到USB Headset輸出/輸入。上網搜了有關USB Audio Hotplug的東西,比較適用的資源如下:1、Hotplugging USB audio devices (Howto)題目看起來很吻合我們的問題,事實上並沒有多少參考價值。其中指令碼/etc/hotplug/usb/extigy或許可以捕捉到USB Audio裝置的熱插拔事件,應該可以進一步驗證和利用,留意這點。2、Example to map USB
Time of Update: 2018-12-03
特別聲明:本系列文章LiAnLab.org著作權所有,轉載請註明出處。by @宋寶華Barry《Android架構縱橫談之一——軟體自愈能力》已經談地告了一個段落。接下來這個系列二我們談Android效能方面的考慮。Android系統組件繁雜,盤根錯節,若非在效能上進行充分的考慮,恐怕會慢如蝸牛。Android有獨具特色的Dalvik虛擬機器,啟動過程中即載入許多資源以便子進程進行繼承的Zygote,廣泛使用共用記憶體的AudioFlinger、
Time of Update: 2018-12-03
特別聲明:本系列文章LiAnLab.org著作權所有,轉載請註明出處。作者系LiAnLab.org資深Android技術顧問吳赫老師。本系列文章交流與討論:@宋寶華Barry共18次連載,講述Android
Time of Update: 2018-12-03
一.什麼是ExifExif(Exchangeable Image