HarmonyOS 鸿蒙Next hdc shell 运行程序

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next hdc shell 运行程序

我使用 ohos-sdknative/llvm 交叉编译出来的可执行程序,为什么放在 /data/local/tmp/ 下不可执行,harmony next 把这个权限也限制了吗?
它的 selinux 规则应该怎么查看呢?

8 回复
你使用的命令和执行命令后的提示是什么呢

显示如下

$ ls -lZ toybox -rwxrwxrwx 1 shell shell u:object_r:data_local_tmp:s0 430568 2024-06-04 15:47 toybox $ ./toybox /bin/sh: ./toybox: Permission denied $ file toybox toybox: ELF shared object, 64-bit LSB arm64, dynamic (/lib/ld-musl-aarch64.so.1)

没测试ELF文件,测了个脚本文件可执行,这样看来OS安全机制是不让shell运行ELF文件; 有没试一下,放在一个脚本文件中执行呢?

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

您的脚本大概是怎么写的呢,我测试了下,一般的脚本好像也无法执行

有没有修改文件的权限,如 chmod 766 filename ?

用 ls -l /data/local/tmp 查看一下可执行程序文件是否已有如下可执行权限:

-rwxrw-rw- 1 shell shell 12 2024-06-07 11:35 test.sh

有了 x 权限才可执行。

不行的,你看我楼上回复的信息。

在HarmonyOS鸿蒙系统中,使用hdc shell运行程序是一个常见的开发调试手段。hdc(HarmonyOS Device Connector)是鸿蒙系统提供的设备连接工具,它允许开发者通过命令行与设备进行交互。

要运行一个程序,首先需要确保hdc已经正确连接到你的鸿蒙设备。你可以通过hdc list targets命令来检查设备是否已经被成功识别。

一旦设备连接成功,你可以使用hdc shell命令进入设备的shell环境。在这个环境中,你可以像操作Linux系统一样运行各种命令。

要运行一个特定的程序,你需要知道该程序的完整路径或者它所在的目录。例如,如果你的程序是一个可执行文件,位于/data/local/tmp目录下,你可以使用以下命令来运行它:

hdc shell /data/local/tmp/your_program_name

请确保你的程序有执行权限,否则你可能需要先使用chmod命令来修改它的权限。

如果程序需要特定的参数,你可以在程序名称后面直接添加。例如:

hdc shell /data/local/tmp/your_program_name arg1 arg2

这里的arg1和arg2是程序所需的参数。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部