我想在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
Run Code Online (Sandbox Code Playgroud)
我打字adb devices
,我明白了
List of devices attached
emulator-5554 unauthorized
Run Code Online (Sandbox Code Playgroud)
我进入我的Android模拟器的设置,我去设置内部版本号多次点击它以启用开发人员选项.在开发人员选项中,我启用了USB调试,禁用了通过USB验证应用程序,并将其他所有内容保留为默 我关闭了我的android工作室和模拟器,重新启动它.但仍然是上面提到的相同问题.
我究竟做错了什么?
编辑
我刚把我的Android手机连接到我的Mac上.当我跑步时adb devices
,我看到了这个结果
List of devices attached
YLEDU16B18004313 device
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时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
我emulator 5554 unauthorized
通过进入我的Android虚拟设备并删除虚拟设备来消除错误.然后我重新安装它.现在我的adb设备显示了emulator 5554 device
.而且我无法将应用程序部署到我的模拟器中.
use*_*708 30
就我而言,使用Google APIs Image创建虚拟设备,而不是Google Play Image对我有用。
该问题发生在唯一未在Android Pie上运行的模拟器上。
在Android Studio中
srs*_*srs 28
Android模拟器在设置中默认具有"Usb Debugging".您只需要擦除模拟器的数据.执行以下步骤.它会工作:---
现在运行模拟器.它应该工作.
我设法在Pixel 2,Android 9.0(Google Play),API 28,x86_64虚拟设备(Intel HAXM)上对adb进行了身份验证。该问题应与扩展控件(引导虚拟设备时,底部的三个点的图标菜单),Google Play菜单(正在检查Google Play服务的版本)有关。如果adb未被“未经授权”,则此页面显示正确的版本,并且“更新”按钮会在带有Play Services应用程序的Play商店的手机内打开,以便您进行更新。
我要进行身份验证的步骤是:
如果设法在对话框消失之前单击“记住”和“确定”复选框和按钮,则说明您已经完成。否则,您必须关闭电源并再次冷启动。
之后,请勿擦除模拟器,否则您将不得不再次单击该疯狂的竞赛!
我按照问题中的编辑 2 让我的 mac 系统将反应本机构建部署到我的物理手机。
我按照问题中的编辑 3 让我的 mac 系统将反应本机构建部署到我的模拟器。
我认为这个问题通常是由于将我的项目从 Windows 开发区域移动到 Mac 开发区域引起的。然后可能会发生不同问题的组合,导致每种情况下的构建失败。
归档时间: |
|
查看次数: |
25166 次 |
最近记录: |