原创 SELinux權限問題解決方法

前言 之前做系統應用操作設備節點的時候,出現SELinux權限的問題,即SELinux Policy Exception,查看log可以看到諸如此類的提示 avc: denied { read } for name="u:object_

原创 軟件與硬件之間的交互流程

昨天晚上在思考“計算機軟件和硬件是如何交互的”這一問題,也就是“電腦的軟件如何將指令傳達給硬件”。這個問題是我在2010年2月份開始思考的。前期無果,中間擱置了幾個月的時間,這一次因爲一個偶然的機會又激發了我對這一問題的思考。 電腦硬件:

原创 Java代碼到機器碼

在《Java代碼的編譯與反編譯》中,有過關於Java語言的編譯和反編譯的介紹,我們可以通過javac命令將Java程序的源代碼編譯成Java字節碼,即我們常說的class文件,這是我們通常意義上理解的編譯。 但是,字節碼並不是機器語言,要

原创 Repo 使用詳解

Repo 是一款工具,可讓您在 Android 環境中更輕鬆地使用 Git   安裝GIT 省略   安裝Repo 要安裝 Repo,請執行以下操作: 1.確保主目錄下有一個 bin/ 目錄,並且該目錄包含在路徑中: $ mkdir ~

原创 Android 深入理解AIL語言與init.rc文件

init.rc簡介 init.rc文件由系統第一個啓動的init程序進行解析.它由"Android Init Language"語言編寫而成.init.rc文件可以在你android設備根目錄下找到.還記得我們上次編譯的Android源碼

原创 Android Framework內部啓動流程

App啓動過程導圖 點擊桌面App圖標,Launcher進程採用Binder IPC向system_server進程發起startActivity請求 system_server進程接收到請求後,向zygote進程發送創建進程的請求 Z

原创 Android 第三方的動態庫編譯到Android系統的/system/lib目錄

1 . 命令行切換的Android源碼根目錄的根目錄,執行$ source build/envsetup.sh或者$ . builid/envsetup.sh命令。 2 . 執行命令$ lunch full_eng,或者執行需要的選項。

原创 Android 開發系統APK,找不到so文件

正常安裝非系統APK是用PackageManager,它會將so文件拷貝到系統讀取文件夾目錄下供APK使用,但是開發系統APK時是不會使用PackageManager進行安裝的,所以需要將so文件拷入到system/lib,APK就可以調

原创 Android Service數據結構

本文以bindService爲例來說明問題,因爲bindService的流程比startService複雜的多。在看圖前需要一些準備。 Framework中,ServiceRecord對應到應用層的一個Service。 包括Service

原创 無碼APK和依賴庫預置進系統進行升級

#將 old.apk 進行升級爲 new.apk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := new.apk  LOCAL_SRC_FILES :

原创 Android與Linux區別

衆所周知Google的Android系統跟Linux系統有着千絲萬縷的關係,可究竟有什麼關係呢?有人說Android是Android,Linux是Linux,兩個只是kernel一樣調度機制一樣,其他沒一毛錢關係,有人說Android說到

原创 Android佈局解析者LayoutInflater

LayoutInflater可以把xml佈局文件裏內容加載成一個View,LayoutInflater可以說是Android裏的無名英雄,你經常用的到它,卻體會不到它的好。因爲隔壁的iOS兄弟是沒有 這種東西的,他們只能用代碼來寫佈局,需

原创 Android應用窗口管理服務WindowServiceManager

WindowManagerService是位於Framework層的窗口管理服務,它的職責是管理系統中的所有窗口,也就是Window,關於Window的介紹,我們在文章03Android顯示框架:Android應用視圖的管理者Window

原创 Android應用視圖管理者Window

從這篇文章開始,我們來分析和Window以及WindowManager相關的內容, Abstract base class for a top-level window look and behavior policy. Window在