Ubuntu下Android开发:手机不能识别
前几天做了个外包,赚了几千块钱,所以就新买了个Android的手机,但是插上以后Eclipse上设备选择的时候显示的全都是问号,经搜索,发现解决方法(以下摘自http://yelinsen.iteye.com/blog/986617):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
1 ) 在终端运行 lsusb
会发现结果有会有如下类似记录: Bus 002 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 003 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 004 Device 005 : ID 1219 : 0102 #这行就是 手机
Bus 004 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 005 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
这时键入 sudo gedit /etc/udev/rules.d/ 53 -android.rules
在打开的文件中增加以下文本: SUBSYSTEM== "usb" , SYSFS{idVendor}== "1219" , MODE= "0666"
SUBSYSTEM== "usb" , ATTR{idVendor}== "1219" , ATTR{idProduct}== "0102" , SYMLINK+= "android_adb"
2 ) 运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/ 53 -android.rules
sudo /etc/init.d/udev restart 3 ) 在 android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server sudo ./adb devices 然后,就可以直接用 adb shell来进行操作了。 (以上摘自http: //yelinsen.iteye.com/blog/986617)
|
其中,我的电脑运行lsusb后显示如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
Bus 008 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 007 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 006 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 005 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 004 Device 002 : ID 0a5c: 2145 Broadcom Corp. Bluetooth with Enhanced Data Rate II
Bus 004 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 003 Device 003 : ID 093a: 2510 Pixart Imaging, Inc. Optical Mouse
Bus 003 Device 001 : ID 1d6b: 0001 Linux Foundation 1.1 root hub
Bus 002 Device 002 : ID 04e8:685e Samsung Electronics Co., Ltd
Bus 002 Device 001 : ID 1d6b: 0002 Linux Foundation 2.0 root hub
Bus 001 Device 003 : ID 17ef: 1004 Lenovo
Bus 001 Device 001 : ID 1d6b: 0002 Linux Foundation 2.0 root hub
|
所以我就能知道
Bus 002 Device 002 : ID 04e8:685e Samsung Electronics Co., Ltd
|
这行是手机了,所以我应该如下操作:
1 )sudo gedit /etc/udev/rules.d/ 53 -android.rules
在打开的文件中增加以下文本: SUBSYSTEM== "usb" , SYSFS{idVendor}== "04e8" , MODE= "0666"
SUBSYSTEM== "usb" , ATTR{idVendor}== "04e8" , ATTR{idProduct}== "685e" , SYMLINK+= "android_adb"
2 ) 运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/ 53 -android.rules
sudo /etc/init.d/udev restart 3 ) 在 android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server sudo ./adb devices 然后,就可以直接用 adb shell来进行操作了。 |
之后就可以识别了,在这里列出了两个手机,其它的应该也差不多。
[转自:http://www.cnblogs.com/xiaobo68688/archive/2011/10/18/2216824.html]
untun下USB连接Android手机后,使用adb devices 出现如下:
List of devices attached
???????????? no permissions
同时在DDMS中显示设备名也显示????,也无法显示进程名,无法查看log。
一、工具介绍
android-sdk-linux_x86/tools下有一堆工具,今天要用的是:Android Debug Bridge,在android开发过程中,这个工具是使用得最多的。(缩写adb,有点像gcc的gdb似的)
adb start-server – 实际上它会启动一个 adb fork-server server
adb kill-server – kill掉
adb devices – 列出所有的设备
二、设置usb权限
因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。
$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 413c:2106 Dell Computer Corp.
Bus 002 Device 002: ID 0461:4d81 Primax Electronics, Ltd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 010: ID 0bb4:0c87 High Tech Computer Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
列表中,Bus 001 Device 010: ID 0bb4:0c87 High Tech Computer Corp. 这一行为htc手机的usb使用端口,记录一下,id为0bb4(基于上所有的htc都是这个ID)。
$sudo vim /etc/udev/rules.d/70-android.rules
加入以下内容:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c87",MODE="0666"
其中的idvendor idProduct指的是USB的ID可以使用lsusb查询得到。
比如我的是:
lsusb
Bus 001 Device 010: ID 0bb4:0c87 High Tech Computer Corp
ID 0bb4 就是idVendor ,0c87就是 idProduct
运行命令,重启udev:
$sudo chmod a+rx /etc/udev/rules.d/70-android.rules
$sudo service udev restart
三、重新启动adb server
(很重要)拔掉usb重新连上再执行:
sudo ./adb kill-server
./adb devices
./adb root (这一步很重要 )
四、使用usb进行调试
问题说明中的问题至此已经得到解决。
在DDMS选择相应的devices,可以看到log了。。。。
五、知识积累
1. Gooogle udev
2.拔插usb,使用以下命令可以实时监视系统信息
sudo tail -f /var/log/messages
六、ubuntu 敲 adb devices 设备列表为空,但lsusb可以查看到PID与VID
sudo gedit ~/.android/adb_usb.ini 编辑该文件
加入0x0bb4 后执行下面命令
sudo service udev restart
android update adb 更新服务
相关推荐
至此,一个基本的Ubuntu下Android开发环境已经搭建完毕。你可以开始使用Eclipse编写、编译和运行Android应用了。记得随着Android版本的更新,定期检查并升级你的SDK工具和平台,保持开发环境的最新状态。在开发过程...
在深入探讨如何在Ubuntu下下载Android源码之前,我们首先需要理解几个关键概念:Ubuntu、Android源码以及必要的软件工具。Ubuntu是一种基于Linux的操作系统,以其稳定性和安全性著称,广泛用于开发环境。Android源码...
在Ubuntu操作系统中安装Android开发环境,主要步骤包括安装Java JDK包、Eclipse集成开发环境(IDE)、Tomcat服务器以及Android开发工具(ADT)。以下详细说明每一个步骤以及所涉及的关键知识点: 1. 安装Java开发...
总的来说,Ubuntu下的Android开发环境搭建涉及到网络配置、JDK安装、Eclipse和Android SDK的下载与配置。每个步骤都需要细心操作,特别是环境变量的设置和SDK路径的配置。通过遵循上述步骤并解决可能出现的问题,你...
2. 配置USB驱动:确保Ubuntu系统识别Android设备,可能需要安装相应的USB驱动,这通常可以通过在终端中使用`sudo apt-get install libusb-1.0-0-dev`来完成。 3. 启用USB调试:在Android设备上,进入“开发者选项”...
### Ubuntu下Android NDK开发环境搭建详解 在深入探讨如何在Ubuntu系统中搭建Android NDK(Native Development Kit)开发环境之前,我们先简要了解一下Android NDK及其重要性。Android NDK是Android SDK的一部分,...
### Ubuntu 11.04 搭建Android开发环境 #### 一、概述 本文档将指导您如何在Ubuntu 11.04系统上搭建一个完整的Android应用开发环境。我们将利用Eclipse作为集成开发环境(IDE),并结合Android SDK及PhoneGap工具...
在Ubuntu 11.04操作系统下搭建Android开发环境需要遵循一系列步骤,主要包括安装JDK、设置环境变量、安装Eclipse集成开发环境、下载安装Android SDK以及安装ADT插件。 1. **安装JDK**: 首先,你需要从Oracle官网...
在Ubuntu操作系统中配置Android开发环境是一项基础且重要的工作,它涉及到多个步骤,包括安装必要的软件、设置环境变量以及确保所有组件正确配置。以下是一个详细的指南,涵盖了如何在Ubuntu上搭建Android开发环境,...
将你的Android 4.1+设备通过USB线连接到Ubuntu系统,确保USB调试模式已关闭,因为在此模式下可能会出现连接问题。 6. **启动gMTP**: 打开Ubuntu的应用程序列表,找到并启动gMTP。首次使用时,gMTP可能需要一段...
在Ubuntu 12.10中搭建Android开发环境是一个复杂但必要的步骤,因为Ubuntu作为一款流行的Linux发行版,为开发者提供了稳定且强大的平台。本文主要介绍如何在Ubuntu 12.10上安装和配置Android开发环境,以及解决可能...
在Ubuntu 11.04操作系统中搭建Android开发环境是一个技术性强且需要注意细节的过程。本文将详细介绍这个过程,以及在搭建过程中可能遇到的问题及其解决方案。 首先,你需要确保系统已更新到最新版本,以确保所有...
注意,Android开发和编译环境可能会随着Android版本的更新而有所变化,所以最好查阅最新的官方文档以获取最准确的信息。同时,由于Ubuntu 10.04已停止支持,考虑升级到更现代的版本以获得更好的支持和安全性。
标题中的“Ubuntu Linux 解锁 (Unlock) Root Nexus S i9020t Android 4.1 支持人脸识别解锁”涉及到的是一个针对特定设备——Nexus S i9020t,运行Android 4.1系统的解锁过程。在这个过程中,用户通常会尝试获取设备...
在Android开发过程中,Android Studio是官方推荐的集成开发环境(IDE),它提供了强大的功能和便捷的工具。然而,像所有软件一样,Android Studio有时也会遇到一些小问题,尤其是在连接真机进行调试时。本文将详细...
在进行Ubuntu 64位系统下Android源代码的编译过程中,可能会遭遇一系列技术障碍,以下将详述在Ubuntu 11.04(64位)编译Android 2.3源码时常见的错误及其解决方案,以帮助开发者顺利通过这些难关。 ### 错误一:`/...
Android Fastboot驱动是Android系统开发和设备恢复过程中不可或缺的一部分,尤其对那些经常进行刷机或者进行系统调试的用户来说,它是必备工具。Fastboot模式是一种比Android系统更底层的启动模式,它允许开发者对...