我试图在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
。而且我无法将应用程序部署到我的模拟器中。
答案 0 :(得分:21)
默认情况下,Android模拟器具有" Usb Debugging"在设置中。您只需要擦除模拟器的数据。执行以下步骤。它会起作用:---
答案 1 :(得分:14)
就我而言,使用Google API映像创建虚拟设备,而不是Google Play映像对我有用。
问题出在唯一不能在Android Pie上运行的模拟器上。
在Android Studio中
答案 2 :(得分:4)
在我的情况下,以下步骤
Wipe data
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商店的手机内打开,以便您进行更新。
我要进行身份验证的步骤是:
如果在对话框消失之前设法单击“记住”和“确定”复选框和按钮,则说明您已完成。否则,您必须关闭电源并重新启动。
在那之后,请不要擦除您的模拟器,否则您将不得不再次单击该疯狂的种族!
答案 4 :(得分:2)
答案 5 :(得分:2)
我运行adb kill-server
和adb 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)
答案 9 :(得分:0)
我必须使用Google Api创建一个新的模拟器。擦除数据对我不起作用。
答案 10 :(得分:0)
删除模拟器并再次创建它可以帮助我在Ubuntu上