我一直在开发Android Application for Android
(SDK min版本14),我正在使用Samsung Galaxy 2 and Nexus 7
这样的平板电脑进行测试。
但是,当我尝试运行应用程序时(通过单击AndroidStudio
中的运行),AS无法识别平板电脑信息,如下图所示。
有趣的是,如上图所示,当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
答案 0 :(得分:151)
答案 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;但没有任何效果。
经过多次重试后,我找到了解决我案件的方法,也许它也可以帮助其他人。
adb kill-server
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)
我有同样的问题。我通过这样做解决了
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设备”。它将显示连接的设备。然后运行应用程序,设备应该会出现。