我在尝试外壳时在Android恢复模式ADB中获取以下消息:
exec'/system/bin/sh'失败:没有这样的文件或目录(2)
但是,我有一个sh/sbin。我试图重新编译ADB,但没有完成任务。我需要使用ADB V1.0.31。我想知道是否有人也有类似的问题,并重新编译了ADB以在/SBIN中寻找SH。如果是这样,我将非常感谢ADB程序的副本。
在恢复上下文中的Android文件系统在某些情况下非常有限。大多数文件被删除,包括解释器:
/system/bin/linker64
或
/system/bin/linker
没有解释器,您将无法运行SH,这与它链接。在Linux PC中运行此此操作,在其中编译AOSP(OUT文件夹)以找出:
/system/bin$ readelf -d --program-headers sh
...
[Requesting program interpreter: /system/bin/linker64]
...
0x0000000000000001 (NEEDED) Shared library: [libc++.so]
0x0000000000000001 (NEEDED) Shared library: [libdl.so]
0x0000000000000001 (NEEDED) Shared library: [libc.so]
当运行sh时,它将寻找/system/bin/linker,但不会找到它并说该文件不存在。
如果您需要在恢复模式下的ADB支持,则必须在恢复文件系统和所有其他共享库(/System/lib)或依赖它的二进制文件中复制解释器。
我宁愿为您的需求寻找其他解决方案。