模拟器-5554未经授权使用adb设备

时间:2017-10-23 20:52:12

标签: react-native adb

我试图在Mac操作系统上让我的react-native项目在Android模拟器上运行。它在我的窗户上运行良好。

在我的Mac上,我转到终端并输入react-native run-android,我收到错误消息:

$ react-native run-android
Scanning 616 folders for symlinks in /Users/John/Documents/myreactnativeproject/node_modules (17ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

我输入adb devices,我看到了

List of devices attached
emulator-5554   unauthorized

我进入我的Android模拟器的设置,我去设置内部版本号多次点击它以启用开发人员选项。在开发人员选项中,我启用了USB调试,禁用了通过USB验证应用程序,并将其他所有内容保留为默我关闭了我的android工作室和模拟器,重新启动它。但仍然是上面提到的相同问题。

我做错了什么?

修改

我刚把我的Android手机连接到我的Mac上。当我运行adb devices时,我看到了这个结果

List of devices attached
YLEDU16B18004313    device

但是当我运行react-native run-android时,我得到与上面相同的错误。那么反应原生设置可能有问题吗?

编辑2

我可以通过添加这些额外的步骤将应用程序部署到我的Android手机

  • chmod 755 android/gradlew

  • 出于某种原因,当我从终端输入echo $ANDROID_HOME时,我得到结果/Users/John/Library/Android/sdk。但是如果我将echo $ANDROID_HOME行添加到我的android/gradlew文件中,它就不会回应。当我运行react-native run-android命令时,编译器会抱怨未定义ANDROID_HOME。所以我必须再次输入export ANDROID_HOME=/Users/John/Library/Android/sdk,然后运行react-native run-android命令,并部署到我的手机。

然而,我的模拟器仍然无法正常工作。我得到的新错误消息是Skipping device 'emulator-5554' (emulator-5554): Device is UNAUTHORIZED,

但至少我有一个临时解决方案,并使用我的手机进行调试。

编辑3

通过进入我的Android虚拟设备并删除虚拟设备,我摆脱了emulator 5554 unauthorized错误。然后我重新安装它。现在我的adb设备显示emulator 5554 device。而且我无法将应用程序部署到我的模拟器中。

11 个答案:

答案 0 :(得分:21)

默认情况下,Android模拟器具有" Usb Debugging"在设置中。您只需要擦除模拟器的数据。执行以下步骤。它会起作用:---

  1. 关闭模拟器并在命令提示符中运行命令 adb kill-server 。如果您的路径中未设置 adb ,则可以从存在adb的目录运行此命令。
  2. 点击avd Actions菜单中的擦除数据选项。 enter image description here

  3. 现在运行模拟器。它应该有效。

答案 1 :(得分:14)

就我而言,使用Google API映像创建虚拟设备,而不是Google Play映像对我有用。

问题出在唯一不能在Android Pie上运行的模拟器上。

在Android Studio中

  1. 打开一个Android虚拟设备管理器。
  2. 创建一个新的虚拟设备。
  3. 选择所需的任何硬件。
  4. 选择目标为“(Google API)”而非“(Google Play)”的任何系统映像(如果未找到。请尝试查看“ x86映像”选项卡或“其他映像”选项卡)
  5. 完成!

答案 2 :(得分:4)

在我的情况下,以下步骤

    来自avd manager的
  1. Wipe data
  2. Cold boot now

答案 3 :(得分:2)

我设法在Pixel 2,Android 9.0(Google Play),API 28,x86_64虚拟设备(Intel HAXM)上对adb进行了身份验证。该问题应与扩展控件(引导虚拟设备时,底部的三个点的图标菜单),Google Play菜单(正在检查Google Play服务的版本)有关。如果adb未被“未经授权”,则此页面将显示正确的版本,并且“更新”按钮会在带有Play Services应用的Play商店的手机内打开,以便您进行更新。

我要进行身份验证的步骤是:

  1. 确保在“开发”设置中已打开USB调试
  2. 撤销USB调试授权
  3. 确保将“扩展控件”>“设置”>“高级”>“打开GL”选项设置为:“台式机本机OpenGL”和“最大渲染器(最高OpenGL ES 3.1)”,以使仿真器界面,动画等速度很快!
  4. 关闭模拟器电源
  5. 在Android Studio的“您的虚拟设备”中,单击操作>选择“立即冷启动”中的向下箭头
  6. 启动设备时,必须快一些,记住和接受USB连接的对话框将显示并消失少于1秒钟(同样,我想这与某些自动化脚本的启动有关,idn)。

如果在对话框消失之前设法单击“记住”和“确定”复选框和按钮,则说明您已完成。否则,您必须关闭电源并重新启动。

在那之后,请不要擦除您的模拟器,否则您将不得不再次单击该疯狂的种族!

答案 4 :(得分:2)

创建新的虚拟设备,并确保选择Google API。 enter image description here

运行新设备!。这应该工作

enter image description here

答案 5 :(得分:2)

我运行adb kill-serveradb devices。 设备将再次返回。 对于仿真器,默认设置为启用调试

答案 6 :(得分:1)

创建图形设置为“软件-GLES 2.0”的模拟器对我来说很有效(Nexus 6图像)。

我最初使用的是Nexus 5X图像,但不允许我选择图形选项。

注意:在执行此操作之前,我先经过了OP的EDIT 2和EDIT 3中提到的步骤。

答案 7 :(得分:0)

我让我的mac系统按照问题中的编辑2将反应本机版本部署到我的物理手机。

我让我的mac系统按照问题中的编辑3将反应原生构建部署到我的模拟器。

我认为问题通常是将我的项目从Windows开发区域移动到Mac dev区域引起的。然后可能发生了不同问题的组合,导致每种情况下的构建失败。

答案 8 :(得分:0)

如果未在仿真器设备上启用USB调试,则会发生这种情况。

转到仿真设备,启用“开发人员”选项并启用USB调试。

enable USB debugging

答案 9 :(得分:0)

我必须使用Google Api创建一个新的模拟器。擦除数据对我不起作用。

答案 10 :(得分:0)

删除模拟器并再次创建它可以帮助我在Ubuntu上