Android恢复模式中缺少/ system / bin / sh

时间:2017-09-29 17:52:51

标签: android shell adb

当我尝试shell时,我在Android恢复模式adb中收到以下消息:

  

exec'/ system / bin / sh'失败:没有这样的文件或目录(2)

然而,我有一个sh in / sbin。我试图重新编译adb但是我没有完成任务。我需要使用adb v1.0.31。我想知道是否有人有类似的问题并重新编译adb以寻找sh in / sbin。如果是这样,我将非常感谢adb程序的副本。

1 个答案:

答案 0 :(得分:1)

在某些情况下,恢复上下文中的Android文件系统非常有限。大多数文件都被删除,包括解释器:

/system/bin/linker64

/system/bin/linker

如果没有解释器,你就无法运行sh,它与之相关联。在您编译AOSP(输出文件夹)的Linux PC中运行此命令以查找:

/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)或依赖它的二进制文件中复制解释器。

我宁愿为您的需求寻找不同的解决方案。