一、内部存储
根目录
/data/user/0/xxx包名/,(>=6.0)
/data/data/xxx包名/,(<6.0)
ApplicationInfo applicationInfo = getApplicationInfo();
applicationInfo.dataDir;
不需申请权限,卸载即删除,root权限查看,app私有。
根目录下文件夹
/data/user/0/xxxx/shared_prefs
/data/user/0/xxxx/cache
/data/user/0/xxxx/code_cache
/data/user/0/xxxx/lib
/data/user/0/xxxx/files
/data/user/0/xxxx/databases
/data/user/0/xxxx/lib-main
/data/user/0/xxxx/app_webview
/data/user/0/xxxx/app_textures
/data/user/0/xxxx/.cesium
/data/user/0/xxxx/H5Cache
/data/user/0/xxxx/.uniaccount
cache和files文件夹。
Context.getCacheDir()
/data/user/0/xxx包名/cache/
Context.getFilesDir()
/data/user/0/xxx包名/files/
sharedpreferences路径
/data/user/0/xxx包名/shared_prefs/xml文件,仅支持java基本数据类型。
sqlite路径
/data/user/0/xxx包名/databases/db文件。
apk路径
applicationInfo.sourceDir
/data/user/0/xxx包名-xxxxxxx==/base.apk
lib路径
applicationInfo.nativeLibraryDir
/data/user/0/xxx包名-xxxxxxx==/lib/x86/
二、外部存储
根目录
/storage/emulated/0/
Environment.getExternalStorageDirectory()
1,需要申请文件权限(非Android/包名目录),注意Android权限申请兼容问题,判断SD卡挂载情况。
Android 10不允许在根目录创建文件,当配置targerversion是29,会适配10系统存储权限,向根目录下创建文件报Permission denied。
2,app目录,Android/data/包名xxx/,数据私有,不需申请权限,卸载即删除。
Context.getExternalFilesDir(Stringtype)
/storage/emulated/0/Android/data/xxx包名/files/
Context.getExternalCacheDir()
/storage/emulated/0/Android/data/xxx包名/cache/
任重而道远
网友评论