Android模拟器拍摄的照片文件在主机端的具体存储位置查询
问题解答
为什么你在.android目录下找不到目标图片
你之前查阅的帖子说明的是Android模拟器系统镜像的存放位置,而模拟器运行时的内部存储数据(包括你拍摄的照片)不会以独立文件的形式散列在主机目录中,而是全部打包存储在对应AVD虚拟设备的虚拟磁盘镜像里,默认路径为~/.android/avd/你的AVD设备名.avd/userdata-qemu.img,因此直接使用find命令搜索单独的jpg文件不会返回结果。
如何获取模拟器内的文件/向模拟器传入视频文件
开发调试阶段最简便的方案是使用adb命令进行文件传输:
- 将模拟器内的照片导出到主机:执行
adb pull /storage/emulated/0/DCIM/Camera/IMG_20211021_115000.jpg 你主机的目标存储路径 - 将主机的视频文件传入模拟器供你的应用读取:执行
adb push 你主机上的视频文件路径 /storage/emulated/0/Movies/
应用存储视频的路径建议
你开发加载视频的应用时,可以根据使用场景选择存储路径:
- 视频仅为你的应用私用,无需对外暴露:选择应用内部存储路径
/data/data/[你的应用包名]/files/,该路径无需申请额外存储权限,仅你的应用可以访问 - 视频需要在公共目录展示、或允许其他应用访问:选择公共存储路径
/storage/emulated/0/Movies/或/storage/emulated/0/DCIM/,注意根据目标Android版本申请对应存储权限:- Android 10及以上:申请
READ_MEDIA_VIDEO权限 - Android 9及以下:申请
READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE权限
- Android 10及以上:申请
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

