我试图将我的React Native项目在Mac操作系统上通过Android模拟器运行,但是出现了错误。在Windows上可以正常运行。在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验证应用程序,并将其他所有内容保留为默认设置。我关闭了我的安卓工作室和模拟器,重新启动了它。但是仍然出现了上面提到的相同问题。
我做错了什么?
编辑: 我刚把我的安卓手机连接到了我的Mac电脑上。当我运行
adb devices
时,看到了这个结果:List of devices attached
YLEDU16B18004313 device
但是当我运行 react-native run-android
时,我得到了与上面相同的错误。因此,也许我的 react-native 设置有问题?
第二次编辑
我通过添加以下额外步骤成功将应用部署到我的安卓手机:
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
。但至少我有一个临时解决方案,并可以使用手机进行调试。
第三次编辑
我通过进入我的 Android 虚拟设备并删除虚拟设备来摆脱emulator 5554 unauthorized
错误。然后,我重新安装了它。现在我的 adb 设备显示为emulator 5554 device
。我现在可以将应用部署到模拟器上。
react-native run-android
命令。该命令通过了所有的构建阶段,然后报错说找不到连接的模拟器。如果您将Android文件从Windows移动到了其他地方,可能会出现一些冲突导致了这个问题。您尝试过运行cd android && ./gradlew clean
吗? - bennygenelemulator 5554未授权
的问题,现在它显示为emulator 5554设备
,并且现在可以接受react-native构建。现在一切都正常工作! 我在EDIT 3中进行了说明。 - John