Android 獲取各種路徑方法以及對路徑的解釋

1.通過Context獲取

 

Context.getPackageResourcePath() 獲取該程序的安裝包路徑 : /data/app/<package name>/base.apk
Context.getPackageName() 用於獲取APP的所在包目錄 : com.jhk.androidstudy (<package name>)
Context.getPackageCodePath() 用來獲得當前應用程序對應的 apk 文件的路徑 : /data/app/<package name>/base.apk
Context.getDatabasePath() 返回通過Context.openOrCreateDatabase 創建的數據庫文件(/data/data/<package name>)
Context.getFilesDir().getPath() 用於獲取APP的files目錄 /data/data/<package name>/files
Context.getCacheDir().getPath() 用於獲取APP的cache目錄 /data/data/<package name>/cache
Context.getExternalCacheDir().getPath() 用於獲取APP的在SD卡中的cache目錄/mnt/sdcard/Android/data/cache
Context.getObbDir().getPath() 用於獲取APP SDK中的obb目錄 /mnt/sdcard/Android/obb/<package name>

 

 2.通過Environment獲取的

Environment.getDataDirectory().getPath() 獲得根目錄/data (內部存儲路徑)
Environment.getDownloadCacheDirectory().getPath() 獲得緩存目錄/cache
Environment.getExternalStorageDirectory().getPath() 獲得SD卡目錄/mnt/sdcard(獲取的是手機外置sd卡的路徑)
Environment.getRootDirectory().getPath() 獲得系統目錄/system

 

說明:

 /data/data/package_name/ 該目錄是隻對應用可見的,而且如果手機沒有root,用adb也是看不了這個目錄,該目錄用來存儲和應用週期相關的文件,會隨着應用的卸載一起刪除掉 
- /data/data/com.android.framework/shared_prefs/ 用來存儲SharedPreference 
- /data/data/com.android.framework/databases/ 用來存儲數據庫DB,相關函數還有getDatabasePath() 
- /data/data/com.android.framework/app_webview 和 /data/data/package_name/xxxwebviewcachexxx 用來存儲應用內置

webview所產生的cache和cookies等,該目錄由於android版本不同名字和位置也可能不同 


- /data/data/com.android.framework/lib 用來存儲該應用的.so靜態庫文件 
- /data/data/com.android.framework/cache 該目錄可以使用函數getCacheDir()獲取 
- data/data/com.android.framework/files 該目錄可以使用函數getFilesDir()獲取,openFileInput()和openFileOutput()函數也是在該目錄下操作文件,fileList()函數是用來列出該files目錄下的所有文件,deleteFile(String name)用來刪除該files目錄下的文件 
- /data/data/com.android.framework/ 這個目錄下面當然也能夠創建子集的目錄,使用的方法就是getDir(String name, int mode),參數中的name就是需要在該目錄下創建的子目錄名字,你如果能夠打開應用的該目錄,一般會在該目錄下看到很多子目錄 
- getPackageCodePath() = /data/app/com.android.framework-1.apk 
- getPackageResourcePath() = /data/app/com.android.framework-1.apk 

 

 

 

 

 

 

 

 

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