原创 創建新用戶時PackageManager的動作

PackageManagerService.createNewUser     Settings.createNewUserLI         for(PackageSetting ps : packages) {           

原创 android系統清理應用內部存儲和外部存儲

一個android應用的數據有兩個存儲路徑:內部存儲,外部存儲 內部存儲:/data/users/${userid}/${packagename}/ 外部存儲:/storage/emulated/${userid}/ 清理內部存儲:Act

原创 linux系統/proc目錄下的子目錄功能

/proc是一個虛擬文件系統,其下面的文件不是真實存在的,不佔用實際存儲空間。 /proc/cmdline:顯示內核啓動的命令行。 /proc/cpuinfo:顯示系統cpu的信息。 /proc/filesystems,顯示當前註冊了的文

原创 Android系統刪除用戶時的清理動作

刪除用戶時最後一步是清理用戶的數據,代碼在UserManagerService中的removeUserStateLocked函數 該函數的執行步驟分爲如下幾步: 1. PackageManagerService執行清理,其中最重要的一個動

原创 Android存儲加密

文件系統是一種組織存儲設備上的數據和元數據的方式 將文件系統和存儲設備聯繫起來的方式就是掛載(mount) 全盤加密) 1.YAFFS文件系統的eMMC卡無法支持全盤加密 2.全盤加密使用AES-128算法進行加密 3.主要有四種加密方式

原创 Android存儲控件知識整理

Android的文件存儲分爲內部存儲和外部存儲 1.內部存儲位於一個很特殊的位置,在內部存儲中的文件只能被自己的應用訪問到,每個應用的文件和數據都存儲在內部存儲中與自己應用包名相同的文件目錄中。 2.當應用卸載後,其位於內部存儲中的數據就

原创 數字證書和密鑰加密的理解

1.密鑰     密鑰分爲公鑰和私鑰,私鑰只有一把,一般歸內容發佈者所有,而公鑰有很多吧,有內容發佈者發佈給內容接受者,內容接受者用公鑰來解密內容發佈者用私鑰加密的內容。 2.密鑰加密解密過程     首先,內容發佈者會對內容進行ha

原创 android代碼獲取當前package的de目錄

獲取de目錄首先要獲取DE_CONTEXT Context deContext = getApplicationContext().createDeviceProtectedStorageContext(); 然後通過DE_CONTEXT

原创 AndroidManifest.xml作用

今天在看到一篇博客是對於博主對於AndroidManifest.xml文件的作用的理解深感贊同。 AndroidManifest.xml文件就是在安裝的時候用來給PackageManagerService進行解析,分析出這個APK的p

原创 Android平臺生成二維碼(by google.zxing)

查了大部分的資料,發現android平臺下生成二維碼的例子都是使用谷歌的zxing類,因此仿照某一個帖子編寫了一個demo進行測試,仿照的帖子: https://blog.csdn.net/myname_kk/article/deta

原创 UserDataPrepare創建系統以及應用APP的ce和de目錄的流程

system: ce: /data/system/users/${userid} /data/misc/user/${userid} /data/system_ce/${userid} /data/misc_ce/${userid}

原创 android新用戶會創建的目錄

新建一個用戶主要會創建和加密如下目錄 system: ce: /data/system/users/${userid} /data/misc/user/${userid} /data/system_ce/${userid} /data/m

原创 Andrid WiFi響應多用戶切換

由於管理wifi的service(WifiService)是屬於java framework的systemserver中的服務,繼承於 SystemService。因此,WIfiService也可以在用戶切換的過程中,由AMS回調on

原创 C++編譯器自動生成拷貝構造函數的情況

編譯器在下面幾種情況下會給程序員沒有提供拷貝構造函數的類自動生成拷貝構造函數 1.類中有虛函數 當這個類中有虛函數的時候,意味着這個類的對象中一定包含了指向其虛函數表的指針 試想,如果講該類的派生類的對象作爲該類的初始化對象,即 B繼承A

原创 git 常用操作

查看分支:git branch 創建分支:git branch <name> 切換分支:git checkout <name> 創建+切換分支:git checkout -b <name> 合併某分支到當前分支:git merge <na