0

私はしばらくのうちにAndroid開発を行っていないので、近代的なAndroid開発についての私の知識は不十分です。Windowsで直接実行されているエミュレータとWSLでネイティブネイティブを実行する

私はReact Nativeを習得しようとしています。私は主開発環境としてWSLを使用しています。 Linux/WSLでAndroidエミュレータを設定するのはおそらく痛いので、Windowsで直接エミュレータを実行したいと考えています。しかし、私はreact-native run-androidをWSLで実行できることを望んでいます。

React Nativeを設定してWSLでreact-native run-androidを実行し、WindowsのAndroidエミュレータでアプリを実行するにはどうすればよいですか?

マイ ANDROID_HOME変数が正しく設定されなければならないが、私は、これは何をやっているかどうかを知るためにアンドロイドについて十分に知らない

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

答えて

2

それが反応し、ネイティブによるWSLに使用することはできません私の知る限りいくつかの問題があります。

https://github.com/Microsoft/BashOnWindows/issues/1523

しかし、ネイティブのWindowsのアンドロイドビルドとWSLのnpmスタックを組み合わせた回避策が見つかりました。現実的には、ネイティブのWindows Android Studio/SDKをインストールして、Intellij IDEとエミュレータを使用する必要があります。トリックは、AndroidのコンパイルベースのGradleを分離することです。

ワークフロー

NPM /糸でWSLで実行されるすべてのプロジェクトの設定とパッケージ管理。 WSLにグローバルにインストールされたreact-native-cli重複したウィンドウバイナリノード/ npmスタックの必要はありません。

react-native run-androidを使用せず、代わりにcmdからコンパイルして展開してください。プロジェクト内の/androidディレクトリから、gradleラッパーgradlew.bat installDebugを実行するか、またはCreator's Updateを使用して、WSL bashシェル/mnt/c/Windows/System32/cmd.exe /C gradlew.bat installDebugの中から実行できます。 unix gradlewスクリプトを使用しないでください。

APKをアセンブルしてデバイスまたはエミュレータにアップロードしたら、コマンドreact-native startを使用してWSL内のデバッグサーバを実行します。

私はこれを、複数のネイティブAndroidコンポーネントを使用してかなり複雑なプロジェクトでテストしました。お役に立てれば。

  • 注:この作業を行うには、プロジェクトをネイティブWindowsファイルシステム、つまり/ mnt/cに配置する必要があります。
関連する問題