启用安全性未知......" /> 启用安全性未知......"> 启用安全性未知......" />
ChatGPT解决这个技术问题 Extra ChatGPT

设置设备进行开发(????????????没有权限)

我正在使用三星 Galaxy Nexus 手机(Android 4.0 平台)。

我正在 Ubuntu linux 操作系统上开发 Android 应用程序。我想直接在三星手机设备上运行我的应用程序,所以我执行了以下设置步骤:

在我的项目 AndroidManifest.xml 文件中,将 android:debuggable="true" 添加到 元素在设备上,在设置 > 启用安全性未知来源在设备上,在设置 > 开发人员选项中启用 USB 调试 在我的计算机上, 创建了 /etc/udev/rules.d/51-android.rules 文件,内容如下:SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev " 在我的电脑上,运行 chmod a+r /etc/udev/rules.d/51-android.rules 命令

然后,在我的电脑上打开终端并执行 adb devices 命令,我得到:

List of devices attached 
????????????    no permissions

由于我没有看到我的设备,而只有 ???????????? no permissions,因此我运行以下命令:

 adb kill-server
 adb start-server
 adb devices

但我仍然得到:

List of devices attached 
????????????    no permissions

为什么?我错过了什么?

执行 adb kill-server 后,您是否收到 * daemon not running 的消息。现在在端口 5037 上启动它 * * 守护进程已成功启动 * --- 如果不尝试,直到你得到这个消息
尝试检查您的用户是否在 plugdev 组中。
运行 =>sudo adb start-server (使用 root 权限运行 adb)
最后我在这个链接中找到了适合我的解决方案github.com/snowdream/51-android
请在下面查看我对这个问题的 2022 年更新,并快速评论这里的一些真正旧的解决方案可能会破坏 linux 系统。

W
WarrenFaith

对我有用的是再次杀死并启动 adb 服务器。在 Linux 上:sudo adb kill-server,然后是 sudo adb start-server。然后它将检测到几乎所有开箱即用的设备。


我使用 root 在 /platform-tool/ 下执行命令“adb devices”,我得到“No command 'adb' found”,为什么?
确保您的 adb 获得了 +x -rwxrwxr-x 1 martin martin 156K 2011-11-09 15:40 adb。尝试直接移动到目录并通过“sudo ./adb devices”启动。如果你可以在没有 sudo 的情况下运行它,你应该可以用 sudo 运行它......我不确定你的问题可能是什么......
如果您的 udev 权限设置正确,则不需要以 root 身份运行 adb。请参阅下面的 grebulons 答案,或参考 android 文档:developer.android.com/tools/device.html
一个重要的建议是断开 USB 电缆,所以你重置 adb,连接电缆就可以了。在我的情况下,虽然我在连接电缆的情况下执行了该程序,但它对我不起作用。
命令是:adb kill-server sudo adb start-server 检查:adb devices
B
Benoit Duffez

在我终于在这里找到答案之前,没有什么对我有用:http://ptspts.blogspot.co.il/2011/10/how-to-fix-adb-no-permissions-error-on.html

我在这里复制文本以防将来消失。

创建一个名为 /tmp/android.rules 的文件,其内容如下(十六进制供应商编号取自供应商列表页面):

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1bbb", MODE="0666"

运行以下命令:

sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
sudo chmod 644   /etc/udev/rules.d/51-android.rules
sudo chown root. /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo killall adb

断开手机和电脑之间的 USB 数据线。

重新连接手机。

运行 adb devices 以确认它现在有权访问手机。

请注意,可以在 .rules 文件中使用 , USER="$LOGINNAME" 代替 , MODE="0666",用 $LOGINNAME 代替您的登录名,即 id -nu 打印的内容。

在某些情况下,可能需要为 udev 规则文件指定一个排序接近结尾的名称,例如 z51-android.rules


注意:对于 Ubuntu Precise,文件名是 70-android.rules,根据这篇文章:esausilva.com/2010/05/13/…。还要感谢您让我们知道您必须重新启动 udev 并终止所有 adb 进程。像魅力一样工作!
developer.android.com/tools/device.html 正式记录了类似的方法
这很好用,但是正如@luciana 在另一个答案中所指出的,如果重新启动服务器还不够,您可能需要调用 sudo udevadm control --reload-rules 来刷新 udev 规则。
这应该被标记为正确答案,因为 sudo-ing adb 不应该是 Linux 的要求
这是这里唯一正确的答案。谢谢你!此外,我们可以查看 lsusb 输出以确保包含所需的供应商。最奇怪的是,在升级到 Android 7.1.2 后(即使以 root 身份运行 adb),我只有一台设备(OnePlus One)突然停止工作,在如上所述添加 udev 规则后,它又可以工作了。
I
Ivan Kush

输入以下命令:

# cd to adb for sudo
cd `which adb | sed -e "s/adb//"`
adb kill-server
sudo ./adb start-server
./adb devices

This happens when you are not running adb server as root.  

尽管这个想法与接受的答案相同,但由于提供的示例,这个想法只帮助了我。谢谢
@user907860 它实际上比接受的答案更好,因为它解释了为什么你应该写 sudo :) (当我看到接受的答案时我没有这样做)
顺便说一句,知道为什么 adb 应该以 root 身份运行吗?
抱歉没有,我不记得了
adb 不应以 root 身份运行。如果需要这样做,则说明您的系统配置错误。停止在所有事物面前抛出“sudo”,它具有巨大的安全隐患。
S
Sabeer

以上都试过了,没有一个工作..当我从MTP切换到相机(PTP)时终于工作了。


对于那些想知道如何做到这一点的人...系统设置>存储>右上角按钮:USB计算机连接>连接为选择相机(PTP)而不是媒体设备(MTP)
伙计,我一直在寻找两个小时的解决方案,这在 ubuntu 16.04 上对我有用,谢谢
这应该是首先要检查的。为我工作
A
Alex P.

这个问题有很多不好的答案,从坚持将 adb 运行为 root(不应被吹捧为唯一甚至推荐的解决方案)到解决完全不相关的问题。

这是同时处理所有 adbfastboot 设备权限的最短且最通用的方法:

echo 'ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666"' | sudo tee /etc/udev/rules.d/99-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --verbose --action=add --subsystem-match=usb

或者您可以使用我在此 gist 上发布的稍长的版本。

至于 OP 在他的问题中做错的具体事情 - 在编辑 .rules 文件后没有重新加载 udev 规则。

OP 也没有告诉他手机上有哪个 Android 版本(又名 ROM)。 idVendor 值是在软件中设置的,因此它取决于 ROM。因此,他在原始规则中使用的 04E8 的值仅适用于具有三星库存 ROM 的设备。但这对于这条 udev 规则来说不是问题 - 它匹配所有具有 adbfastboot 接口的设备,而不管它们的 VendorID 是什么。


唯一看到它工作的步骤是 adb kill-server 在 adb devices 之前。
这似乎不再适用于 Android 8.1。您是如何找出 adb 报告的设备 ID 的?
在 Android 7.1.2 上为我工作
@Cachapa,它适用于所有 Android 版本。即使是最新的(在我撰写本文时)Android P Preview 4 也使用相同的 adb 接口 ID - android.googlesource.com/platform/system/core/+/…
K
Keenan Verbrugge

在 Archlinux 中,这种情况偶尔会发生。修复:

$ sudo -s
# adb kill-server
# adb start-server

我不确定这是否是使它起作用的唯一方法……我尝试了上述方法。但是在 VBox 上没有这篇文章 ubuntu 并没有使我的 LG G3 获得授权。谢谢基南
我不知道为什么,但 sudo adb kill-server; sudo adb start-server 不起作用,但这个起作用了。
j
jaga

对于使用 debian 的用户,在 Ubuntu 下设置设备以创建文件“/etc/udev/rules.d/51-android.rules”的指南不起作用。我按照 here 的说明进行操作。把同样的东西放在这里以供参考。

以超级用户身份编辑此文件

sudo nano /lib/udev/rules.d/91-permissions.rules

找到类似这样的文字

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0664″

然后将模式更改为 0666 如下所示

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0666″

这允许 adb 工作,但是我们仍然需要设置设备以便可以识别它。我们需要以超级用户的身份创建这个文件,

sudo nano /lib/udev/rules.d/99-android.rules

并输入

SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, ATTRS{idVendor}==”0bb4″, MODE=”0666″

上面一行是针对 HTC 的,请关注@grebulon 的帖子以获取完整列表。

保存文件,然后以超级用户身份重新启动 udev

sudo /etc/init.d/udev restart

通过 USB 连接手机,在编译和运行项目时应该会检测到它。


J
Jeffrey Yang

我遇到了同样的问题,解决方案是:(顺便说一句,你不必root你的设备。)

输入“su”切换到超级用户。你的路径/adb 杀死服务器。你的路径/adb 启动服务器。如果没有发生错误,您可以在 root 帐户中看到带有“your-path/adb devices”的设备列表。退出超级用户。现在您可以在您的帐户中执行“adb devices”。

享受。


如果您无法使用 su 登录,请使用 sudo su。我做到了。此外,如果您不知道如何退出用户,请使用 exit
c
cinfwatd

我知道这可能有点晚了,但这是一篇关于如何手动添加 Android ADB USB 驱动程序的非常好的文章。 Manually adding Android ADB USB driver in Ubuntu 14.04 LTS

编辑添加链接内容

脚步

注意:确保您已在 USB 调试模式下连接您的 Android 设备

打开终端 (CTRL + ALT + T) 并输入命令:lsusb

现在您可能会收到类似的回复:
Bus 002 Device 013: ID 283b:1024

注意:参考此Bus 002 Device 008: ID 283b:1024
{idVendor}==”283b” {idProduct}==”1024″

现在输入以下命令: sudo gedit /etc/udev/rules.d/51-android.rules
这将创建 android 规则文件 (51-android.rules) 或打开指定位置的现有规则文件 (/etc/udev/rules.d)

向此文件添加新行:
SUBSYSTEM==”usb”, ATTRS{idVendor}==”283b”, ATTRS{idProduct}==”1024″, MODE=”0666″

注意 编辑 idVendor & idProduct 值与您的设备值。保存并关闭。

现在输入以下命令:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules - 授予读取/执行权限
sudo service udev restart - 重新启动 udev 服务

现在我们必须将 idVendor 添加到 adb_usb.ini。输入以下命令:
cd ~/.android
gedit adb_usb.ini

添加以下值 0x283b

这不过是 0x(idVendor 值)。因此将值替换为。尊重您的设备价值 保存并关闭文件。

现在输入以下命令:
sudo service udev restart

拔出 Android 设备并重新连接。
现在输入以下命令:
adb kill-server
adb devices

给你!必须列出您的设备。

复制自 Manually adding Android ADB USB driver in Ubuntu 14.04 LTS

为我工作。


A
Alex P.

我的 Galaxy S3 也有同样的问题。我的问题是 idVendor04E8 不是正确的。要找到正确的,请将您的智能手机连接到计算机并在终端中运行 lsusb。它将像这样列出您的智能手机:

Bus 002 Device 010: ID 18d1:d002 Google Inc.

所以正确的 idVendor 值为 18d1/etc/udev/rules.d/51-android.rules 中的行必须是:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

然后我运行 sudo udevadm control --reload-rules,一切正常!


您的意思是:ATTR{idVendor}=="18d1"
C
Ciro Santilli Путлер Капут 六四事

使用 M0Rf30/android-udev-rules GitHub 社区维护的 udev-rules

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

这是迄今为止我见过的最完整的 udev 规则列表,甚至比目前推荐的 sudo apt-get install android-tools-adb on the official documentation 还要多,它为我解决了这个问题。


当一条规则适用于所有人时,为什么还要为“维护列表”而烦恼? stackoverflow.com/a/45006231/1778421
@AlexP。谢谢我不知道那种方法。知道为什么官方指南不建议这样做吗?
主要是因为懒惰和知识惰性。最初的 Android 开发人员使用具有相同供应商 ID 的设备,因此他们采用了他们能想到的最简单的方法。当更多供应商创建更多设备时,开发人员只是不断向规则文件添加更多 ID。
K
Kyll

按照 http://developer.android.com/guide/developing/device.html(存档链接) 中的说明将 /etc/udev/rules.d/51-android.rules 中的 0bb4 的供应商 id 替换为 18d1 或添加另一行显示:SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666" 重新启动计算机或重新启动 udev 服务。


C
Chinthaka Senanayaka

当您重新启动 udev 时,杀死 adb 服务器并启动 adb 服务器转到 android sdk 安装路径并在 sudo 上执行所有操作。然后运行 adb devices 它将解决权限问题。


S
Santosh Joshi

我的设备是 POSITIVO,我的操作系统是 Ubuntu 14.04 LTS 所以,我的问题出在变量名上

我创建文件 /etc/udev/rules.d/51-android.rules 并将 SUBSYSTEM=="usb", SYSFS{idVendor}=="1662", MODE="0666"

我断开设备并执行:

$ sudo udevadm control --reload-rules
$ sudo service udev restart

在此之后,我再次以开发者模式连接了 android 设备,然后

$ adb devices

List of devices attached 
1A883XB1K   device

C
Christian Fritz

无需拔掉电源

所有提供的答案都假设您能够拔下并重新连接 USB 电缆。在无法做到这一点的情况下(例如,当您处于远程状态时),您可以执行以下操作以基本上执行建议的 udev 规则在重新插入时会执行的操作:

lsusb

找到您关心的设备,例如:

Bus 003 Device 005: ID 18d1:4ee4 Google Inc. Nexus

记下它所在的总线号,然后执行,例如总线 003

sudo chmod a+w /dev/bus/usb/003/*

显然,这可能比您想要的更宽松(可能连接的设备不止这个),但您明白了。


要在不重新连接设备的情况下应用新的 udev 规则,只需使用 udevadm trigger --verbose --action=add --subsystem-match=usb 命令。
B
Babken Vardanyan

您不应该像其他答案所建议的那样以 root 身份运行 adb 服务器。相反,如果您使用的是 Arch Linux,请执行以下操作:

使用 Pacman Reload udev 规则安装 android-udev 包:# udevadm control --reload-rules 将自己添加到 adbusers 组,然后注销并登录:# usermod -aG adbusers $LOGNAME

来源:https://wiki.archlinux.org/index.php/android#Configuring_adb


p
princebillyGK

仅适用于 Ubuntu/Debian 用户:ubuntu 需要执行一些特定的操作才能使 USB 调试工作:此处描述:https://developer.android.com/studio/run/device 以下是提到的两个步骤。在终端中运行这两个命令:

sudo usermod -aG plugdev $LOGNAME
sudo apt-get install android-sdk-platform-tools-common

Y
Yury

尝试使用您的用户的主组而不是 GROUP="plugdev"


我正在使用我的用户名,它没有帮助
A
Alan

在我的 ubuntu 12.04 LTS 上,我不得不将我的 HTC Incredible USB 模式从充电更改为媒体,然后设备出现在 adb 下。当然,在这两种情况下都已经进行了调试。


D
Daniele Segato

不要遵循建议使用 sudo (sudo adb start-server) 的解决方案!这以 root(管理员)身份运行 adb,它不应该那样运行!!! 这是一个糟糕的解决方法

以 root 身份运行的所有内容都可以在您的系统中执行任何操作,如果它创建或修改文件可以将其权限更改为仅供 root 使用。再次,不要!

正确的做法是设置您的系统以使 USER 拥有权限,请查看 this guide 我写的如何正确执行此操作。


l
leosbrf

我遇到了同样的问题,我按照以下步骤操作:

# Clone this repository
git clone https://github.com/M0Rf30/android-udev-rules.git
cd android-udev-rules
# Copy rules file
sudo cp -v 51-android.rules /etc/udev/rules.d/51-android.rules
# OR create a sym-link to the rules file - choose this option if you'd like to update your udev rules using git.
sudo ln -sf "$PWD"/51-android.rules /etc/udev/rules.d/51-android.rules
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# If adbusers group already exists remove old adbusers group
groupdel adbusers
# add the adbusers group if it's doesn't already exist
sudo mkdir -p /usr/lib/sysusers.d/ && sudo cp android-udev.conf /usr/lib/sysusers.d/
sudo systemd-sysusers # (1)
# OR on Fedora:
groupadd adbusers
# Add your user to the adbusers group
sudo usermod -a -G adbusers $(whoami)
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# OR on Fedora:
sudo systemctl restart systemd-udevd.service
# Restart the ADB server
adb kill-server
# Replug your Android device and verify that USB debugging is enabled in developer options
adb devices
# You should now see your device

上述步骤在 android-udev-rules 中进行了描述。它对我有用。

请务必确认重新插入后将出现在手机屏幕上的对话框。


F
Fayaz
sudo usermod -aG plugdev $LOGNAME

这个命令对我有用


H
Hemil

当您将 USB 连接到计算机时,它会询问您是否信任计算机来调试手机上的应用程序。单击是解决了问题


b
bsautner

这让我很生气。首先,这里的一些非常古老的建议可能会破坏您的 Arch linux 系统。我不得不从救援 USB 启动以撤消规则黑客。在我的案例中,当我插入 USB 时,我无法让我的 android 提示授权主机,并且与其他人有相同的症状:

$ sudo adb devices
List of devices attached
89MY08NPA       no permissions; see [http://developer.android.com/tools/device.html]

成为root没关系。

进入您的 android 的 USB 设置并确保 Use USB for 设置为文件传输。尽管我多年来一直在这款手机上进行 Android 开发,但由于某种原因,我的设置为无数据传输。谷歌的一些更新必须将其翻转到另一个设置。

将其设置为文件传输后,系统会提示您允许从主机进行调试并恢复正常

https://i.stack.imgur.com/cgV5j.png


A
Andreas Foteas

我尝试了一些上述解决方案:

重启 adb 服务器

修改 51-android.rules

将自己添加到 adbusers 组

它工作了一次。该设备要求我授权PC,之后一切正常。

问题是当我在 PC 重新启动后尝试连接设备时,问题又是一样的。为了现在解决这个问题,我不得不手动撤销 Settings->Developer Options->USB debugging authorizations,然后设备再次要求我授权 PC,因此终于成功了。

还有一次,上述撤销 USB 调试授权的解决方案没有成功,为了触发设备身份验证,我必须手动禁用/启用 Settings->Developer options->USB debugging

我正在使用 ubuntu 20.04LTS。


B
Brian Mutiso

如果您使用的是 Ubuntu、deepin 等基于发行版的 debian,您可以尝试运行

sudo apt-get install android-sdk-platform-tools-common

瞧你的问题解决了


D
Deepti Kohli

我使用了 su 并开始工作。当我与普通用户一起使用 Jetbrains 时,我看到了这个问题,但是在 su 模式下重新启动 Jetbrains 后,我可以看到我的设备而无需执行任何操作。

我正在使用 Ubuntu 13.04 和 Jetbrains 12.1.4


1
10101101

您也可以尝试编辑位于 /home/username/.android/ 的 adb_usb.ini 文件。此文件包含您要连接的设备的 ID 供应商列表。您只需在新行中添加设备的 ID 供应商(每行一个 ID)。然后重新启动 adb 服务器并重新插入您的设备。

它在 Ubuntu 12.10 上对我有用。


M
Morozov

无论如何,我做了什么来解决这个问题(在 Ubuntu 上)。

定义在什么情况下我需要运行这些命令。对于大多数 ubuntu 用户来说,都有一个主文件夹(隐藏文件 .bashrc)。在其中可以记录这些命令的启动。但是这些命令会在你在控制台输入 bash 命令时触发。因为我有一个 shell .zshrc,所以我做了以下事情: 打开控制台:gedit .zshrc

当文件打开时,添加以下行:

./.add_device_permissions.sh

之后或之前,我们需要创建这个文件:.add_device_permissions.sh,我们在其中编写以下内容:

#!/bin/bash
# Add permissions
ADB="/home/vadimm/Android/Sdk/platform-tools/adb"
$ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices

我们还需要在需要硬编码密码的地方创建 .permissions_redmi_note。

不要在文件中添加 .zshrc 不必要的我们可以在启动系统时指定路径:Startup Applications Preferences

我们按下“添加”并编写我们的命令:/home/vadimm/.add_device_permissions.sh

您也可以尝试在命令行中使用下一个命令: ./adb devices ./adb kill-server sudo ./adb devices ./adb kill-server ./adb devices


I
Ismail Iqbal

如果有人在使用 adb devices 时遇到以下错误消息

no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

执行以下

sudo -s 
adb kill-server
adb start-server

这为我在自定义构建的 android 设备上解决了这个问题