Android Studio是否将物理设备识别为Null?


89

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

设备为空

有趣的是,如上图所示,AS也正在检测设备sdk,API 1因为它的Android版本为4.2.2 平板电脑USB debugging。在开发人员选项中,平板电脑已经设置为接受“ ”,我已经尝试过重新启动平板电脑,然后重新启动AS ,但仍然遇到相同的问题(一切都很好nexus 7 and Samsung Galaxy 2)。

我正在使用的平板电脑/设备是“ 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

3
我以前有这个问题。只是平板电脑无法被您的PC识别,因此请勿授予用户使用该平板电脑的权限。您可以以root用户身份(在您的PC上)启动adb服务,也可以将此设备类型添加到udev角色中的某个位置。然后,它应该可以正常工作而无需使用照相机技巧。如果您更改了摄像头模式,则您的设备只会向自己介绍另一个设备/产品ID(系统已知)。
user3387542 2014年

@ user3387542但是如何将此设备类型添加到我的udev中?
AbdelHady 2014年

哇。非常感谢你。我已经浪费了几个小时。对我来说,最终的解决方案是以/ root用户身份启动android studio。当我使用centos操作系统时
Abdul Mohsin 2015年

Answers:


161

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

在此处输入图片说明

此外,此链接还介绍了设置过程


3
我一直在寻找有关此问题几天的信息,而解决方案是将其连接为“相机”,这很奇怪,但是可以正常工作!感谢分享
AbdelHady

在我的情况下,选择了MTP,我必须切换到PTP,然后再回到MTP才能正常工作。
rjlopes 2015年

也为我工作!不知道是什么原因!
bmnepali

就我而言,我还必须在终端机上运行此命令adb devices
Zohab Ali,

57

当没有以正确的权限连接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版本解析问题。


1
这样,我会看到我的设备名称(不带null)仅一秒钟。它再次显示为null
Shruti

1
这是最正确的答案,因为即使更改连接类型后,Google Pixel设备也为空。
kostyabakay

太棒了!谢谢。
Kirill Starostin


17

在Ubuntu上,使用我的Pixel XL 8.0,在插入计算机时必须这样做:

设置->已连接设备-> USB->更改为“传输文件”


设置什么?
arekolek

手机设置
RESTfulGeoffrey

连接一段时间后,我发现我的Pixel变成了null。我一直在重启设备,但是会发生同样的事情。这有时会修复它,但只是暂时的,很奇怪……
hmac

它为我工作。1)adb设备2)设置->已连接设备-> USB->更改为'传输文件'
amitabha2715

这仍然工作在2019上的像素3(我来这里是为了寻找一个持久的解决方案,但仍然没有找到,这个动作仍然有效)
Wesely

12

在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服务器adb kill-server

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


6

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


5

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

Android Debug Bridge version 1.0.32

然后重新启动守护程序。

sudo adb kill-server
sudo adb start-server

否则,请先安装adb并重新启动守护程序在ubuntu 16.04.3中为我工作


5

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

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

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

它解决了我的问题。


谢谢,保存了我的一天..它始终显示24213213 [null],但是在您进行操作后,它现在显示了三星Galaxy ...
waza123


4

我有同样的问题。

我通过打开Android设备设置来解决此问题,然后为USB调试选择“关闭”,然后选择“打开”。


4

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

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

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

3.键入命令“ sudo adb kill-server”

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



0

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


2
这是一个可怕的主意。切勿以root用户身份启动userland应用程序!
agilob '16

0

对于ubuntu机器,请选择传输选项,设备将在android studio中检测到并用于调试。通常,设备在Windows处于充电状态,但是对于ubuntu来说,这是它的工作方式。

也很多时候没有检测到设备,再次做同样的事情。


0

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


0

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


0

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

更新我的platform-tools文件夹后,位于

PATH_TO/Android/Sdk/platform-tools

其中也包含了adb它的工作原理。我跑了
adb devices

首先会显示未经授权,然后

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


0

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


-1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.