Android 存储路径

2019-04-03  本文已影响0人  gczxbb

一、内部存储

根目录
/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/


任重而道远

上一篇下一篇

猜你喜欢

热点阅读