Android Studio将物理设备识别为空?

时间:2014-09-01 23:47:29

标签: android-studio adb

我一直在开发Android Application for Android(SDK min版本14),我正在使用Samsung Galaxy 2 and Nexus 7这样的平板电脑进行测试。 但是,当我尝试运行应用程序时(通过单击AndroidStudio中的运行),AS无法识别平板电脑信息,如下图所示。

Device is Null

有趣的是,如上图所示,当Android版本为API 1时,AS也会将设备sdk检测为4.2.2 平板电脑已经开始接受" USB debugging"在开发人员选项中,我尝试重新启动平板电脑,然后重新启动AS,但仍然遇到同样的问题(nexus 7 and Samsung Galaxy 2)一切正常。

我正在处理的平板电脑/设备是#34; VeryKool" T742

Environment information:
 OS: ubuntu
 AndroidStudio version: 0.8.6

 Tablet Android version:4.2.2
 Tablet Kernel version: 3.4.5
 App min SDK: 14

19 个答案:

答案 0 :(得分:151)

好的所以我终于找到了问题,显然在这个设备上你必须设置连接为摄像头(即使已经启用了usb调试)

enter image description here

同样this link描述了设置过程

答案 1 :(得分:55)

当adb未使用正确的权限连接时,我已经多次看到此错误。

在终端上尝试

~/Android/Sdk/platform-tools> ./adb devices    

如果它返回

<deviceIdentifier> no permissions

然后你需要用正确的烫发重启adb

~/Android/Sdk/platform-tools$> ./adb kill-server
~/Android/Sdk/platform-tools$> sudo ./adb devices

如果有效,那么你将获得

List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
<deviceIdentifier>  device

之后Android Studio中不再出现Sdk版本解析问题。

答案 2 :(得分:20)

将设备连接到Ubuntu系统后,只需运行以下命令:

adb devices

这对我有用。

注意:确保已在手机中选择了文件传输选项。

答案 3 :(得分:14)

在Ubuntu上,我的Pixel XL在8.0上,我必须在插入电脑时这样做:

设置 - &gt;连接设备 - &gt; USB - &gt;更改为“转移文件”

答案 4 :(得分:11)

在Ubuntu 18.04上,我的Nexus 5 / 5X / Pixel 2 XL遇到相同的问题。

一种永久性的解决方案是添加udev规则,以便您始终可以访问设备。

  • 使用命令lsusb查找设备。这输出例如对于我的Pixel 2 XL:

    Bus 001 Device 003: ID 18d1:4ee7 Google Inc.
    
    # This means: BUS=001, DEVICE=003, VENDOR=18d1, PRODUCT=4ee7
    
  • 现在检查权限。用您的参数替换001和003:

    ls -l /dev/bus/usb/001/008
    
    # Output: crw-rw-r-T 1 root root 189, 8 Nov 10 18:34 /dev/bus/usb/001/003
    # Unless you are root, you are missing the permissions to access the device
    
  • 要解决此问题,请使用sudo nano /etc/udev/rules.d/51-android.rules创建具有以下内容的udev规则文件:

    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", 
    GROUP="plugdev", SYMLINK+="android%n"
    
    # You need to replace "18d1" and "4ee7" with your output of `lsusb` above
    
  • 拔下设备,然后重新插入。现在应该可以识别它了。  否则,请上一次使用adb kill-server重新启动adb服务器。

来源:http://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/

答案 5 :(得分:6)

在Ubuntu上使用Android Studio时遇到同样的问题。显然对我来说,解决方法是将设备的USB连接模式设置为MTP

答案 6 :(得分:5)

首先检查adb版本:如果它给出类似

的输出
Android Debug Bridge version 1.0.32

然后只需重启守护进程。

sudo adb kill-server
sudo adb start-server

否则先安装adb并重启守护进程 在ubuntu 16.04.3中为我工作

答案 7 :(得分:4)

在设备连接时禁用和重新启用调试对我来说很有用。

答案 8 :(得分:4)

我遇到了同样的问题。

我通过打开Android设备设置解决了这个问题,然后选择“关闭”,然后选择“打开”进行USB调试。

答案 9 :(得分:4)

最近,我在Vivo和MI手机上也遇到了同样的问题。我已经尝试了此线程中描述的所有内容。 我尝试连接为MTP,PTP;但没有任何效果。

经过多次重试后,我找到了解决我案件的方法,也许它也可以帮助其他人。

  1. 在Android Studio中打开终端窗口
  2. 使用以下命令杀死ADB服务器:adb kill-server
  3. 使用以下命令重新启动ADB服务器:adb start-server

它解决了我的问题。

答案 10 :(得分:1)

在ubuntu上安装adb对我有用,我认为默认的android studio one存在一些问题。

在终端使用命令中

sudo apt install adb 

答案 11 :(得分:0)

需要MTP模式,但它不会出现在USB端。在菜单栏项目的存储设置中,您可以将PC连接类型设置为... MTP。

答案 12 :(得分:0)

就我而言,只需看着我的手机并勾选弹出框以允许进行USB调试就可以完成我的工作。

答案 13 :(得分:0)

我有同样的问题。我通过这样做解决了

  1. Android-> SDk->平台工具

2。打开(ubuntu用户)的终端或打开cmd(窗口用户)

3.type命令“ sudo adb kill-server”

4。转到android studio,然后重新连接设备。

答案 14 :(得分:0)

尤其是在Ubuntu或任何其他平台上。请和请检查您的adb版本。我不能太强调这一点。确保它已更新或最新版本,尤其是在上述答案不起作用并且this link也不起作用的情况下。

更新了位于

的platform-tools文件夹后

PATH_TO/Android/Sdk/platform-tools

其中还包含有效的adb。 我跑了
adb devices

首先它将显示未经授权,然后

您拔下并重新插入android设备。 然后,您的手机会在系统读取您的设备之前请求许可。

答案 15 :(得分:0)

检查进程是否正在运行,我有几个adb进程正在运行,我认为这对我来说很麻烦。杀死他们,然后重新启动Studio。 HTC Sync Manager,GenyMotion等以及可能在您打开多个Android Studio窗口时可能导致多个冲突的adb进程。

答案 16 :(得分:0)

对于ubuntu机器选择传输选项,设备将在android studio中检测到并进行调试。通常设备处于窗口的充电状态,但对于ubuntu,这是它的工作原理。

也检测不到多次设备,再次做同样的事情。

答案 17 :(得分:0)

有时在Linux(我的情况下是Centos 6)中,原因可能是您没有以root用户身份启动Android Studio。请以root用户身份重启android studio并尝试一下!

答案 18 :(得分:-1)

转到android studio中的终端并运行“ adb设备”。它将显示连接的设备。然后运行应用程序,设备应该会出现。