apk內部存儲路徑

首先內部存儲路徑爲/data/data/youPackageName/,下面講解的各路徑都是基於你自己的應用的內部存儲路徑下。所有內部存儲中保存的文件在用戶卸載應用的時候會被刪除。

一、 files

  1. Context.getFilesDir(),該方法返回/data/data/youPackageName/files的File對象。
  2. Context.openFileInput()與Context.openFileOutput(),只能讀取和寫入files下的文件,返回的是FileInputStream和FileOutputStream對象。www.2cto.com
  3. Context.fileList(),返回files下所有的文件名,返回的是String[]對象。
  4. Context.deleteFile(String),刪除files下指定名稱的文件。

二、cache

  1. Context.getCacheDir(),該方法返回/data/data/youPackageName/cache的File對象。

三、custom dir
getDir(String name, int mode),返回/data/data/youPackageName/下的指定名稱的文件夾File對象,如果該文件夾不存在則用指定名稱創建一個新的文件夾。

一些路徑的標準寫法
Environment.getDataDirectory() = /data
Environment.getDownloadCacheDirectory() = /cache
Environment.getExternalStorageDirectory() = /mnt/sdcard
Environment.getRootDirectory() = /system
context.getCacheDir() = /data/data/com.mt.mtpp/cache
context.getExternalCacheDir() = /mnt/sdcard/Android/data/com.mt.mtpp/cache
context.getFilesDir() = /data/data/com.mt.mtpp/files

使用adb查看apk內存儲數據:【手機有root權限】

adb shell
su -
cd data/data/airfight.dawx.com/
ls
下面包含了四個文件見 files cache lib database

使用adb獲取數據:
adb push D:\file.txt system/
adb pull system/file.txt D:/


apk的安裝卸載流程:
應用安裝涉及到如下幾個目錄:
system/app
系統自帶的應用程序,無法刪除

data/app
用戶程序安裝的目錄,有刪除權限。
安裝時把apk文件複製到此目錄

data/data
存放應用程序的數據

Data/dalvik-cache
將apk中的dex文件安裝到dalvik-cache目錄下(dex文件是dalvik虛擬機的可執行文件,其大小約爲原始apk文件大小的四分之一)

安裝過程:複製APK安裝包到data/app目錄下,解壓並掃描安裝包,把dex文件(Dalvik字節碼)保存到dalvik-cache目錄,並data/data目錄下創建對應的應用數據目錄。
卸載過程:刪除安裝過程中在上述三個目錄下創建的文件及目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章