web-dev-qa-db-ja.com

GitHubのネイティブプロジェクトを複製して実行する

私は自分の電話で反応するネイティブアプリケーションを構築して実行しようとしています。 Getting Started で試しましたが、うまく機能しています。私は実行するために次のことをします

  1. cd AwesomeProject
  2. react-native start
  3. ターミナルで新しいタブを開きます
  4. curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"

  5. react-native run-Android

それは私のAndroid電話で実行されます。

今、私は GitHubからのプロジェクト を実行しようとしています。

  1. git clone https://github.com/h87kg/NavigatorDemo.git
  2. cd NavigatorDemo
  3. react-native start

Command 'start' unrecognized. Did you mean to run this inside a react-native project?エラー。このプロジェクトを実行するにはどうすればよいですか?どんな助けも大歓迎です。前もって感謝します。

更新

依存関係をインストールした後npm installサーバーを実行できます。さて、react-native run-Android次のエラーが表示されます

JS server already running.
Building and installing the app on the device (cd Android && ./gradlew installDebug)...
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Could not install the app on the device, see the error above.

解決策はハックのように感じられます。問題は、Androidフォルダー内のgradlewファイルは、gitリポジトリからクローンを作成したため、実行できなくなっていることです。

基本的に、react-native run-Androidを実行すると、cd Android && ./gradlew installDebugなどのコマンドの実行を含む多くの処理が実行されます。すぐに、gradlewを実行しようとしますが、ファイルを実行できません。そのため、このエラーが発生します。

ただcdAndroidフォルダーに入れ、chmod +x gradlewを実行します。ファイルをコピーするのではなく、修正する必要があります。

8
Badmus Taofeeq

ノードモジュールをインストールしましたか?試してくださいnpm install

  1. git clone https://github.com/h87kg/NavigatorDemo.git
  2. cd NavigatorDemo
  3. npm install
  4. react-native start

私は解決策を見つけました、これが私がそれを機能させ、同じ問題に直面している他の人と共有する方法です

  1. Android/app/src/main/内にassetsというフォルダーを作成します
  2. 既存の作業プロジェクトgradleからAndroid/内のAwesomeProjectフォルダーをコピーしました
  3. (cd Android && ./gradlew installDebug)
  4. curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"
  5. react-native run-Android

これらは私が従った正確な手順です。それが役立つことを願っています。

  1. 既存の作業プロジェクトルートからAndroid /内のgradleフォルダーをコピーします
  2. Androidディレクトリに移動し、これを実行します:./gradlew installDebug
  3. Gradleフォルダーを元の場所にコピーします。

これは私のために働いた解決策です。プロセス中にノードサーバーを閉じることを忘れないでください。

0
Surendra Pathak