通过蓝牙进行Android调试

前端之家收集整理的这篇文章主要介绍了通过蓝牙进行Android调试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用早期的adb通过wifi,usb来调试 Android应用程序 – 它很棒.

现在我想知道是否可以通过蓝牙连接手机和adb.
我做了一个快速的研究,但没有找到任何东西 – 你已经尝试过吗?

解决方法

当前的adb软件不支持它,但是你可以通过修改adb或使用蓝牙来隧道它支持的通道,如果你有一个有根设备(或者可能即使没有 – 见下文)也可以做到这一点.作为tcp.

您需要获取adb程序的源代码 – 相同的源代码用于构建PC和设备版本.第一步是使用未修改功能构建它,这可能需要相当多的构建系统修改,除非你作为完整的android源代码构建的一部分(它打算完成的方式)

然后你会修改它以添加一个蓝牙通道作为选项并将其安装在设备上(为什么你需要root)和你在PC上的路径.您认为可以从PC上的备用位置运行它,只要您从命令行使用它就可以,但是如果您启动DDMS它可能会杀死正在运行的adb服务器并启动一个新的使用路径中的默认值,因此最终您必须将修改后的版本放在那里.

如果您已经可以让您的设备通过tcp接受adb连接(可能使用root,可能在某些情况下可能没有),还有另一个选项,即不修改ADB(或至少不修改设备端)而是出现在设备上运行的东西接受蓝牙连接,并通过本地环回将流量转发到库存adb运行的tcp端口.这样可以省去重建adb的麻烦.

如果你有某种网络共享或类似的网络蓝牙解决方案,你甚至可以利用它来携带adb-over-tcp-over-bluetooth而无需编写任何代码.

最后请注意,adb守护程序作为更高权限的用户标识运行或安装代替官方标识符并非100%必要 – 您可以将adb守护程序作为普通应用程序运行,并使用它执行许多预期的操作.但是,无论哪个adb守护程序首先运行都会获取unix域java调试套接字,因此只有该adb守护程序才能提供完整的java调试服务.如果你的adb守护进程在无法声明调试套接字时没有退出(可能需要修改),那么logcat,shell,运行进程列表,推/拉等更原始的东西将至少部分工作.如果你可以杀死官方的adb守护进程并利用竞争条件,你可能会在它重新启动之前启动一个非官方的 – 你可能需要有一个脚本或程序来执行此操作并使用来自官方adb的setsid运行它shell,意味着你需要先通过USB连接.此时,您还可以启动非官方adb守护程序作为与官方用户标识相同的用户标识运行.

您可能需要花一些时间来估算或测试性能(速度)是否令人满意,然后再投入大量时间进行实际设置.

猜你在找的Android相关文章