转载时请注明出处和作者联系方式
文章出处:http://blog.chinaunix.net/uid/30230931.html
作者联系方式:JonLee <>
android recovery 模式下出于安全的考虑,一般禁止adb和adb shell 登陆。如果需要在recovery 模式下进行debug ,需要配置下列文件和步骤:
1.开启adb支持
out/*/recovery/root/sbin 目录下有adbd 文件
bootable/recovery/etc/init.rc 中是adb 配置
import /init.recovery.${ro.hardware}.rc
on early-init
start ueventd
start healthd
on init
export PATH /sbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard
symlink /system/etc /etc
mkdir /sdcard
mkdir /system
mkdir /data
mkdir /cache
mount /tmp /tmp tmpfs
chown root shell /tmp
chmod 0775 /tmp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
on property:sys.powerctl=*
powerctl ${sys.powerctl}
service ueventd /sbin/ueventd
critical
service healthd /sbin/healthd -n
critical
service recovery /sbin/recovery
service adbd /sbin/adbd recovery
disabled
socket adbd stream 660 system system
# Always start adbd on userdebug and eng builds
on property:ro.debuggable=1
write /sys/class/android_usb/android0/enable 1
start adbd
# Restart adbd so it can run as root
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
挂载system分区
on fs
mount_all /fstab.recoverymode
fstab.recoverymode内容:(不同平台有所差异)
/dev/block/platform/15740000.dwmmc0/by-name/system /system ext4 ro wait