前言
Android平台下我们有时候会进入recovery下做一些操作,不管是通过ADB连接还是通过串口操作,都需要你的平台支持,不支持的话可以按照我们这篇文章进行修改。
正文
ADB连接
进入recovery后,我通过ADB连接会有如下报错exec "/system/bin/sh": No such file or directory
1
根据提示,应该是需要把sh打包到recovery.img里面,不过这里要注意的是,recovery下执行的bin文件需要静态编译才行,所以我们需要修改sh编译的Android.bp文件:diff --git a/external/mksh/Android.bp b/external/mksh/Android.bp
index 2bca561e9d..5fb3c67ad7 100644
--- a/external/mksh/Android.bp
+++ b/external/mksh/Android.bp
@@ -120,6 +120,7 @@ cc_defaults {
cc_binary {
name: "sh",
+ static_executable: true,
defaults: ["sh-defaults"],
}
1234567891011
然后将编译出来的sh文件打包到recovery.img里面:diff --git a/build/make/core/Makefile b/build/make/core/Makefile
ind