HarmonyOS 鸿蒙Next手机如何执行shell命令行程序
HarmonyOS 鸿蒙Next手机如何执行shell命令行程序
各位老师大家好,目前我在尝试把openssl的代码,在HarmonyOS NEXT做移植验证,目前已通过native sdk编译出了对应的C语言库和可执行程序,想在HarmonyOS NEXT手机上,通过命令行进行测试。类似以前Android的adb shell,在Linux命令行执行./test
运行。期待各位老师们的解答,谢谢!
不光没法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
转一下;
你可尝试一下:
- 连接手机到电脑(USB),确保IDE设备中可显示;
hdc file send <local_file> /storage/emulated/0/Documents/<filename>
将文件传送进手机;- 命令行:
hdc -c shell
进入手机HOS shell界面;命令cd /storage/emulated/0/Documents
- 如果传送的文件有执行权限,则可尝试执行;我的测试是无法以shell 身份设置文件的可执行权限。因此到这儿就无法继续了。
最终有尝试成功吗,用shell命令执行程序,
HarmonyOS 鸿蒙Next手机执行shell命令行程序通常需要通过特定的开发者工具或调试桥(如ADB,Android Debug Bridge)来实现,尽管鸿蒙系统有其独特性,但ADB在一定程度上仍然适用。以下是在鸿蒙Next手机上执行shell命令行程序的基本步骤:
-
开启开发者选项与USB调试:首先,需要在手机的设置中开启“开发者选项”,并在其中启用“USB调试”功能。这一步骤允许电脑通过USB连接与手机进行通信。
-
安装ADB工具:在电脑上安装ADB工具,这通常包含在Android SDK的平台工具中。安装完成后,可以通过命令行界面(CMD或Terminal)使用ADB命令。
-
连接手机:使用USB线将手机连接到电脑,并确保ADB能够识别到设备。在命令行中输入
adb devices
,如果设备被正确识别,会显示设备的序列号。 -
执行shell命令:一旦设备被识别,可以通过
adb shell
命令进入手机的shell环境。之后,可以直接在命令行中输入想要执行的shell命令,如ls
列出目录内容,cd
切换目录等。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,