2011-07-20 41 views
7

Estaba usando adb anterior para depurar aplicaciones de Android a través de wifi, usb, fue genial.Depuración de Android a través de Bluetooth

En este momento me pregunto si es posible conectar el teléfono con adb a través de bluetooth. Hice una búsqueda rápida pero no encontré nada, ¿ya lo has probado?

Respuesta

4

No es compatible con el software actual de adb, sin embargo, es posible que lo haga posible si tiene un dispositivo rooteado (o incluso si no - vea abajo) modificando adb o usando bluetooth para tunelizar un canal no es compatible, como tcp.

Necesitará obtener la fuente del programa adb: la misma fuente se usa para compilar las versiones de PC y dispositivo. El primer paso es simplemente compilarlo con funcionalidad no modificada, que puede requerir una gran cantidad de modificación del sistema de compilación a menos que lo haga como parte de una compilación completa de origen de Android (de la manera en que estaba previsto hacerlo)

Entonces lo modificaría para agregar un canal bluetooth como una opción e instalarlo en el dispositivo (por qué necesita root) y en su camino en la PC. Podrías pensar que podrías ejecutarlo desde una ubicación alternativa en la PC, y es probable que puedas usarlo desde la línea de comando, pero si disparas DDMS, puede acabar con el servidor adb en ejecución e iniciar uno nuevo. utilizando el valor predeterminado en la ruta, por lo que en última instancia deberá colocar allí su versión modificada.

si ya puede obtener su dispositivo para aceptar conexiones ADB sobre el TCP (posible con la raíz, tal vez sea posible en algunos casos sin) hay otra opción, que es la de no modificar el BAD (o al menos no modificar el dispositivo lado) y, en su lugar, aparece algo que se ejecuta en el dispositivo que acepta conexiones bluetooth y reenvía el tráfico a través del loopback local al puerto tcp en el que está funcionando el stock adb. Esto evitaría el problema de tener que reconstruir adb.

Si tiene algún tipo de anclaje a red o una solución de red sobre bluetooth similar, incluso podría aprovechar eso para llevar adb-over-tcp-over-bluetooth sin escribir ningún código.

Finalmente, tenga en cuenta que el adb daemon no se ejecuta como una ID de usuario más privilegiada o se instala en lugar de la oficial: puede ejecutar un adb daemon como una aplicación común y hacer muchas de las cosas esperadas cosas con eso. Sin embargo, cualquiera que sea el adb daemon que se ejecute primero, tomará el socket de depuración Java del dominio de Unix, por lo que solo ese adb daemon podrá proporcionar los servicios completos de depuración de Java. Cosas más primitivas como logcat, shell, lista de procesos en ejecución, push/pull, etc. funcionarán al menos parcialmente sin esto, siempre que su adb daemon no se cierre (se puede requerir modificación) cuando no pueda reclamar el socket de depuración. Si puedes matar al adb daemon oficial y explotar una condición de carrera, es posible que puedas iniciar uno no oficial antes de que se reinicie. Probablemente necesites tener un script o programa para hacerlo y ejecutarlo con setsid desde el adb oficial. shell, lo que significa que primero debe conectarse a través de USB. En ese punto, también podría iniciar su adb daemon no oficial ejecutándose como el mismo ID de usuario que el oficial.

Es posible que desee pasar algún tiempo estimando o probando si el rendimiento (velocidad) será satisfactorio antes de invertir en un montón de tiempo configurando esto de manera real.

1

Sé que esto es un poco viejo, pero parece que he encontrado una publicación que hace esto. Todo el crédito va al autor de fomori.org por encontrar esto y hacer que la información esté disponible. Hoy me ha ayudado, tal vez mañana te ayudaré haciéndolo más fácil de encontrar.

Source

+4

Mientras la fuente es externa a por lo que debe copiar las partes pertinentes de la respuesta. Su enlace fuente ahora está roto (al menos para mí), y su respuesta se volvió inútil. Aún así, le recomendamos que vincule sus fuentes y otorgue crédito, por supuesto, pero es mucho más útil no depender de terceros para nunca cambiar sus enlaces o eliminar contenido. – Thor84no

Cuestiones relacionadas