{"id":494,"date":"2011-07-19T22:21:06","date_gmt":"2011-07-19T20:21:06","guid":{"rendered":"http:\/\/mattiesworld.gotdns.org\/weblog\/2011\/07\/19\/android-usb-debugging-on-opensuse-114\/"},"modified":"2012-01-24T20:59:24","modified_gmt":"2012-01-24T18:59:24","slug":"android-usb-debugging-on-opensuse-114","status":"publish","type":"post","link":"https:\/\/mattiesworld.gotdns.org\/weblog\/2011\/07\/19\/android-usb-debugging-on-opensuse-114\/","title":{"rendered":"Android USB debugging on openSUSE 11.4"},"content":{"rendered":"<p>Debugging your android app using a hardware device has several advantages, ie faster and more testing possibilities. On windows you have to install a custom USB driver, on linux it&#8217;s a matter of configuring your udev rules:<\/p>\n<ul>\n<li>add a rules files in <code>\/etc\/udev\/rules.d<\/code> , ie <code>44-android.rules<\/code><\/li>\n<li>enter a line like this: \n<pre><code>SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0bb4\", MODE=\"0666\", GROUP=\"users\"<\/code><\/pre>\n<p>and adapt the vendor id <a href=\"http:\/\/developer.android.com\/guide\/developing\/device.html#VendorIds\">using this table<\/a>.\n<\/li>\n<li>Reload udev rules: <code>udevadm control --reload-rules<\/code> <\/li>\n<\/ul>\n<p>When you run <code>adb devices<\/code>, it should now list your device:<\/p>\n<pre><code>List of devices attached \r\nemulator-5554   device\r\nSH14FPL06953    device\r\n<\/code><\/pre>\n<p>Before, you would rather have something like this:<\/p>\n<pre><code>List of devices attached \r\nemulator-5554   device\r\n????????????    no permissions<\/code><\/pre>\n<p>On succesful connection, the system log shows something like: <\/p>\n<pre><code>kernel: [11172.551464] usb 2-1: USB disconnect, address 4\r\nkernel: [11178.813044] usb 2-1: new high speed USB device using ehci_hcd and address 5\r\nkernel: [11178.942137] usb 2-1: New USB device found, idVendor=0bb4, idProduct=0c87\r\nkernel: [11178.942150] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3\r\nkernel: [11178.942157] usb 2-1: Product: Android Phone\r\nkernel: [11178.942162] usb 2-1: Manufacturer: HTC\r\nkernel: [11178.942166] usb 2-1: SerialNumber: SH14FPL06953\r\nkernel: [11178.943867] scsi8 : usb-storage 2-1:1.0\r\nmtp-probe: checking bus 2, device 5: \"\/sys\/devices\/pci0000:00\/0000:00:04.1\/usb2\/2-1\"\r\nmtp-probe: bus: 2, device: 5 was not an MTP device\r\nkernel: [11179.953172] scsi 8:0:0:0: Direct-Access     HTC      Android Phone    0100 PQ: 0 ANSI: 2\r\nkernel: [11179.953375] sd 8:0:0:0: Attached scsi generic sg4 type 0\r\nkernel: [11179.961631] sd 8:0:0:0: [sdd] Attached SCSI removable disk\r\n<\/code><\/pre>\n<p>Note that it seems normal that a usb storage device is detected, although I did not have it enabled on the phone.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Debugging your android app using a hardware device has several advantages, ie faster and more testing possibilities. On windows you have to install a custom USB driver, on linux it&#8217;s a matter of configuring your udev rules: add a rules files in \/etc\/udev\/rules.d , ie 44-android.rules enter a line like this: SUBSYSTEM==&#8221;usb&#8221;, ATTR{idVendor}==&#8221;0bb4&#8243;, MODE=&#8221;0666&#8243;, GROUP=&#8221;users&#8221; &hellip; <a href=\"https:\/\/mattiesworld.gotdns.org\/weblog\/2011\/07\/19\/android-usb-debugging-on-opensuse-114\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Android USB debugging on openSUSE 11.4<\/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":[35,4,5,20],"tags":[],"class_list":["post-494","post","type-post","status-publish","format-standard","hentry","category-android","category-linux","category-programming","category-suse"],"_links":{"self":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts\/494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/comments?post=494"}],"version-history":[{"count":1,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts\/494\/revisions"}],"predecessor-version":[{"id":529,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts\/494\/revisions\/529"}],"wp:attachment":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/media?parent=494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/categories?post=494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/tags?post=494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}