android framework 框架層功能梳理
轉自:http://www.tuicool.com/articles/777r6rB ,感謝博主分享.
簡介
之前的研究太偏向應用層功能實現了,很多原理不瞭解沒有詳記,為了全面瞭解,重新梳理應用框架層。
記錄
1、下載原始碼,目錄如下:
2、Android系統的層次如下:
3、專案目錄簡單分析如下:
4、telphony目錄
CellIdentityCdma | //描述電信通訊標識 |
CellIdentityGsm | 描述行動通訊標識 |
CellIdentityLte | 描述3G通訊標識 |
CellIdentityWcdma | 描述聯通通訊標識 |
CellInfo | 手機資訊(什麼網路、是否已註冊、記錄時間) |
class CellInfoCdma extends CellInfo | 電信通訊手機資訊 |
CellInfoGsm extends CellInfo | 行動通訊手機資訊 |
class CellInfoLte extends CellInfo | 3G通訊手機資訊 |
class CellInfoWcdma extends CellInfo | 聯通通訊手機資訊 |
CellLocation | 手機位置資訊(獲取手機服務介面,獲取位置資訊) |
CellSignalStrength | 描述手機訊號強度的抽象類 |
class CellSignalStrengthCdma extends CellSignalStrength implements Parcelable | 電信訊號強度 |
class CellSignalStrengthGsm extends CellSignalStrength implements Parcelable | 移動訊號強度 |
class CellSignalStrengthLte extends CellSignalStrength implements Parcelable | 3G訊號強度 |
class CellSignalStrengthWcdma extends CellSignalStrength implements Parcelable | 聯通訊號強度 |
JapanesePhoneNumberFormatter | 專門為日本設計了電話號碼格式的規則?艹 |
MSimTelephonyManager | 電話服務管理(卡服務、網路型別、配置資訊……) |
NeighboringCellInfo | 接收訊號強度和相鄰小區ID的位置 |
class PhoneNumberFormattingTextWatcher implements TextWatcher | 手機號碼格式化 |
PhoneNumberUtils | 電話號碼配置 |
PhoneStateListener | 電話狀態監測變化 (服務狀態,訊號強度,訊息) |
Rlog | 日誌資訊 |
ServiceState | 服務狀態(執行商、網路型別、漫遊等) |
SignalStrength | 訊號強度資訊 |
TelephonyManager | 手機服務管理(撥號、接聽、傳送簡訊等等) |
CdmaCellLocation extends CellLocation | 電信手機位置資訊 |
CdmaSmsCbProgramData | 電信手機簡訊資料描述 |
CdmaSmsCbProgramResults | 電信簡訊服務資料結果描述 |
GsmCellLocation | 移動手機位置資訊描述 |
CallerInfo | 使用者資訊描述 |
CallerInfoAsyncQuery | 非同步查詢來電者資訊 |
DctConstants | 常量資訊 |
EncodeException | 自定義編碼異常 |
GsmAlphabet | 移動簡訊字元轉換 |
IccCardConstants | 常量 |
RILConstants | rtl常量 |
SmsConstants | 簡訊常量 |
SmsRawData | 簡訊資料 |
TelephonyIntents | 手機意圖描述(定義字串常量) |
TelephonyProperties | 電話屬性介面 |
IPhoneStateListener | 手機狀態監聽 |
IPhoneSubInfo | 獲取手機資訊介面 |
ISms | 簡訊操作介面 |
ITelephony | 手機管理介面(撥號、接聽、傳送簡訊…等) |
ITelephonyRegistry | 提供手機註冊服務(單卡) |
ITelephonyRegistryMSim | 提供手機註冊服務(雙卡時) |
IWapPushManager | wap推送訊息 |
IPhoneSubInfoMSim | 手機資訊介面 |
ITelephonyMSim | 手機服務介面 |
5、sax目錄
class BadXmlException extends SAXParseException | xml解析錯誤 |
Children | 子集 |
Element | 一個元素 |
interface ElementListener extends StartElementListener, EndElementListener |
解析監聽(開始、結束) |
EndElementListener | 結束監聽 |
EndTextElementListener | 結束文字 |
class RootElement extends Element | 根元素 |
StartElementListener | 開始監聽 |
interface TextElementListener extends StartElementListener, EndTextElementListener |
文字元素監聽 |
ExpatPerformanceTest extends AndroidTestCase | 單元測試 |
SafeSaxTest extends AndroidTestCase | 單元測試 |
6、policy目錄
BarController | 系統欄 控制元件狀態/行為 |
EnableAccessibilityController | 系統訪問控制 |
class GlobalActions implements DialogInterface.OnDismissListener, DialogInterface.OnClickListener | 對話方塊動作監聽實現 |
GlobalKeyManager | 鍵值對映管理 |
IconUtilities | 圖示輔助類 |
ImmersiveModeConfirmation | 導航欄隱藏、顯示輔助類 |
PhoneFallbackEventHandler implements FallbackEventHandler | 手機回退事件處理,這段程式碼應該是鎖屏介面選擇的一些事件處理,比如拖動解鎖框至電話圖示就開啟電話介面。 |
PhoneLayoutInflater extends LayoutInflater | 手機佈局 |
class PhoneWindow extends Window implements MenuBuilder.Callback | 手機窗體 |
class PhoneWindowManager implements WindowManagerPolicy | 手機窗體管理 |
class Policy implements IPolicy | 用於建立Window類、LayoutInflater類和WindowManagerPolicy類,它扮演著簡單工廠模式中的工廠類角色,而抽象產品角色由IPolicy介面實現,具體產品角色由Policy類實現。 |
class RecentApplicationsBackground extends LinearLayout | 垂直線性佈局 |
class RecentApplicationsDialog extends Dialog implements OnClickListener | 對話方塊 |
ShortcutManager extends ContentObserver | 快捷圖示管理 |
class SystemGesturesPointerEventListener implements PointerEventListener | 監聽輸入手勢 |
WindowOrientationListener | 手機方向監聽 |
KeyguardServiceDelegate | 管理鍵盤的狀態 |
class KeyguardServiceWrapper implements IKeyguardService | 軟盤的實現 |
KeyguardServiceDelegate.java和KeyguardServiceWrapper.java | 這兩個類是android 4.4新增加的,分別對KeyguardService進行了代理和包裝,代理類裡面有一個Scrim檢視在keyguard崩潰時顯示。包裝類就是對keyguardService的簡單包裝,最終把排程都會傳給keyguardService。 |
7、wifi目錄
BatchedScanResult | WiFi掃描的結果 |
BatchedScanSettings | WiFi掃描設定 |
NetworkUpdateResult | 網路更新結果 |
RssiPacketCountInfo | RSSI和包計數資訊,用於WiFi看門狗 |
ScanResult | wifi掃描結果 |
StateChangeResult | 狀態變化資訊 |
SupplicantState | 請求狀態 |
SupplicantStateTracker | 請求狀態監控者 |
WifiApConfigStore extends StateMachine | 配置資訊儲存 |
WifiChannel | 一個WiFi通道或頻率 |
WifiConfigStore | WiFi網路配置管理API |
WifiConfiguration | 一個Wi-Fi網路配置 |
WifiEnterpriseConfig | Wi-Fi企業配置 |
WifiInfo | 描述wifi連線狀態 |
WifiManager | wifi管理 |
WifiMonitor | 監聽wpa_supplicant 服務 |
WifiNative | 本地wifi管理 |
相關推薦android framework 框架層功能梳理轉自:http://www.tuicool.com/articles/777r6rB ,感謝博主分享. 簡介 之前的研究太偏向應用層功能實現了,很多原理不瞭解沒有詳記,為了全面瞭解,重新梳理應用框架層。 記錄 1、下載原始碼,目錄如下: 淺析Android Framework框架層Android系統從底向上一共分了4層,每一層都把底層實現封裝,並暴露呼叫介面給上一層。 1. Linux核心(Linux Kernel) 1)Android執行在linux kernel 2.6之上,但是把linux內受GNU協議約束的部分做了取代, 淺談Android FrameWork框架和它在android的四層架構起到的作用這裡寫一些關於Android Framework比較重要的知識點,這些東西對於之後理解和研究Android Framework有很 android記錄筆記(二)針對應用框架層梳理的整合筆記這篇筆記主要是結合自我認知,加上各種學習資源,整理而成的查詢筆記,整理的不好,還望指出錯誤,主要是用於查詢與記錄,該篇筆記大多借鑑劉望舒的部落格,對大佬致敬哈,我也是你忠實的粉絲,如有冒犯,請見諒,我將立即刪除本篇文章。 針對應用框架層我認為必須要清楚的知識概念: 第一: Android FrameWork層框架Android的四層架構相比大家都很清楚,老生常談的說一下分別為:Linux2.6核心層,核心庫層,應用框架層,應用層。我今天重點 怎樣從C++代碼直接訪問android framework層的WifiService-a namespace cpi 編譯 pla desc argc 封裝 conf 說究竟,Java層的service就是就C++層的binder的封裝。所以從原理上來講通過C++代碼直接訪問android framework層的service是全然可能的,這篇 Android Framework 分析---2消息機制Native層jnienv car 下一個 sas tracking zed 高效 方法 java 在Android的消息機制中。不僅提供了供Application 開發使用的java的消息循環。事實上java的機制終於還是靠native來實現的。在native不僅提供一套消息傳 RxCache 整合 Android 的持久層框架 greenDAO、Room一. 背景 RxCache 是一個支援 Java 和 Android 的 Local Cache 。 之前的文章給 Java 和 Android 構建一個簡單的響應式Local Cache曾詳細介紹過它。 RxCache 包含了兩級快取: Memory 和 Persistence 。 Android framework層自定義jniframework新增自定jni 本文章適用於在原始碼環境下在framework新增自定的jni供上層Apk呼叫。 1 framework新增自定jni 新增自定義的jni檔案和Androidmk 新增系統編譯配置 新增自定義的jni檔案和Android.mk 首先在f 初始Android Framework(框架)方面的知識(一)介紹Android Framework(框架)是什麼? Android的Framework是直接應用之下的一層,叫做應用程式框架層。這一層是核心應用程式所使用的API框架,為應用層提供各種API,提供各種元件和服務來支援我們的Android開發,包括Activ Android-[開源框架]-leakcanary程式碼流程梳理本文中得時序圖的uml原始碼和簡化圖的draw.io的原始檔分享在百度雲中 可自行下載修改新增 https://pan.baidu.com/s/1G0LHpgabGt4tyapcYggcwA 1. leakcanary使用方法及學習 關於leakcanary的詳細分析已經有很多大牛分 Android嚮導框架(Wizard framework)的一種實現(需要原始碼的同學請留言)做介面開發的兄弟姐妹都知道嚮導框架一般GUI庫都有提供,而android的介面庫中,卻沒有嚮導框架這個東東。 不要驚訝,你要是不相信的話可以到谷歌查詢,我在stackoverflow看到一些提問:如何實現嚮導式的互動,在android中:how to implement a wizard like android 實現簡單的引導層圖層功能在網上看的一個帖子,我進行了整理用的 kotlin 寫的,還是比較簡單的,廢話不多說。 原檔案地址 https://www.jianshu.com/p/5e80c7aee1fc 首先先來看下如何匯入專案中: 專案的build.gradle新增 allprojects { net.sz.framework 框架 輕鬆搭建服務---讓你更專注邏輯功能---初探前言 在之前的文章中,講解過 threadmodel,socket tcp ,socket http,log,astart ,scripts; 都是分片講解,從今天開始,將帶大家,一窺 net.sz.framework 框架; net.sz.framework 框架分為java版本和C#.net 版本,兩種 在Android Framework層 C/C++程式碼中新增日誌在對應目錄下的Android.mk檔案中新增一下內容 LOCAL_LDLIBS := -llog LOCAL_SHARED_LIBRARIES += \ libcutils \ libutils 在cpp檔案中定義: #define LOGD_TAG "S Android系統架構——各層功能簡介官網給了我們一個Android整體架構圖,從上到下依次是 應用程式層(Application)、應用程式框架層(Application Framework)、系統執行庫層(Libraries& Android TV框架 TIF(Android TV Input Framework)入門實踐做TV開發一段時間了,國內目前關於這方面的資料並不多,這裡我來分享一下我對TIF的使用心得。Android TIF(Android TV Input Framework)是Google向電視製造商提供了一套標準的API,用於建立Input模組來控制Andro android framework新增自定義服務,實現java層api呼叫1.在frameworks/base/core/java/android/app/下新增aidl檔案 frameworks/base/core/java/android/app/IGMyTestService.aidl package android.app; // De Android framework層新增三方應用介面,及新增系統Service(轉)原 親測可用Android原生程式碼新增系統服務 2017年01月12日 21:55:56 閱讀數:5492 在Android系統中,為我們提供了很多的系統服務,比如AMS,PMS等,今天參考系統裡其他服務的實現,在Android N原生程式碼中新增自己定製的服務, Android逆向之旅---破解某支付軟體防Xposed等框架Hook功能檢測機制一、情景介紹最近想寫幾個某支付軟體的外掛,大家現在都知道現在外掛大部分都是基於Xposed的ho |