部分內容轉自:http://blog.csdn.net/alexbxp/article/details/7242083
用adb connect ip:5555總是提示10061錯誤,解決方法如下:
1.手機通過數據線連接電腦
2.電腦上運行adb tcpip 5555
3.拔掉手機,運行 adb connect 手機ip:5555
成功!
但是上面的方式有個問題,就是必須手機要用數據線連一下電腦,切換為無線連接模式。
第二種方式是開機默認開啟無線連接模式(這種方法沒有成功,因為stop adbd之后沒有不能進行start adbd,導致device offline,無法使用adb)
下面有兩點要注意:
(1)sh腳本如果在windows環境下編寫,換行符是CR LF導致無法在安卓系統下運行,所以要在linux環境下編寫sh腳本
(2)現將sh腳本push到/sdcard目錄下,然后再cp到/data/local或者/system/etc目錄下。否則可能由於沒有權限導致push失敗
1.在android shell中可以查看掛載信息
#monut
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
從上面的紅字部分可以看得出/system的權限是ro即是read only。
2.# mount -o remount /dev/block/mtdblock0 /system
# mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
已經修改完成
如果要改回去ro
#mount -o remount,ro /dev/block/mtdblock0 /system
此時/system目錄已經是讀寫權限了。
3.android開機會默認執行init.rc文件,它是開機自動創建的,但是它會運行/system/etc/install-recovery.sh腳本,所以可以將啟動service.adb.tcp.port 5555
服務寫進這個腳本中