HarmonyOS 鸿蒙Next 如何将电脑上的文件传输到模拟器内的文件管理app中
HarmonyOS 鸿蒙Next 如何将电脑上的文件传输到模拟器内的文件管理app中
模拟器版本 Developer Beta1, 想将一个文件导入模拟器内的[文件管理]->[内部存储]->[文档],
在macOS上用hdc 只能把文件send到data/local/tmp/, 想知道如何把文件传输到模拟器内置的 [文件管理] 应用内
后来我抽空儿又全目录搜索了下,终于找到了,发现比如文件管理app中下载文件夹的对应路径是
data/service/el2/100/hmdfs/account/files/Docs/Download/
用类似如下的命令可以把文件传上去
hdc -c file send ./test.jpg data/service/el2/100/hmdfs/account/files/Docs/Download/
不确定在不同的模拟器实例中是否会有差异,有需要的朋友可以测试下是否可用。
有可能是模拟器版本不同,实际的目录也不同。
请问下有什么其他操作码,我这边提示Error opening file: permission denied DevEco 4.1.3
打开Device File Browser 右键文件夹 可以直接 上传下载
哥,我咋没找到,是有特殊的开关吗?
公共目录应该能用 hdc file 命令传输文件,试试:
hdc -c file send <local_file_path> storage/emulated/0/Download/<file_name>
替换<>中路径或文件名为真实名,Download目录也可换成其它公共目录,如Document之类。传送成功后可在文件管理器中打开相应目录查看。
文件管理器只能访问公共目录,不能访问沙箱路径,如果要传入沙箱,只能用应用中代码读取公共目录,然后用 [@ohos](/user/ohos).file.fs 接口中 copyFile/copyFileSync 复制到沙箱目录中。
看来在模拟器里没有这个目录,会返回如下的错误 [Fail]Error opening file: no such file or directory, path:storage/emulated/0/Download/foo.zip
真实路径有两种方式查看: 1、在模拟器/真机上打开“文件管理器”直接查看具体公共目录名; 2、打开系统命令行窗口或IDE Terminal窗口,用hdc -c shell 进入设备shell,然后用 ls -l <path> 命令一层层查看上面的路径,看最后能否列出目录内容,如果可以,则 hdc -c file send/recv 文件传输命令应当可以执行。
应该和沙盒机制有关,我先前也进shell凭感觉去列了下目录,目前没找到,尝试用find从/查的时候,会有大量的目录shell用户无权限。 有时间还是查查文档,自己写一个直接操作fs的小demo, 打包的时候把文件直接带进去,直接加一个别存为功能,应该是能走得通的。 其实本来还想用http直接下载,但当时模拟器里没有提供默认浏览器。:-(
同问
要将电脑上的文件传输到鸿蒙模拟器内的文件管理app中,可以使用hdc工具。首先,确保你的电脑与模拟器已连接。然后,通过hdc命令将文件发送到模拟器的指定路径,例如hdc -c file send ./local_file_path /data/service/el2/100/hmdfs/account/files/Docs/Download/
(注意路径可能因模拟器版本和配置而异,需根据实际情况调整)。如果文件管理器只能访问公共目录,请尝试将文件发送到如storage/emulated/0/Download/
等公共目录。如果问题依旧没法解决请加我微信,我的微信是itying888。