我已经有一段时间没做安卓开发了,所以我对现代安卓开发的了解不多.

我在努力学习英语.我使用WSL作为主要的开发环境.因为在Linux/WSL中设置Android emulator可能会很痛苦,所以我想直接在Windows上运行该emulator.然而,我更希望能够在WSL中运行react-native run-android次.

如何设置React Native,使其能够在WSL中运行react-native run-android,并在Windows上的Android仿真器中运行应用程序?

我的ANDROID_HOME变量应该设置正确,但我对Android的了解还不够,不知道它是否起到了作用:

export ANDROID_HOME=/mnt/c/Users/Leo/AppData/Local/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

推荐答案

由于许多问题,在WSL中不可能使用react native.

e、 g.https://github.com/Microsoft/BashOnWindows/issues/1523

然而,我发现了一个解决方案,它将本地windows android构建与WSL中的npm堆栈结合起来.实际上,您还是希望安装本机Windows Android Studio/SDK来使用Intellij IDE和模拟器.诀窍是分离出基于Gradle的Android编译.

Workflow

所有项目设置和包管理在WSL与npm/THEAN一起执行.在WSL中全局安装react native cli.不需要重复的windows二进制 node /npm堆栈.

不要使用react-native run-android,而是从cmd编译和部署.从项目中的/android目录执行gradle包装器gradlew.bat installDebug,或者通过创建者的更新,您可以在WSL bash shell /mnt/c/Windows/System32/cmd.exe /C gradlew.bat installDebug中执行此操作.不要使用unix gradlew脚本.

组装APK并将其上载到设备或模拟器后,使用命令react-native start从WSL中运行调试服务器.

我已经在一些相当复杂的项目中使用多个本机Android组件对此进行了测试.希望这有帮助.

  • 注意:要使其工作,您的项目需要位于本机Windows文件系统中,即/mnt/c.

React-native相关问答推荐

AxiosError:Reaction Native EXPO开发版本中的网络错误

react 在顶部选项卡导航中传递本机数据

Touchabble 不透明度不工作-react 本机

构建 iOS Expo 应用时出现 React-Native xcodebuild 错误 65

打开屏幕后自动显示键盘

需要以前的props和state回调的静态 getDerivedStateFromProps?

调用 ES6 方法时绑定上下文.如何从称为回调的方法中访问对象?

Android Studio 为构建设置 node 目录(Cause: error=2, No such file or directory)

如何在StackNavigator 中实现自定义标题图标?

如何判断 React Native 中的 AsyncStorage 中是否存在密钥? getItem() 总是返回一个promise对象

React Native - SectionList numColumns support

元素中缺少main.jsbundle、Foundation和Security,导致报错

使用 WSL2 运行时如何将手机连接到 expo

react-native图标

是否可以将 Image.getSize 与静态图像文件一起使用?

在 react-native 中设置动态 'initialRouteName'

React Native Navigation 组件路由问题

ReactNative TextInput 不可见 iOS

如何在 React Native 中将图像放置在其他图像之上?

React Native:无法解析模块 fs