原创 Android 8 原生app 和 第三方app 資源相關路徑總結

一. 原apk文件路徑:     1.系統app:/system/app/<PackageName>/<PackageName> .apk              2. 三方app: /data/app/<PackageName>/ba

原创 Android PackageManagerService 源碼分析 lib庫相關處理流程

一 . lib 庫的安裝        安裝lib庫代碼,主要代碼都在scanPackageDirtyLI函數中,先是調用了derivePackageAbi,這個函數中就把lib庫的路徑創建好了,也把lib庫copy到這個目錄下,然後後面

原创 Android 6 init 源碼分析

init 的源碼在/system/core/init/init.cpp  下 1. main  int main(int argc, char** argv) { if (!strcmp(basename(argv[0]), "

原创 Android 8.0 系統啓動流程 init 進程

1 . Linux系統執行完初始化操作最後會執行根目錄下的init文件,init是一個可執行程序,它的源碼在/system/core/init/init.cpp; 2 . init進程是用戶空間的第一個進程,系統中啓動的app 進程都是以

原创 Android 6.0 PackageManagerService dex 優化源碼分析

一:dex 相關文件生成流程 1. PKMS.scanPackageDirtyLI PKMS 中,進行dex 相關處理的流程入口是在PKMS.scanPackageDirtyLI() 函數中: private PackageParser

原创 【輸出文檔】 Android 存儲模塊 解析

  【存儲模塊培訓文檔,很認真寫的,現在轉移到博客上】                                    Android  存儲模塊解析     1.存儲系統架構 Android 的存儲系統主要由SystemServe

原创 auot-start

1.Qaulcomm  有自己的auto_start 權限:   1.AppOpsManager 中添加 OP_AUTO_START 權限項   2.AMS 中添加 isAutoStartAllowed 函數:調用AppOpsServic

原创 PackageManagerService 源碼分析 (3) ApplicationInfo 相關

PackageParser.Package.ApplicationInfo  類 Application 是PackageParser.Package 的一個成員   一   . 調用情況: 1.PackageParser.parseBa

原创 Android Binder 跨進程通信

1.基本前提知識:    1.1 進程隔離      1.LINUX 中 每個進程有自己的虛擬內存空間,操作系統將這種虛擬內存空間映射到物理內存空間 ,每個進程不能操作其他進程的內存空間;      2.只有操作系統纔有權限操作物理內存空

原创 【輸出文檔】 Android 加密 模塊源碼分析

                                   Android6.0 加密模塊解析     前言: 加密流程就是用一個加密了的key對Android 系統中的用戶數據進行加密。一旦設備被加密了,所有用戶創建的數據在提

原创 PackageManagerService 源碼分析(2)

  一.scanPackageLI PKMS 中調用scanDirLI來分析APK 文件,如果目錄下的是apk文件或者是目錄,會繼續調用scanPackageLI函數: private PackageParser.Package

原创 Android AOA 通道 FW 層建立

                     基於LC6500 模塊AOA 通道的建立     1.AOA 介紹 AOA 爲Android Open Accessory的縮寫,簡單點說,就是Android支持的USB 設備形態中的一種。 一個

原创 handler.post 運用

1. 主線程中的使用: new Handler().post(new Runnable() { @Override public void run() { mTest.setT

原创 Android 預置第三方應用可卸載功能的實現

原生Android 的狀況是: 手機會預置一些第三方APP ,用戶不可刪除。 現在實現用戶可刪除的預置應用的功能 1.修改預置應用安裝路徑: 1.1 /system 下創建/third_app 文件夾        1.把預留應用放在sy

原创 PackageManagerService 源碼解析

一.SystemServer創建PackageManagerService     省略 二.PackageManagerService 構造函數  2.1 Settings mSettings = new Settin