【问题标题】:emulator-5554 unauthorized for adb devices模拟器 5554 未经授权用于 adb 设备
【发布时间】:2018-04-04 12:44:10
【问题描述】:

我正在尝试让我的 react-native 项目在 Mac 操作系统上运行在 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

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

我做错了什么?


编辑

我刚刚将我的安卓手机连接到我的 Mac。当我运行adb devices 时,我看到了这个结果

List of devices attached
YLEDU16B18004313    device

但是当我运行react-native run-android 时,我得到与上面相同的错误。所以也许我的 react-native 设置有问题?


编辑 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 devices 显示emulator 5554 device。而且我无法将应用程序部署到我的模拟器。

【问题讨论】:

  • 你能添加完整的错误信息吗?可能还有另一个原因,因为它说“阅读上面的错误以了解详细信息”
  • @bennygenel 好的,我已经输入了在react-native run-android 命令之后收到的所有错误消息。我认为那里没有任何用处
  • react packager 是否在报错前启动?
  • 很高兴您找到了临时解决方案,但我仍然认为您的安装有问题。使用您正在使用的相同版本的 react-native 创建一个新项目,并测试它是否会立即从命令开始而不进行任何更改,这可能有助于查看问题是否出在您的项目或操作系统或其他问题上。跨度>
  • @bennygenel 好的,我删除了 emulator 5554 unauthorized 消息,现在它显示了 emulator 5554 device,它现在可以接受 react-native 构建。现在一切正常!我在编辑 3 中解释。

标签: react-native adb


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    删除模拟器并再次创建它对我在 Ubuntu 上有所帮助

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          我设法在 Pixel 2、Android 9.0 (Google Play)、API 28、x86_64 虚拟设备 (Intel HAXM) 上验证了 adb。问题应该与扩展控件(3 点底部图标菜单,当虚拟设备启动时)、Google Play 菜单有关,即检查 Google Play 服务的版本。当 adb 不是“未经授权”时,此页面会显示正确的版本,并且更新按钮会在手机内打开带有 Play 服务应用程序的 Play 商店,因此您可以对其进行更新。

          我为能够进行身份验证而采取的步骤是:

          1. 确保在 Dev 设置中打开 USB 调试
          2. 撤销 USB 调试授权
          3. 确保扩展控件 > 设置 > 高级 > Open GL 选项设置为:“桌面原生 OpenGL”和“最大渲染器(最高 OpenGL ES 3.1)”,因此模拟器界面、动画等速度很快!
          4. 关闭模拟器电源
          5. 在 Android Studio 的“您的虚拟设备”中,单击“操作”中的向下箭头 > 选择“立即冷启动”
          6. 当设备启动时,您必须要快,记住和接受 USB 连接的对话框将显示和消失不到 1 秒(我再次猜测与某些自动化脚本启动有关,idn)。

          如果您设法在对话框消失之前单击“记住”和“确定”复选框和按钮,那么您就完成了。否则,您必须关闭电源并再次冷启动。

          之后,不要擦除你的模拟器,否则你将不得不再次点击疯狂的比赛!

          【讨论】:

          • 我遇到了同样的问题,使用相同的系统映像...冷启动后出现“授权”屏幕,但持续不到一秒钟然后消失...将尝试想办法让它重新出现。顺便说一句,谢谢!
          【解决方案6】:

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

          只有在 Android Pie 上运行的模拟器才会出现问题,而其他模拟器则没有。

          在 Android Studio 中

          1. 打开 Android 虚拟设备管理器。
          2. 创建一个新的虚拟设备。
          3. 选择您想要的任何硬件。
          4. 选择目标是“(Google APIs)”而不是“(Google Play)”的任何系统映像(如果您没有找到。请尝试查看“x86 图像”选项卡或“其他图像”选项卡)李>
          5. 完成!

          【讨论】:

          • 第 4 项解决了我使用 Google Play 作为系统映像的问题,只是将其更改为 Google API。
          • 谢谢,它使用 Google API 作为系统映像
          • 在 Android S Preview 中还是一样(使用 Google API)。
          • 如果您想尝试google play服务,则不适用!
          • 还有其他选择吗?我需要更新的 Chrome 来进行测试,并且没有简单的方法可以在 Google API 图像上更新 Chrome。
          【解决方案7】:

          创建一个图形设置为“软件 - GLES 2.0”的模拟器对我有用(Nexus 6 图像)。

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

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

          【讨论】:

            【解决方案8】:

            如果没有在模拟器设备上启用 USB 调试,就会发生这种情况。

            转到模拟设备,启用开发人员选项并启用 USB 调试。

            【讨论】:

            • 它多年来一直对我不起作用,但在 API 29 模拟器上,我从Google APIs 图像创建了一个avd,就像上面的答案一样。
            【解决方案9】:

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

            1. 关闭模拟器并在命令提示符下运行命令adb kill-server。如果您的路径中没有设置 adb,那么您可以从 adb 所在的目录运行此命令。
            2. 点击 avd Actions 菜单中的 Wipe Data 选项。

            3. 现在运行模拟器。它应该可以工作。

            【讨论】:

            • 我的模拟器默认没有启用“Usb 调试”。我使用的不是工作室,而是 Android SDK Manager,这一步对我不起作用。
            • 这个答案最好
            • 按照您的步骤为我工作。
            • 我在几个地方尝试了 adb 命令,但似乎没有安装/找到它。我正在使用 Android Studio 3.5.1
            • 如果你安装了android SDK,那么adb可以在sdk里面的platform-tools文件夹中找到
            【解决方案10】:

            就我而言,以下步骤有效

            1. Wipe data 来自 avd 经理
            2. Cold boot now

            【讨论】:

              【解决方案11】:

              按照问题中的编辑 2,我让我的 mac 系统将 react-native 构建部署到我的物理手机。

              按照问题中的编辑 3,我让我的 mac 系统将 react-native 构建部署到我的模拟器。

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2015-10-16
                • 2014-05-29
                • 1970-01-01
                • 1970-01-01
                • 2023-03-27
                • 1970-01-01
                • 2014-10-03
                相关资源
                最近更新 更多