gpt4 book ai didi

android - 运行 react-native run-android 构建成功但停留在启动应用程序

转载 作者:行者123 更新时间:2023-11-29 23:06:07 28 4
gpt4 key购买 nike

通过 Bash 终端在 Android 模拟器上运行我的 React Native 应用程序构建成功,但仍然停留在:

info Starting the app (adb shell am start -n com.myapp/com.myapp.MainActivity...

Metro Bundler 正在运行,同一端口上没有其他任何东西,也没有错误。成功构建后,该应用程序从未实际加载到模拟器中(Pixel 2 XL API 27)。

直接从 Android Studio 运行将应用程序推送到模拟器没有问题,它运行得很好(按绿色箭头按钮或按 Shift+F10)。这发生在一台新的 Windows 10 笔记本电脑上。在另一个 Windows 10 桌面和 macOS macbook 2018 上运行相同的项目不会出现此问题。

我还让它在“启动应用程序”状态下停留了将近半小时,但没有任何反应。请注意,在其他机器上它会立即加载到模拟器上。

其他机器的区别在于安装的Android Studio版本。

在工作的 Windows 10 桌面上:

Android Studio version 3.1.2
JRE version 1.8.0_152
java version "1.8.0_211"

在运行 macOS Mojave 10.macbook 13"2018 macbook 时:

Android Studio version 3.3.2
JRE version 1.8.0_152
java version "1.8.0_181"

在这台无法工作的 Windows 10 笔记本电脑上:

Android Studio 3.4.1
JRE version 1.8.0_152
java version "1.8.0_211"

React Native 0.59.8 正在发生这种情况,这是发布此问题时的最新稳定版本,React 版本为 16.8.3。正在通过 bash 终端运行以下命令。

react-native run-android

运行上面的预期输出应该是它加载到已经打开的模拟器中。

我怀疑这台笔记本电脑上全新的 Android Studio 的不同之处在于,但降级到旧版本不是一种选择。非常感谢任何建议或指导。

最佳答案

设法解决它,必须执行几个步骤才能使其正常工作。这是我所做的。

在 Visual Studio Code 中打开项目,cd 到 android 文件夹并运行:

./gradlew clean

这会阻止它卡在“正在启动应用程序”,但我随后遇到了:

'adb' is not recognized as an internal or external command,
operable program or batch file.

要解决此问题,请打开环境变量(按 Windows 键,搜索“环境”并单击“编辑系统环境变量”)。单击显示“环境变量...”的按钮。在系统变量下,单击“新建...”。

Variable name: ANDROID_HOME
Variable value: C:/Users/USER/AppData/Local/Android/Sdk

USER 是您的 Windows 用户名。

这修复了“adb”错误,但随后我遇到了 metro 服务器错误:

Unable to load script. Make sure you're either running a Metro server ...

尽管关闭了所有终端、visual studio 代码和任何节点进程,但此问题仍然存在。只有在重新启动 Windows 后,这个问题才消失并运行以下命令:

react-native run-android

就是这样。希望它能帮助另一个。基本上,需要清理 gradle,将 Android studio sdk 添加到环境变量并重新启动。现在一切正常。

关于android - 运行 react-native run-android 构建成功但停留在启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56507923/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com