/system/bin/sh在Android恢复模式下缺少



我在尝试外壳时在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)或依赖它的二进制文件中复制解释器。

我宁愿为您的需求寻找其他解决方案。

最新更新