原创 Android 資源管理

缺省資源是爲了讓程序在美測試過的設備上不崩潰 候選資源是爲了更好的用戶體驗,系統運行時自動挑選最合適的資源使用。 選取和設備匹配的候選資源除了根據一些固定不變的參數,如屏幕大小,有無鍵盤等,還會考慮很多的動態的系統屬性,如屏幕方向,當前語

原创 Android 同步和消息機制

Linux 下線程的運行模式是搶佔式的,爲了防止全局資源(可能是一個全局變量,也可能是系統的硬件資源,圖揚聲器)因爲線程的切換出現錯誤,通常需要使用系統提供的同步機制來“獨佔”全局資源的訪問權。雖然同步機制能解決資源訪問的衝突問題,但也不

原创 bionic

連接android和linux內核的橋樑。 詳見bionic/readme.dm

原创 log的使用

1.內核開發log的使用printk 8種日誌級別(<linux/kernel.h>) #define KERN_EMERG "<0>" /* system is unusable */ #define KERN_ALERT "<1>

原创 進程間通信--android binder

不在同一個進程的Activity或者Service是如何通信 在Android系統的Binder機制中,由一系統組件組成,分別是Client、Server、Service Manager和Binder驅動程序,其中Client、Serve

原创 Android 的 JNI

Java Native Interface Android 作爲一種嵌入式操作系統,有大量的驅動,硬件相關的功能必須在native層實現,另外,一些注重性能,功耗的功能用C/C++來實現也優於Java來實現。因此無論是應用級的開發還是系統

原创 KEYCODE_POWER

./cmds/uiautomator/library/core-src/com/android/uiautomator/core/Interacti

原创 home鍵雙擊滅屏

如果沒有physical按鍵怎麼辦,有什麼方式可以測試嗎?當然有,請嘗試: 1)adb shell input keyevent xx(鍵值),效果

原创 Android 黑屏收不到消息

shutoff nsrm platform/vendor/acom/XXX/system.prop persist.sys.dpmd.nsrm = 1

原创 編譯命令

make  -j8 2>&1 | tee build.log

原创 編譯

CCCache 提高編譯速度 #export USE_CCCache = 1 #export CCCACHE_DIR = /<path_of_your_choice>/.cccache #prebuilts/misc/linux-x86/

原创 camera 默認分辨率

frameworks/av/services/camera/libcameraservice/api1$ gedit CameraClient.cp

原创 system image

app:一般的apk文件 bin:存放linux的一些工具,但大部分都是toolbox的鏈接 etc:存放系統的配置文件 fonts: 存放系統的字體文件 frameworks: 存放系統平臺所有的jar包和資源文件包 lib: 存放系統

原创 硬件抽象層HAL

對Linux內核驅動程序的封裝,向上提供接口,屏蔽低層的實現細節 Android硬件抽象層:如何在內核空間編寫硬件驅動程序、如何在硬件抽象層中添加接口支持訪問硬件、如何在系統啓動時提供硬件訪問服務以及 如何編寫JNI使得可以通過Java

原创 簽名

所謂簽名就是給應用附加一個數字證書,表明製作者的身份。  keytool -genkey -v -keystore tom.keystore -alias tom_key -keyalg RSA -validity 1000  證書文件