HarmonyOS鸿蒙Next中hdc从本地发送文件至远端设备错误:没有权限

HarmonyOS鸿蒙Next中hdc从本地发送文件至远端设备错误:没有权限 执行命令:

F:\>hdc file send F:\chessDown.mp3 /data/data/com.example.shoujitest/files

报错:

adb: error: stat failed when trying to push to /data/data/com.example.shoujitest/files: Permission denied

没有权限,怎么解决

18 回复

你说的远端设备是是指的远程模拟器吗还是啥呀?

更多关于HarmonyOS鸿蒙Next中hdc从本地发送文件至远端设备错误:没有权限的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


本地真机,

这个需要root吧,你可以百度一下!

项目名称

描述: 这是一个示例项目

状态: 活动

创建时间: 2023-09-15

最后更新: 2023-09-18

基本信息

  • 负责人: 张三
  • 团队: 开发团队
  • 版本: 1.0

详细信息

  • 需求: 完成模块A和模块B的开发
  • 进度: 模块A已完成,模块B进行中
  • 问题: 需要root权限

备注

  • 需要在测试环境中验证功能

楼主解决了,我也卡在这一步了

【背景】

1、hdc 与设备交互默认用户是 shell, uid = 2000,此用户目前在设备根目录只能访问有限子目录,包括:

  • /storage/emulated/0/…
  • /vendor/…

前者路径下是一些公共目录如Download,Documents, DCIM等;

具体目录访问权限通过 ls -l <path> 可查看Linux文件系统的文件/目录访问权限,如 drwxr-xr-x

若想自己遍历一下各目录,本帖前面有个回帖有操作细节。另外模拟器和真机有些目录存在差异,总体上比真机目录要少些;

2、沙箱目录不允许三方访问,hdc 工具对于所有应用也被看作第三方,因此有沙箱路径也无法用 hdc 进行文件导出或传入;官方暗示root过设备可传送,未尝试过。

【可用方案】HOS SDK API 9 实测可用,NEXT应当类似。

1、用 hdc file send <local> <device> 传送文件到公共目录,如 /storage/emulated/0/Download/ 目录;

2、如果想再移动到沙箱目录,则需要在应用中用代码进行复制从公共目录读取写入到沙箱目录,具体可参考 【文件访问小结】一贴:

https://developer.huawei.com/consumer/cn/forum/topic/0207152393697722606?fid=0101587866109860105

希望对需要的XDJM有用。

这个问题解决了吗?

向设备发送文件要先确定目标路径可访问,未root的设备很多路径是没有访问权限的,查看路径方式:

hdc -c shell  //进入设备
ls -l <path> 可查看路径是否可访问,可从根目录一级级查看,确定了能查看,再试试能不写文件:
echo "hello" > /<path>/test.txt   //生成一个文本文件保存 hello 字符串,如成功则可用
hdc send file <local_file> <device_path>  发送文件

前面任何一步不能正常完成则相应路径无法接收文件。

有懂得如何root的吗?

楼主解决了吗?

那你就添加权限,申请权限啊

这是一个示例段落。

这是另一个段落。

怎么申请添加权限,同问?

大佬懂的怎么操作吗,我也卡在这里了,

开发者您好,相关问题已经反馈给工作人员,稍后会再次回复您,感谢您对华为开发者论坛的支持。

这个问题怎么解决呀,

基本信息

  • 项目名称: 示例项目
  • 项目状态: 进行中
  • 项目负责人: 张三

在HarmonyOS鸿蒙Next中,使用hdc从本地发送文件至远端设备时出现“没有权限”错误,通常是由于以下原因之一:

  1. 设备未授权:确保远端设备已通过hdc授权。使用hdc list targets检查设备状态,若未授权,需在设备上确认授权提示。

  2. 文件权限不足:检查本地文件的权限,确保当前用户有读取权限。使用ls -l查看文件权限,必要时使用chmod修改权限。

  3. 目标路径权限不足:确认远端设备的目标路径有写入权限。使用hdc shell进入设备,检查目标路径权限,必要时使用chmod修改。

  4. hdc版本不匹配:确保使用的hdc版本与鸿蒙Next版本兼容。使用hdc -v检查版本,必要时更新hdc

  5. 设备存储空间不足:检查远端设备的存储空间,确保有足够空间接收文件。使用hdc shell df查看存储情况。

  6. 设备未连接或连接不稳定:确保设备通过USB或网络正确连接。使用hdc list targets确认设备连接状态,必要时重新连接。

  7. 防火墙或安全软件拦截:检查本地或远端设备的防火墙或安全软件设置,确保未拦截hdc通信。

  8. 设备处于非调试模式:确保远端设备已启用开发者选项和USB调试模式。

  9. hdc命令语法错误:检查hdc命令语法,确保正确使用hdc file send命令。

  10. 系统临时故障:重启本地和远端设备,重新尝试发送文件。

若问题仍未解决,可参考鸿蒙官方文档或社区论坛获取更多信息。

在HarmonyOS鸿蒙Next中,使用hdc从本地发送文件至远端设备时出现“没有权限”错误,通常是由于以下原因导致的:

  1. 设备未授权:确保远端设备已通过hdc授权连接。可以使用hdc list targets查看设备状态,若未授权,需在设备上确认授权提示。

  2. 文件路径权限不足:检查本地文件路径和远端设备的目标路径是否具有读写权限。确保目标路径是可写的。

  3. 设备存储空间不足:确认远端设备的存储空间是否足够接收文件。

  4. 命令格式错误:确保hdc file send命令格式正确,例如:hdc file send local_path remote_path

  5. 设备状态异常:重启设备或重新连接hdc

解决以上问题后,应能成功发送文件。

回到顶部