{"id":704,"date":"2015-05-26T19:05:10","date_gmt":"2015-05-26T17:05:10","guid":{"rendered":"http:\/\/mattiesworld.gotdns.org\/weblog\/?p=704"},"modified":"2015-07-22T21:27:14","modified_gmt":"2015-07-22T19:27:14","slug":"adb-over-ethernet","status":"publish","type":"post","link":"https:\/\/world.shibby.be\/weblog\/2015\/05\/26\/adb-over-ethernet\/","title":{"rendered":"ADB over Ethernet"},"content":{"rendered":"<p>You say: &#8220;what, another adb app?!&#8221; I have my reasons. \ud83d\ude42<\/p>\n<p>While\u00a0developing an Android TV app on my nexus player, I noticed that besides the annoying thing of constantly having to switch input on my monitor (my secondary monitor is broken), it&#8217;s also quite cumbersome to switch the microUSB\u00a0cable at least once during a dev session. I use the microUSB connection to hook up a usb ethernet adapter. So when I want to debug, I have to switch the OTG cable for a regular one to enable ADB. Using the usb connection you can configure the device to enable ADB over ethernet, meaning you no longer need the usb cable but can connect to the adb daemon on the device over tcpip.<\/p>\n<p>There are a dozen of existing apps for this purpose. Unfortunately, most of them are not android TV friendly. For starters, there are none in the android TV store but this is mostly an inconvenience. Secondly, they don&#8217;t offer dpad\/controller navigation which renders them unusable. Thirdly, When I did find one app that offered navigation (although invisible), it required to use the wireless connection, while I have a wired connection.<\/p>\n<p>Since it is only running a few commands as root, I decided to quickly mash up\u00a0my own app. It offers clear button focus on android TV and is controller friendly. It tries to detect which network interface is currently in use. It is\u00a0also available now in the play TV store.<\/p>\n<p>Of course, the very first time you need to allow the rsa key of the connecting computer.<\/p>\n<figure id=\"attachment_705\" aria-describedby=\"caption-attachment-705\" style=\"width: 320px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=mattiesworld.gotdns.org.adboverethernet\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-705 size-full\" src=\"https:\/\/world.shibby.be\/weblog\/wp-content\/uploads\/2015\/05\/banner.png\" alt=\"ADBoverEthernet on Google Play store\" width=\"320\" height=\"180\" srcset=\"https:\/\/world.shibby.be\/weblog\/wp-content\/uploads\/2015\/05\/banner.png 320w, https:\/\/world.shibby.be\/weblog\/wp-content\/uploads\/2015\/05\/banner-300x168.png 300w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/a><figcaption id=\"caption-attachment-705\" class=\"wp-caption-text\">ADBoverEthernet on Google Play store<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>You say: &#8220;what, another adb app?!&#8221; I have my reasons. \ud83d\ude42 While\u00a0developing an Android TV app on my nexus player, I noticed that besides the annoying thing of constantly having to switch input on my monitor (my secondary monitor is broken), it&#8217;s also quite cumbersome to switch the microUSB\u00a0cable at least once during a dev &hellip; <a href=\"https:\/\/world.shibby.be\/weblog\/2015\/05\/26\/adb-over-ethernet\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">ADB over Ethernet<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-704","post","type-post","status-publish","format-standard","hentry","category-adboverethernet"],"_links":{"self":[{"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/posts\/704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/comments?post=704"}],"version-history":[{"count":4,"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/posts\/704\/revisions"}],"predecessor-version":[{"id":719,"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/posts\/704\/revisions\/719"}],"wp:attachment":[{"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/media?parent=704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/categories?post=704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/world.shibby.be\/weblog\/wp-json\/wp\/v2\/tags?post=704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}