HarmonyOS鸿蒙Next中hdc如何发送文件到沙盒或者程序访问公共目录
HarmonyOS鸿蒙Next中hdc如何发送文件到沙盒或者程序访问公共目录
-
目前再做纯血鸿蒙手机的app开发,原android端,可以通过包名下的cache文件,设置配置文件,调试与测试程序。现在第一个尝试hdc访问沙盒,一直不行,权限不允许。不过按道理也不应该访问沙盒。
-
访问公共目录,之前在虚拟机是可以访问公共目录,并进行读书,但是在真实手机上,缺不行,后来查看相关权限只有2in1设备。
希望鸿蒙相关开发人员能够解惑,谢谢!!!
4 回复
参考官方文档
1、访问设备文件:通过IDE的Device File Browser或者hdc命令行
2、mediatool工具,操作媒体库资源
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/mediatool
更多关于HarmonyOS鸿蒙Next中hdc如何发送文件到沙盒或者程序访问公共目录的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
找官方支持,建议直接提单,这里面,官方不一定会关注
在HarmonyOS鸿蒙Next中,使用hdc
工具发送文件到沙盒或程序访问公共目录可以通过以下步骤实现:
-
发送文件到沙盒:
- 使用
hdc file send
命令将文件发送到设备的沙盒目录。例如:hdc file send local_file_path /data/app/el1/bundle/public/com.example.app/沙盒目录/
local_file_path
是本地文件路径,/data/app/el1/bundle/public/com.example.app/沙盒目录/
是目标沙盒目录。
- 使用
-
程序访问公共目录:
- 鸿蒙系统提供了
ohos.file.fs
API用于文件操作。通过getContext().getFilesDir()
获取应用沙盒目录,getContext().getExternalFilesDir()
获取外部存储目录。 - 使用
ohos.file.fs
API读取或写入公共目录文件。例如:const fileUri = 'file:///data/app/el1/bundle/public/com.example.app/公共目录/file.txt'; const file = fs.openSync(fileUri, fs.OpenMode.READ_WRITE); const content = fs.readSync(file.fd, { length: 1024 }); fs.closeSync(file.fd);
- 鸿蒙系统提供了
-
权限配置:
- 在
config.json
中配置ohos.permission.READ_MEDIA
和ohos.permission.WRITE_MEDIA
权限以访问公共目录。例如:"reqPermissions": [ { "name": "ohos.permission.READ_MEDIA" }, { "name": "ohos.permission.WRITE_MEDIA" } ]
- 在
以上方法适用于HarmonyOS鸿蒙Next中通过hdc
发送文件到沙盒及程序访问公共目录。