React Native androidビルドが失敗しました。SDKの場所が見つかりません


473

Androidの実行を開始するとエラーが発生する

What went wrong:
A problem occurred evaluating project ':app'.  
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

回答:


843
  • android/反応ネイティブプロジェクトのディレクトリに移動します
  • local.properties次の行で呼び出されるファイルを作成します。
sdk.dir = /Users/USERNAME/Library/Android/sdk

USERNAMEmacOSユーザー名はどこにありますか


*問題点:プロジェクト ':app'の構成中に問題が発生しました。> SDKディレクトリ「/ usr / local / android-sdk」が存在しません。しかし、実際には私のSDKはこのパスに存在します
Pyae Sone Nyein

3
この問題を修正しましたか?私も今、これに直面しています。
Gasper Kolenc、2015年

8
Android Studioから実行することでこれを修正できました。それが完了したら、コマンドラインから機能します。
Gant Laborde、2016

そう、local.propertiesを作成することで私の問題は解決しました。奇妙ですが動作します。
Sanj 2016

113
Windowsの場合sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
Razze

422
  1. React-nativeプロジェクトに移動します-> Android
  2. ファイルを作成する local.properties
  3. ファイルを開く
  4. 以下のようにAndroid SDKパスを貼り付けます

    • Windowsで sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    • macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    • Linuxで sdk.dir = /home/USERNAME/Android/Sdk

USERNAMEユーザー名に置き換えます

次に、react-native run-androidターミナルでを実行します。


4
SDKを外部ドライブに移動しました。macOS Sierraを使用して動作します。
ruelluna 2017

4
Linuxの場合sdk.dir=/home/USERNAME/Android/Sdk
ebin

sdk.dir = / home / USERNAME / Android / Sdk-> linuxで動作しますが、Linux Studio for Linuxが存在し、動作している必要があります(
gradle

エラーの表示*問題の原因:プロジェクト ':app'の構成中に問題が発生しました。> SDKディレクトリ '/ Users / chandni sharma / Library / Android / sdk'は存在しません。
チャンドニー2018年

2
@Chandni Android SDKがインストールされていることを確認してください
a_rahmanshah

116

ANDROID_PATHを追加してみてください

export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

10
私はすでにANDROID_PATH環境内にあります(Ubuntu、.bashrcファイル)。ただし、いくつかの理由により、まだ問題が発生しています。local.properties他の回答で述べたようにパスを作成して配置することで修正しました。
Hesam 2017

3
Macと環境変数ANDROID_HOMEは役に立ちませんでした。local.propertiesしかし、しました。
Henrik

60

開い~/.bash_profileて追加:

 export ANDROID_HOME=~/Library/Android/sdk/
 export PATH=$PATH:~/android-sdks/platform-tools/
 export PATH=$PATH:~/android-sdks/tools/

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


10
動作します。ターミナルを再起動するか、タイプsource ~/.bash_profileして新しいエクスポート行を有効にしてください。
ラプター

ボディがbash_profileを見つけることができない場合は追加してください。最初のタイマーについてはそれを見つけることができないため、作成してください(そうするので、I:p)
snehal agrawal

44

更新し ないlocal.propertiesでください。これは間違いなく悪い習慣です。

これは私がそれを修正した方法です。~/.bash_profileまたはに以下を追加します~/.bashrc

export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/23.0.1:$PATH

注:私は以前brew cask、次の手順に従ってAndroid SDKをインストールしました。


6
これが最良の答えです。local.propertiesを変更する必要はありません。私にぴったりの作品
mike_dz 2018年

なぜそれが悪い習慣なのですか?ローカライズされた変更を行う方がシステムパスを変更するよりもはるかに安全であると思われるため、純粋に好奇心が強い
Robbie Milejczak

8
このコードがソース管理にチェックインされると、それを使ってビルドしようとする次の人がこのページを見ることになるからです。
デイブウェリング

31

echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties


1
グローバルシステムファイルを変更しないので、これが最も安全な方法です。そして、自分のマシンにそのタイプの管理者アクセス権を持っていない人のために。
GravyPlaya

23

Windowsを使用している場合は、android/local.propertiesファイル内のバックスラッシュとコロンをエスケープ(バックスラッシュを追加)します。ない場合は作成してください

sdk.dir = C\:\\Android\\sdk

2
Windowsの場合、Android SDKはC:\ Program Files \ Android \ android-sdkにあります
Stephane

16

MAC / Unixで開始するためにReact Native0.58の手順を更新

  • ターミナルでbash_profileを開きます

nano〜/ .bash_profile

ANDROID_HOME = $ HOME / Library / Android / sdkをエクスポートします

エクスポートPATH = $ PATH:$ ANDROID_HOME / emulator

エクスポートPATH = $ PATH:$ ANDROID_HOME / tools

エクスポートPATH = $ PATH:$ ANDROID_HOME / tools / bin

エクスポートPATH = $ PATH:$ ANDROID_HOME / platform-tools

Control+S to save
Control+X to exit
Y to save changes
  • 端末の変更を更新

source ~/.bash_profile

  • パスを検証:

echo $PATH

  • すべて問題ないか確認します。

adb devices


私の命を救った:)
marco burrometo

ときどきターミナルを閉じて再度開く必要があります
Oluwatobi Samuel Omisakin

14

Windowsユーザーの場合

簡単な解決策の1つは、SDKパスを環境変数リストに設定することです。

  1. 環境変数に向かいます。(お使いのPC>プロパティ)
  2. 新しいシステム変数を作成する
  3. 変数名ANDROID_HOMEに設定します
  4. 変数の値をAndroid SDKの場所に設定します
  5. OKを押します(3つのダイアログボックスで3回)

注意:

Android Sdkは通常、次の場所にあります

C:\ Users \ YourUserName \ AppData \ Local \ Android \ Sdk

ターミナルには既存の環境変数がすべて保持されているため、必ず現在のターミナル閉じてください


それだ。local.propertiesを編集する必要はありません、ありがとうございます。
Rhadamez Gindri Hercilio

1
魅力のように動作します😊。どうもありがとう!
kapil pandey

マシンを再起動することを忘れないでください
mtoninelli

1
「現在の端末を閉じる」というエラーを逃し、あきらめようとしましたが、もう一度読みました。これはうまくいった!
Michimcchicken

11

LinuxディストリビューションでのSDKパスエラーの修正


プロジェクトは、指定されたパスを介してプロジェクト設定でSDKセットを見つけていないため、プロジェクトは正しい方向を指している必要があり、これを行うにはいくつかのオプションがありますが、最初に正しいSDKフォルダーを見つけることから始めましょう。


SDKを見つける


パッケージマネージャから


DebianベースのディストリビューションのカスタムPPAを介してJava 8 JREのようなパッケージベースのJREインストールを使用している場合、またはOpenJDKを使用している場合、ディレクトリは/ usr / lib / jvm / java-8-oracle(または選択したバージョン)。このパスは、JAVA_HOME環境変数で設定できます。

$ echo $JAVA_HOME
 /usr/lib/jvm/java-8-oracle

手動ダウンロード


Java JRE / SDKダウンロードを介してインストールした場合は、/ home / username /jdk-8u121_1.8.0(または類似のもの)など、フォルダーを配置した場所になります。

スクリプトによるインストールでは、SDKを/ opt / java-8-oracleに追加することもできますが、これを書いている時点では、Javaのインストール手順では、フォルダーの配置はそのままです。


Android Studio 2.2


最後に、Android Studioを使用している場合、SDKは、StudioのSDK Managerを通じてダウンロードされたSDKファイルを配置するように設定した場所に配置されます。移動して、[ファイル]> [設定]> [外観&行動> [システム設定]> [AndroidのSDKは、変更するオプションを使用して上部のSDKの場所の設定、およびというフォルダデフォルト見つけることができます〜/アンドロイド/ SDKを

Android Studio SDKパス

SDKパスの設定

SDKの場所がわかったところで、react-nativeに知らせましょう。


オプション1:local.propertiesで設定


このメソッドは、ファイルの作成され必要とされているすべての非常に簡単で、かつlocal.properties次のフォルダ内のProject_Folderはあなたのリアクト-ネイティブアプリケーションのベースです。

Project_Folder / Android / App

local.propertiesで、変数sdk.dirをSDKフォルダーのパスに設定します。

sdk.dir=/home/username/Android/Sdk

これは問題を解決する最も簡単な方法ですが、特に複数のプロジェクトで作業している場合は、これが最善ではありません。プロジェクトごとに、プロジェクトごとにこのファイルを作成する必要があります。フォルダが変更された場合は、各プロジェクトのlocal.propertiesに対してこのファイルを変更する予定です。

ファイルを保存したら、react-native run-androidコマンドを再実行します。


オプション2:環境変数を含む設定フォルダー


もう1つのオプションは、SDKフォルダーを、React-Nativeがデフォルトで検索するローカル環境変数に設定することです。これを行うには、ANDROID_HOMEパスを追加します。おまけとして、同じ場所にAndroidツールを追加することもできます。これをホームディレクトリの.bash_profileファイルまたは.profileファイルに追加する必要があります。これらのファイルは最後に読み込まれるため、他の設定で上書きされていないことを確認できます。これらはホームディレクトリにあるため、昇格された特権で編集する必要はありません。

**$ vim ~/.profile**  (use nano or pico if you prefer)

ファイルに次の行を追加して、SDKフォルダーを上記で見つけたフォルダーに置き換えます。例としてAndroid Studioフォルダーを使用します。

export ANDROID_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools

ファイルを保存して、プロファイル設定を適用します。

$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk

Sdkフォルダーが正しく表示された場合、おめでとうございます!react-nativeコマンドを再実行し、アプリのビルドプロセスが進むのを確認します。


それでも問題が解決しない場合


何らかの理由でエラー「>>ハッシュ文字列 'android-23'を含むターゲットが見つかりませんでした:your / sdk / folder」が表示された場合は、プロジェクトのビルドバージョンとインストールされているSDKのバージョンが一致していることを確認する必要があります(React -ネイティブのデフォルトは23.0.1です。デフォルトのバージョンはProject_Folder / android / app / build.gradleで確認でき、次にbuildToolsVersionを検索します。もちろん、このファイルからバージョンを変更することも、Android Studioで[ファイル]に移動することもできます>プロジェクトSDKを変更するためのプロジェクト構造何をしているのか完全に理解していない限り、このバージョンを変更しないことをお勧めします。そうでない場合は、プロジェクトが探しているSDKバージョンをインストールします。


7

正しい完全パスを記述する必要があります。「〜/ Library / Android / sdk」は使用しないでください

vi ~/.bashrc

export ANDROID_HOME=/Users/{UserName}/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

source ~/.bashrc

7

あなたは、Android Studioから別にSDKを取得する必要がUbuntuの上で奇妙なパスは、Android Studioで動作しますが、とネイティブ反応して、あなたはファイル名を作成する必要がありますlocal.properties

たとえばinn ~/AwesomeProject/androidで次の行を挿入します。
sdk.dir=/path/to/sdk/in/your/computer


4

local.propertiesファイルをチェックアウトします。

sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk

フォーマットが適切かどうか


4

Ubuntuを使用している場合は、次のように、react-nativeプロジェクトのandroidディレクトリに移動し、というファイルを作成し、local.propertiesそれにandroid sdkパスを追加します。

sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk

4

reactプロジェクトのandroidフォルダーlocal.propertiesからを削除して試してください。

私はこれをして成功しました。


3

システムの他のandroidプロジェクトlocal.propertiesをコピーし、機能するReactネイティブプロジェクトのandroidフォルダーに貼り付けます。



3

これは私のために働いた。

私はUdemyでStephen GriderのReact Nativeを採用しています。学生の1人がこれを講義50で投稿しました。コマンドラインに逐語的に貼り付けました(もちろん '$'なし)。

$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile

これを行わないでください。エラーになります> The SDK directory '/usr/local/opt/android-sdk' does not exist.
thexande 2017

3

私が見つけることができる最良の解決策は次のとおりです:

  1. 選択したAndroid StudioとSDKをダウンロードします(必要ないと思われる場合でも、apkファイルをリリースしたり、androidコードに手動で変更を加えたりするのに必要だと信じてください)。
  2. [ファイル]> [新規]> [インポート]で、reactネイティブAndroidプロジェクトがある場所をポイントします。
  3. 特定のSDKをダウンロードするように求められたら、同じSDKをダウンロードしてください。Gradleなどの更新を求められることがあります。必要に応じて更新を続けてください。
  4. 既存のAndroid SDKがあり、バージョンがわかっている場合は、Androidプロジェクトのbuild.gradleでそのバージョンを一致させるだけです。

これはgradleファイルがどのようになるかです:

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

マシンのセットアップですべてがうまくいき、Android Studioを使用してプロジェクトをコンパイルできる場合は、react-native cli build androidコマンドを使用してアプリをビルドすることはできます。

このアプローチでは、SDKの問題を解決するだけでなく、Android開発用のマシンのセットアップに関連する多くの問題も解決します。インポートにより、SDKの場所が自動的に検出され、local.propertiesが作成されます。したがって、手動による介入を心配する必要はありません。


2

Linuxユーザーの場合

アプリがandroid-sdkのパスを取得していないため、linux(ubuntu)を使用している場合は、「local.properties」という名前のファイルを追加して、アプリフォルダー内に作成されるandroidフォルダー内に保存する必要があります。 。

アプリを実行するために、local.propertiesファイル内に次の行を追加する必要があります。これは、android-sdkのパスがシステム内のシステム内にあるパスです。

sdk.dir=/opt/android-sdk/

コマンドを保存して再実行しますreact-native run-android

または

あなたはターミナルを開くことができます

sudo nano〜/ .bashrc

以下のパスをファイルの最後に貼り付けます

ANDROID_HOME = "/ opt / android-sdk /"をエクスポートします

コンピューター再起動し、その後、react-native run-androidを再度実行します

注:-設定されたパスを.bashrcファイルに入れる場合、local.propertiesファイルを作成する必要すらありません。


これはハードコーディングされたソリューションであってはなりませんが、Android Studio SDKがインストールされている場所によって異なります。私の場合はsdk.dir = "pathWhereAndroidSDKisbeeninstalled / Android /
Sdk

2

android studioプロジェクトを作成するとlocal.properties、プロジェクトのルートディレクトリ内にファイルが作成されていることがわかります。反応ネイティブプロジェクトを作成しても、そのファイルは作成されません。そのため、手動で作成する必要があります。そして、それにskd dirを追加する必要があります。そのため、androidフォルダー内(ルート上)に新しいファイルを作成します。そして、このようにあなたのsdkパスを入れてください覚えています:ダブルでシングル\を削除しsdk.dir=D\:\\Android\\SDK\\android_sdk_studio . ください。上記のように。


2

この問題を解決するには2つの方法があります。

  1. android studioでreactネイティブAndroidプロジェクトを実行するだけで、reactネイティブAndroidプロジェクトにlocal.propertiesファイルが自動的に生成されます。

  2. a。React-native Project-> Androidに移動します
    b。ファイルlocal.propertiesを作成します
    c。ファイルを開きます
    d。以下のようにAndroid SDKパスを貼り付けます


1

適切なエミュレータとAndroidバージョンがインストールされていることを確認してください。これで問題は解決しました。


1

プロジェクトディレクトリには「android」というフォルダがあり、その中にlocal.propertiesファイルがあります。ファイルを削除すると、ビルドが正常に実行されます


1

local.propertiesファイルが見つからない場合は、「project / android」フォルダーに「sdk.dir = / Users / apple / Library / Android / sdk」を付けて作成し、SDKがその場所にあることを確認してください。

Macでカスタム拡張子を持つファイルを作成するには、次のリンクを参照してください

TextEdit(mac)ファイルをカスタム拡張子(.sas)で保存するにはどうすればよいですか?


0

Gradleファイルは2つありますが、C:\ myapp \ android \ build.gradle内変更し、親ディレクトリmyapp では変更しないでください。

23.0.1を私のケース25.0.0にインストールされているAndroidビルドツールのバージョンに置き換えます

ランは反応するネイティブ実行のAndroidエミュレータでアプリを見ることを。


0

Android Studioのプロジェクトでandroidフォルダーを開くだけです。Android Studioは、必要なファイル(local.properties)を作成し、Androidを実行するために必要なSDKバージョンをダウンロードします。


0

私はWindowsを使用していて、PATH環境にあるかどうかに関係なく、SDKパスを変更する必要がありました。変数

sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk

このファイルを変更しました:

MyProject\android\local.properties

0

問題は、環境変数の設定が間違っていることです。次のSDKを(Windowsで)使用する必要があります。C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk

詳細:https : //facebook.github.io/react-native/docs/getting-started

選択:ポイント3のAndroid開発環境セクションのReact Native CLIクイックスタート。ANDROID_HOME環境変数を構成します。

現在のようにそれを行う場合は、環境変数を使用するように各プロジェクトを構成する必要があります。また、プロジェクトが機器を持っている複数の人々の中にいる場合は、問題が発生する可能性があります。私が言ったようにそれを行う場合、プロジェクトを構成する必要はありません。


0

Project/androidAndroid Studioがインストールされている場合は、Android Studioを使用して開くだけで、プロジェクトのSDKの場所のパスを切り替えるように通知されます。


-2

システムの他のandroidプロジェクトlocal.propertiesをコピーし、機能するReactネイティブプロジェクトのandroidフォルダーに貼り付けます。

sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk

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