需要鸿蒙6系统,鸿蒙5不支持。打开开发者模式后,从应用商店的应用尝鲜里安装 CodeArts IDE。如果你安装过 Termony,打不开 CodeArts IDE 的终端,请先卸载 Termony 然后重启电脑。
注意:签名只是让ELF有权限运行,不能让原本就不兼容鸿蒙的ELF在鸿蒙里正常运行。
如果ELF不是静态链接的程序,并且依赖glibc,那大概率不能在鸿蒙内正常运行。
如果ELF依赖其他.so库,那所有.so库也都需要签名,并且需要配置LD_LIBRARY_PATH环境变量指向so所在文件夹。
binary-sign-tool sign -inFile ELF文件名 -outFile ELF文件名 -selfSign 1
签名当前目录及其子目录下的所有ELF文件:
find . -type f -exec file '{}' ';' | grep --line-buffered ': ELF ' | awk -F': ELF ' '{print $1}' | while read f; do echo "$f"; binary-sign-tool sign -inFile "$f" -outFile "$f" -selfSign 1; done
以这个从 Termony 项目里提取的 busybox 命令为例:busybox(1.77 MB)
签名前:
签名:
binary-sign-tool sign -inFile busybox -outFile busybox -selfSign 1
签名后: