Leo*_*ang 4 android android-studio react-native windows-subsystem-for-linux
我有一段时间没有做过Android开发,所以我对现代Android开发的了解很多.
我正在努力学习React Native.我使用WSL作为我的主要开发环境.由于在Linux/WSL中设置Android模拟器可能会很麻烦,我想直接在Windows上运行模拟器.但是,我更喜欢能够react-native run-android
在WSL中运行.
如何设置React Native能够react-native run-android
在WSL中运行并在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
Run Code Online (Sandbox Code Playgroud)
Aus*_*ust 18
可以对其进行设置,以便模拟器react-native run-android
在 WSL 中运行时在 Windows 中运行。与@pscl 的方式相比,这样做的好处是这种方式支持自动链接。这是您需要做的事情才能使其正常工作。
Windows 端唯一需要的是安装Android Studio并设置模拟器/虚拟设备。这很简单,所以我不会引导你完成。
设置这方面的事情还有一点,所以请耐心等待。(我的 WSL 是 Ubuntu 18.04,这在其他版本上未经测试。)
tools
到~/Android/Sdk/tools
. (~/Android/Sdk
如果目录不存在,则创建它们。)sdkmanager
将无法运行,我们稍后会使用。)/opt/jdk8u222-b10
. (你实际上可以把它放在任何你想要的地方,只要确保JAVA_HOME
环境变量指向这个解压缩的文件夹。)~/.bashrc
文件中设置以下环境变量。(路径对你来说可能不同!)export ANDROID_HOME=/home/your-name/Android/Sdk
export JAVA_HOME=/opt/jdk8u222-b10
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
Run Code Online (Sandbox Code Playgroud)
sdkmanager "platform-tools"
以下载最新的平台工具。(该adb
工具来自此处。)现在一切都设置好了,是时候玩了!
react-native start
. (保持此终端打开)。react-native run-android
. (第一次运行时,React Native 将根据您的虚拟设备下载一些其他 SDK。您可以通过运行查看所有已安装的 SDK sdkmanager --list
。有关更多信息,请参阅sdkmanager的文档。)在设备上运行
这是制作它的快速说明,以便您可以将您的应用程序安装到物理设备。这里的技巧是确保您的两个adb
可执行文件都在同一版本上。(它们应该是因为我们通过 安装了它sdkmanager
。)
C:\Users\your-name\AppData\Local\Android\Sdk\platform-tools\adb.exe version
Run Code Online (Sandbox Code Playgroud)
C:\Users\your-name\AppData\Local\Android\Sdk\platform-tools\adb.exe version
Run Code Online (Sandbox Code Playgroud)
一旦确认它们在同一版本上,请确保从 Windows 可执行文件 (Run adb.exe kill-server && adb.exe start-server
)启动 adb 服务器。然后,您可以通过adb devices
在 WSL 中运行来测试它是否有效,您应该会看到已插入的设备。
psc*_*scl 15
由于许多问题,AFAIK无法在WSL中使用react-native.
例如https://github.com/Microsoft/BashOnWindows/issues/1523
但是,我发现了一个解决方法,它将原生windows android构建与WSL中的npm堆栈相结合.实际上,您仍然希望安装本机Windows Android Studio/SDK以使用Intellij IDE和模拟器.诀窍是分离出基于Gradle的Android编译.
工作流程
所有项目设置和包管理都在WSL中使用npm/yarn执行.react-native-cli全局安装在WSL中.不需要重复的Windows二进制节点/ npm堆栈.
不要使用react-native run-android
,而是从cmd编译和部署.从/android
项目内的目录,执行gradle包装器gradlew.bat installDebug
,或者使用Creator的更新,您可以从WSL bash shell中执行此操作/mnt/c/Windows/System32/cmd.exe /C gradlew.bat installDebug
.不要使用unix gradlew脚本.
将APK组装并上传到您的设备或模拟器后,使用该命令从WSL中运行调试服务器react-native start
.
我已经使用多个原生Android组件对一些相当复杂的项目进行了测试.希望这可以帮助.
归档时间: |
|
查看次数: |
5311 次 |
最近记录: |