系统有一个init.rc文件,修改启动次序。

解决方案 »

  1.   

    recovery的init.rc就这些service ueventd /sbin/ueventd
        criticalservice recovery /sbin/recoveryservice adbd /sbin/adbd recovery
    #    disabledon property:persist.service.adb.enable=1
        start adbdon property:persist.service.adb.enable=0
        stop adbd
    而且看到说提示是正确的
    Launching ADB in recovery
    Currently, we don't know how it happens, but sometimes ADB starts while the system is booting in recovery. (We believe it to be a race condition at present.)On the host, run adb shell in a loop.
    On Linux, syntax will be something like while true; do adb shell; done
    Repeatedly reboot your device into recovery mode (if it comes up normally, adb reboot recovery).
    If the shell repeatedly says error: device not found when in recovery mode, press vol-up and power at the same time, then reboot and try again.
    If the shell repeatedly says - exec '/system/bin/sh' failed: No such file or directory (2) -, then ADB is running in recovery mode; congratulations.
      

  2.   

    in 'mounts and storage', 'mount /system'
      

  3.   

    楼主recovery模式下支持adb shell的问题解决了吗?
      

  4.   

    修改recovery/root/init.rc 确保有以下配置:    mkdir /system
        mkdir /system/bin    symlink /system/etc /etc
        symlink /sbin/busybox /system/bin/sh
      

  5.   

    fix up adb to prefer /sbin/sh if it existshttps://github.com/CyanogenMod/android_system_core/commit/b78534f1efdd2587041dadc045fbbdade456a442