HarmonyOS 鸿蒙Next手机如何执行shell命令行程序

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

HarmonyOS 鸿蒙Next手机如何执行shell命令行程序 各位老师大家好,目前我在尝试把openssl的代码,在HarmonyOS NEXT做移植验证,目前已通过native sdk编译出了对应的C语言库和可执行程序,想在HarmonyOS NEXT手机上,通过命令行进行测试。类似以前Android的adb shell,在Linux命令行执行./test运行。期待各位老师们的解答,谢谢!

10 回复

不光没法root,很多目录都没有权限,连ls看一下都不行,整个就一黑盒。

如果不想仅仅局限在做app开发的话,不知道各位大佬是如何研究鸿蒙NEXT的,

更多关于HarmonyOS 鸿蒙Next手机如何执行shell命令行程序的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


真机上需要root权限,模拟器上可以正常运行

# arm64-v8a
clang main.c --target=aarch64-linux-ohos --sysroot="C:/Program Files/Huawei/DevEco Studio/sdk/HarmonyOS-NEXT-DB1/openharmony/native/sysroot"

# x86_64
clang main.c --target=x86_64-linux-ohos --sysroot="C:/Program Files/Huawei/DevEco Studio/sdk/HarmonyOS-NEXT-DB1/openharmony/native/sysroot"

# push 文件到设备
hdc file send .\a.out /data/local/tmp

hdc shell
$ cd /data/local/tmp

$ ls -l
total 1296
-rw-r--r-- 1 shell shell   11480 2024-07-11 11:26 a.out
drwxr-xr-x 2 shell shell    4096 2024-07-11 10:51 debugserver

$ file a.out
a.out: ELF shared object, 64-bit LSB x86-64, dynamic (/lib/ld-musl-x86_64.so.1)

$ chmod a+x a.out

$ ./a.out
Hello, World!

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

你得打包成应用啊,

打包成应用,太复杂了,很多开源的代码,只有C语言的源码和用例,,

估计够呛!目前对等的命令行调试工具 hdc shell <cmd> 没有 root 权限,只能执行有限的一些命令;也许要先 root 手机(有违保修合约及其它风险,未找到官方许可的 root 流程);另外鸿蒙安全架构严格限制用户应用超权限执行,所以接入命令行是否能执行外来可执行程序严重存疑。可开客服工单询问官方是否有这方面开放的可能。

不一定要root权限啊,

基本信息

  • 项目名称: Markdown转换示例

  • 状态: 活动

  • 创建日期: 2023-10-01

  • 描述: 这是一个简单的HTML到Markdown转换示例。

从Linux OS角度讲,确实执行命令不一定需要root权限,进入HOS的shell后的用户身份如下:

uid=2000(shell) gid=2000(shell) groups=2000(shell),...

经测试,可在 /storage/emulated/0/Documents 目录内创建文件,定入文件,但无法更改为可执行权限(chmod),系统自带命令可执行,如 vi,但不给直接执行,需要用 toybox vi 转一下;

你可尝试一下:

  1. 连接手机到电脑(USB),确保IDE设备中可显示;
  2. hdc file send <local_file> /storage/emulated/0/Documents/<filename> 将文件传送进手机;
  3. 命令行:hdc -c shell 进入手机HOS shell界面;命令 cd /storage/emulated/0/Documents
  4. 如果传送的文件有执行权限,则可尝试执行;我的测试是无法以shell 身份设置文件的可执行权限。因此到这儿就无法继续了。

最终有尝试成功吗,用shell命令执行程序,

HarmonyOS 鸿蒙Next手机执行shell命令行程序通常需要通过特定的开发者工具或调试桥(如ADB,Android Debug Bridge)来实现,尽管鸿蒙系统有其独特性,但ADB在一定程度上仍然适用。以下是在鸿蒙Next手机上执行shell命令行程序的基本步骤:

  1. 开启开发者选项与USB调试:首先,需要在手机的设置中开启“开发者选项”,并在其中启用“USB调试”功能。这一步骤允许电脑通过USB连接与手机进行通信。

  2. 安装ADB工具:在电脑上安装ADB工具,这通常包含在Android SDK的平台工具中。安装完成后,可以通过命令行界面(CMD或Terminal)使用ADB命令。

  3. 连接手机:使用USB线将手机连接到电脑,并确保ADB能够识别到设备。在命令行中输入adb devices,如果设备被正确识别,会显示设备的序列号。

  4. 执行shell命令:一旦设备被识别,可以通过adb shell命令进入手机的shell环境。之后,可以直接在命令行中输入想要执行的shell命令,如ls列出目录内容,cd切换目录等。

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

回到顶部