部分内容转自: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
服务写进这个脚本中