最近我重置了我的安卓手机。在重置之前,我能够通过adb install
安装应用程序。手机没有被root。
重置后,我几乎无法在adb shell中执行任何命令(包括不存在的命令)都会提示“操作不允许”:
$ install
install: permission denied
$ push
push: permission denied
$ remount
remount: permission denied
$ su
su: permission denied
$ kmmsaldfmaldskfmlasdf
kmmsaldfmaldskfmlasdf: permission denied
$
对我来说,大部分的PATH都无法阅读(除了/system/bin和/system/xbin):
$ echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
$ ls /sbin
opendir failed, Permission denied
$ ls /vendor/bin
/vendor/bin: No such file or directory
$ ls /system/sbin/
/system/sbin/: No such file or directory
如果我运行
adb root
:$ adb root
adbd cannot run as root in production builds
根据我的搜索(已经花费了比必要的更多的时间),一些指针是默认.prop文件:
$ cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1
$
但是我没有对default.prop的写入权限:
$ ls -l default.prop
-rw-r--r-- root root 118 1969-12-31 19:00 default.prop
$
我似乎也无法重新装载。我在非root设备上成功使用了adb,为什么现在这么麻烦呢?有人遇到过这个问题吗?我的手机对我来说几乎无法使用,并且当然我也不能进行任何开发。
尝试将其重新挂载为读写模式:
$ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/stl9 /system rfs ro,relatime,vfat,log_off,check=no,gid/uid/rwx,iocharset=cp437 0 0
/dev/stl10 /cache rfs rw,nosuid,nodev,relatime,vfat,llw,gid/uid/rwx,iocharset=cp437 0 0
/dev/stl6 /mnt/.lfs j4fs rw,relatime 0 0
/dev/stl11 /data rfs rw,nosuid,nodev,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=cp437 0 0
$ mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /
mount: Operation not permitted
我的手机是三星Galaxy Y,这可能很重要。
2.3.6
为Android版本。我已经尝试更新,但它没有找到可用的更新。 - ealfonsoinstall
命令那样,如果你从 PC 的命令行中发出它们,会发生什么:adb install
等等?首先尝试从 PC 命令行中执行adb remount
。你可能还需要重新安装手机驱动程序(根据 此线程)。 - Ted Hoppadb remount
。问题仍然存在,为什么我无法使用 shell? - ealfonsoadb remount
失败,显示Operation not permitted
。 - ealfonsoadb kill-server
->sudo adb start-server
adb kill-server
->sudo adb start-server
- Héctor