React Native:Androidプロジェクトが見つかりません。たぶん、react-native androidを最初に実行しますか?


89

以前は正常に機能していたReact-Nativeプロジェクトで問題が発生しましたが、突然機能しなくなりました。コマンドを使用するたびに:

react-native run-android

エラーが発生していました

Androidプロジェクトが見つかりません。たぶん、react-native androidを最初に実行しますか?

実行してみました:

react-native android

しかし、それは言った:

Unrecognized command 'android' Run react-native --help to see list of all available commands

試した後:

D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native eject

返されたエラーは次のとおりです。

D:\ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules(48ms)内のシンボリックリンクのフォルダーをスキャンするプロジェクト名を定義するには、構成ファイルnameでアプリを定義する必要がありますapp.json。スペースやダッシュを含めることはできません。

これはapp.jsonファイルです:

{
  "expo": {
    "name": "AwesomeProject",
    "description": "A very interesting project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": ["ios", "android"],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "package": "com.project.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "splash": {
      "image": "./assets/images/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ]
  }
}

1
androidフォルダーがrootディレクティブにない場合は、react-nativeejectを実行します。
Khurshid Ansari 2018

1
@Khurshid Ansari名前が定義されている場合でも、「プロジェクト名を定義するには、app.json構成ファイルでアプリ名を定義する必要があります」というエラーが発生するため、ソリューションは機能しませんでした。更新された質問をご覧ください。
Abhinav Saxena 2018年

回答:


155

私はこの質問を提起し、同様の問題に直面している他の人に役立つと思ったので自分自身に答えました。ターミナルに表示されるエラーが正確ではなかったため、その背後にある本当の理由を見つけるのに多くの苦労をしました。

この問題を解決するには、react-nativeパッケージをアップグレードしてください。

  1. プロジェクトルートに移動します。

  2. 次のように入力して、コマンドプロンプトでReactネイティブパッケージをアップグレードします。

    react-native upgrade

  3. 次にy (Yes)コマンドプロンプトを入力して、[同意する]をクリックしてすべてのファイルを更新します。

参照:https//github.com/facebook/react-native/issues/9312


9
その日を救った:)
ムハンマド

Reactネイティブパッケージはどこにありますか?明確な手順を実行してください
Lutaaya Huzaifah Idris 2017

@LutaayaHuzaifahIdris回答で述べたように、reactNativeパッケージはプロジェクトルートでアップグレードできます。したがって、コマンドプロンプトを開き、プロジェクトルートに移動します。次に、reactnativeパッケージをアップグレードします。
udai 2017

それは私が欲しくないアップグレードされたreact-nativeです。
Khurshid Ansari 2018

私の作業ソリューションは以下のとおりですが、上記のいずれも機能しませんでした:: 1. Android StudioでAVDマネージャーを開き、仮想デバイスを実行します(後でASを閉じることができます)2。プロジェクトフォルダーにCMDを入力し、「expostart」と入力します3。 Expoが開始したら、「Press a for Androidエミュレーター」というオプション2を選択します。仮想デバイスにExpoがインストールされ、そこからテストできます
Paul Gwamanda 2018年

23

私はそれが古い質問であることを知っていますが、それらの解決策のどれも私にとってはうまくいきませんでした、そして多分私のような他の人がいます。以前にこのコマンドを実行する際の問題を解決しましたrun-android

react-native eject

1
何らかの理由でこれは私にもうまくいきました。「react-nativeupgrade」を実行したときに提案されたように、「react-native-git-upgrade」を使用して新しいバージョンのreactnativeアップグレードを試しましたが機能しませんでした。
Zaid Qureshi 2018

2
このコマンドは、プロジェクトにandroidおよびiosフォルダーを再作成します
Khurshid Ansari 2018

1
これが正しい答えだと思います。それが私のために働いたという理由だけでなく、ドキュメントからの私の理解から、これはそれを行うための意図された方法であり、したがって他の副作用なしであるためです。
ダーン

8
ejectコマンドが削除されましたからreact-native
ファントムワトソン

16

React Nativeプロジェクトのルートディレクトリを開き、android-> app-> build-> middles-> signing_config-> debug-> out-> signing-config.jsonを見つけます。signing-config.jsonを削除してこのファイルを再試行してください

または

1)古いバージョンのreact nativeがあり、新しくインストールされたパッケージの一部が古いバージョンをサポートしていない場合があります。次に、react-nativeupgradeコマンドを使用してreactnativeプロジェクトを更新する必要があります。

  1. 現在のプロジェクトを新しいバージョンに更新した後、このエラーは解決するはずです。

9

必ずコマンド(非博覧会)を使用してプロジェクトを開始してください:

react-native init <your-project-name>

既存のフォルダの場合は、次の手順に従います。

反応ネイティブイジェクト


最新バージョンのreact-nativeでは、次のコマンドを発行しようとすると、この提案が表示されます。

react-native eject

D:\ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules(48ms)内のシンボリックリンクのフォルダーをスキャンするプロジェクト名を定義するには、構成ファイルnameでアプリを定義する必要がありますapp.json。スペースやダッシュを含めることはできません。

次のコマンドを発行すると、次のようになります。

D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native upgrade

以下が表示されます。

D:\ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules(56ms)内のシンボリックリンクのフォルダーをスキャンするGitに基づく新しいアップグレードツールの使用を検討する必要があります。ほとんどの競合を自動的に解決することにより、アップグレードが容易になります。使用するには:-ReactNativeの古いバージョンに戻ります-"npminstall -greact-native-git-upgrade"を実行します-"react-native-git-upgrade"を実行しますhttps://facebook.github.ioを参照してください/react-native/docs/upgrading.html「package.json」の react-nativeバージョンが、「node_modules」にインストールされているバージョンと一致しません。これを修正するには、「npminstall」を実行してみてください。中絶。

Facebookのreact-nativeコマンドの提案には、明確な解決策があります。

これらのコマンドは、現在のバージョンと、更新が必要かどうかを確認します。

もう1つの解決策:

react-native:コマンドがrun-android認識されません。おそらくnpmのインストールが原因です

以下も参照してください。

「Expo:モジュールLogReporterが見つかりません」の解決策


私のために受け入れられた答え、+ 10担当者。@Abhinavへ
Saeed

8

私はこれが好きでした...働いた!!

  1. CMDプロジェクトルートでreact-nativeupgradeを実行します
  2. それでも問題が発生する場合は、package.jsonの依存関係jsonにreact-nativeがあることを確認し、そうでない場合は追加してください
  3. それでも問題が発生する場合は、react-native- vを使用してcmdでreactnativeのバージョンを取得し、cmdとpackage.jsonで返される値が同じかどうかを確認してください。cmdで返された値でpackage.jsonを更新します

ここで私の問題は解決しました。


5

管理者としてコマンドプロンプトを開き、プロジェクトフォルダーに移動し、android(npx react-native run-android)を実行します


3

この問題が発生したのは、Androidフォルダーgradlewおよびgradlew.bat(それぞれ、UN * X、WindowsのGradle起動スクリプト)のファイルが何らかの理由でグローバル.gitignoreファイルに取り込まれ、ローカル環境に表示されなかったためです。

実際にreact-nativeupgradeコマンドを実行すると、これらのファイルが復元され、問題が修正されます。



2

次の方法でプロジェクトを開始した場合

npm install -g create-react-native-app
create-react-native-app MyReactNative
npm install -g react-native-cli
npm start

この後、あなたは問題の上記の問題に直面する可能性がありますので、解決策は:

npm run eject

2

私は今日この問題に直面しましたが、どの解決策もうまくいかなかったので、別の解決策を見つけました。

正しくフォーマットされていないAndroidManifest.xmlがこの問題を引き起こします。おそらく、今日のようにスプラッシュ画面を設定し、AndroidManifestを正しい方法でフォーマットしていません。


1

ここで、app.jsonには名前はありませんが、expo関連の構成があります。したがって、app.jsonに名前フィールドと表示名フィールドを追加するだけです。

app.json(最初の2行):

{
"name": "AwesomeProject",
"displayName": "Awesome Project",
"expo": {
    "name": "AwesomeProject",
    "description": "A very interesting project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": ["ios", "android"],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "package": "com.project.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "splash": {
      "image": "./assets/images/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ]
  }
}

この後、実行するだけです:

$ react-nativeイジェクト

infoiOSフォルダーを生成しています。

infoAndroidフォルダーを生成しています。

反応ネイティブアップグレードを行う必要はありません。


実際には、「エクスポイジェクト」もうまく機能します。それは私にオプションを与え、app.jsonを更新し、android / iosディレクトリを作成しました。
hp20 1719年

1

ファイルを削除します:React Native Project Root Directoryで、android-> app-> build-> middles-> signing_config-> debug-> out-> signing-config.jsonを見つけます。


1

Windowsで管理者としてターミナルを実行することは私のためにトリックをしました...他の解決策は機能しませんでした。


これは、karthik manoによる既存の回答のおかげで言っているだけですよね?そうでない場合は、この回答が提供する追加の洞察をより明確にしてください。
ユンノッシュ

1

私はAndroidStudio(非博覧会)を使用していますが、これは私にとってはうまくいきます

react-native init <your-project-name>

1

管理者権限でcmdを実行する必要があります。それは私にとって同じ問題を解決しました。「排出」または他の何かをしませんでした。


同じ質問に利用できる同様の答えがたくさんあります。あなたの答えを追加する代わりに、それがあなたを助けたなら、あなたはただ既存の答えに賛成することができます。
Deepak Terse

1

React Nativeプロジェクトのルートディレクトリを開き、android-> app-> build-> middles-> signing_config-> debug-> out-> signing-config.jsonを見つけます。

ファイルを削除して、再試行してください。



0

私の実用的な解決策は以下のとおりですが、上記のどれも私にはうまくいきませんでした:

プロジェクトフォルダにCDを挿入し、expo start--androidと入力します。

または長い道のり:

  1. Android StudioでAVDマネージャーを開き、仮想デバイスを実行します(後でASを閉じることができます)
  2. プロジェクトフォルダにCMDを入力し、「expostart」と入力します
  3. Expoが開始されたら、「Androidエミュレーター用にaを押す」というオプション2を選択します。

仮想デバイスにエキスポをインストールし、そこからテストできます


0

実行するとreact-native eject、次のエラーが発生しました。

Both the iOS and Android folders already exist! Please delete `ios` and/or `android` before ejecting.
  • MyProject/androidフォルダを削除します。
  • 実行react-native ejectこれによりandroidフォルダが生成されました

  • 次に、実行react-native run-androidしてAndroidをビルドします


0

Gitに基づく新しいアップグレードツールの使用を検討する必要があります。ほとんどの競合を自動的に解決することにより、アップグレードが容易になります。使用するには:-ReactNativeの古いバージョンに戻ります-"npminstall -greact-native-git-upgrade"を実行します-"react-native-git-upgrade"を実行しますhttps://facebook.github.ioを参照してください/react-native/docs/upgrading.html




0

java.exeのすべてのインスタンスを次のコマンドで強制終了することで問題を解決しました taskkill /f /im java.exe


0

プロジェクト(React Native CLIで作成)で同じエラーが発生しました:

ここに画像の説明を入力してください

Androidマニフェストファイル(android / app / src / main / AndroidManifest.xml)に構文エラーがありました。


0

私の場合、Sudoを追加するのを忘れました。次のように修正しました。

sudo npx react-native run-android

0

signing-config.jsonを削除し、次に再試行しますreact-native run-android

signing-config.jsonファイルパス:android-> app-> build-> middles-> signing_config-> debug-> out-> signing-config.json


0

チェックできたもう1つの簡単なことは、以前に管理者の役割でreact-native run-androidを実行した場合のように、以前にユーザーの別の役割としてプロジェクトを実行した場合です。


0

React Native Androidbuild folderを削除してから、コマンドを再試行してくださいnpx react-native run-android


0

私の場合、プロジェクトフォルダに対する適切な権限がありませんでした。

この場合は、フォルダ> [プロパティ]> [セキュリティ]> [詳細]を右ボタンでクリックし、フォルダの所有権をサブフォルダを含むユーザーに変更します。それはそれをする必要があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.