记一次折腾的android无线调试经历。 Android 4.2.2定制版智能硬件, USB口能插鼠标键盘, 但是不能USB调试。供应商两个方案, 要么开壳找到USB OTG排座, USB口自己接线, 但是开壳会导致硬件功能无法使用; 要么手工打包apk安装到硬件慢慢的toast。 摸索出第三条路。 搜索android无线调试, 基本都需要第一次USB调试线, adb tcpip 5555开启android设备端口监听, 之后adb connect ip port。笔者不想开壳, 即这个方案无望。 有些好奇为什么那些android模拟器, 游戏模拟器可以直接debug, adb connect可以直接连过去, android x86还有快捷键直接进入shell, 应该是启动了一个adbd的debug的服务。先装个手机版的shell, JuiceShell吧, 看能不能启动, 不行就把设备ROOT了。 shell执行su, 切换到了root账户, 好像设备是默认给root了。 去开启服务 setprop service.adb.tcp.port 5555 Android 4.2开启开发者模式, 对着版本点击5-7下, 勾选debug。 Android studio打开terminal, adb connect yourDeviceIp 5555, 貌似连通了一点点, 提示unauthorized验证未通过。 一般手机调试会弹出一个RSA指纹确认, 需要手机确认授权。 而这个智能硬件精简了很多东西, 没法弹出也没法设置。 继续百度, 源码UsbDebuggingActivity.java, 貌似和两个系统属性有关联 ro.debuggable=1 //打开debug选项 去手机的shell慢慢打,尝试修改 setprop ro.debuggable 1 很可惜依旧不行, 奇怪的是setprop之后再去getprop查看属性值, 没修改成功, 搞不清楚是不是真正的root了。 如何跳过指纹和信任证书的验证呢? 自己build ROM的牛人还是多, android信任的证书是放在/data/misc/adb/adb_keys, 到shell不存在这个文件, 把本机 C:\Users\Administrator\.android\adbkey.pub 拷贝为adb_keys, 重启adbd, 使用adb connect连接一次, connected. 巴掌大的屏幕玩shell, 折腾得不行, 有人包装个APK工具就好了。 原文链接: https://tech.lock-in.cn/news/e488d2faa17048448911cfcc5873d391 笔者注: 正准备把以往一些技术文章往头条号迁移, 提高下流量,也可关注微信公众号. |