繁体   English   中英

android adb shell权限被拒绝

[英]android adb shell permission denied

我在使用adb.exe遇到了adb.exe

我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)

更改bash二进制文件遵循以下顺序

  1. adb remount
  2. adb push bash /system/bin/

  3. adb shell

  4. cd /system/bin
  5. chmod 777 bash
  6. mv sh sh.bak
  7. ln -s bash sh

第一次更改成功,但第二次尝试时出现问题。

我推新的bash二进制文件,但我错过了更改bash的权限777,并断开了adb shell

C:\Program Files (x86)\Android\android-sdk\platform-tools>adb.exe shell
- exec '/system/bin/sh' failed: Permission denied (13) -

C:\Program Files (x86)\Android\android-sdk\platform-tools>

有没有明智的想法来解决这个权限问题?

请帮我...

如果设备没有完全崩溃(/ system / bin / sh是很多东西的依赖项 - 重启可能不会很远!)并且系统分区仍然是可写的,你可能能够adb推送一个新的副本bash,你在推送它之前在主机系统上根据需要设置了权限位(你可能必须使用cygwin甚至linux才能在本地拥有权限位)

听起来设备已植根,因此您可以配置或自定义终端仿真器应用程序以使用备份sh为您提供会话,使用某些升级工具以root身份再次运行备份sh,然后解决问题。

如果您使用adb修改了恢复,则可以通过手动挂载(正常)系统分区来从中修复它。

最后的手段将从供应商签署的香草图像恢复。

希望你没有陷入困境, 但也许你已经从这次经历中学到了 - 改变默认shell可能不是一个好主意。 最好以不同的名称加载自定义shell并手动运行它。

执行此类操作的一般解决方案:删除系统应用程序和所有。

adb shell
mount -o rw,remount -t yaffs2 /dev/block/mtdblk4 /system
cd /system/app/
rm maps.apk
mount -o ro,remount -t yaffs2 /dev/block/mtdblk4 /system
sync
reboot

如果安装了最新版本的CWM,则可以保存

a)adb reboot recovery(启动手机恢复)

b)在CWM恢复挂载/系统分区(使用您的手机)。

c)adb kill-server

d)sudo adb start-server

e)adb shell

f)你的事情是否正确设置了你的许可

我受到了答案的影响https://android.stackexchange.com/questions/38085/is-it-a-hard-brick/113507#113507?newreg=6e0c0c0be98349058d3e1668532cd7dc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM