스폰서링크

보험비교샵 - 보험비교사이트,20개보험사 보험료비교견적
direct-bohum.com

보험비교닷컴 - 보험비교,민영의료보험,병원비90%환급보험
inr.kr

메리츠화재 - 메리츠화재 100세의료실비보험사이트
meritz.tv


Discovering "adb shell" gave joy, experiencing the shell as minimal bash with awful line handling (backspace and command recall) gave annoyance, experiencing "adb root" refusing access gave frustration.

After some tracking, it turns out that adbd behaviour is determined by the property "ro.debuggable" which is set during system init. The initial value is located in the file "/default.prop".

$ cat default.prop
 
cat default.prop

 # ADDITIONAL_DEFAULT_PROPERTIES

ro.secure=1

ro.allow.mock.location=0

ro.debuggable=0

persist.service.adb.enable=0



In JP6 it is set to 0 resulting is adbd refusing access. However, set to 1, "adbd root" will give the much better response of "restarting adbd as root".


Once set, the property value cannot be changed. To get this fixed you need to change the contents of the file default.prop which is located in the initial ramdisk image.


Optionally, you can put a replacement shell in /sbin of in ramdisk image so that when connected "exec bash" will make things more relaxing. I attached the version I am using, which is statically linked with ncurses/readline. 
 


There is also a simple patch to unlock adbd if you dislike opening and rebuilding the ramdisk image. However, you do need binoffset which is located in the scripts directory of the linux source tree.
 


Code:
ofs=`scripts/binoffset initramfs.cpio \`echo -n 'debuggable=0' | od -t u1 -An\` 2>/dev/null`
echo 'debuggable=1' | dd bs=1 seek=$ofs conv=notrunc of=initramfs.cpio

저작자 표시
-->