Android上のReact Nativeはビルドツールを見つけることができませんでした


92

次の問題の原因は何ですか?Android SDKのバージョンはサポートされていませんか?

Starting JS server...                                                                     
Building and installing the app on the device (cd android && gradlew.bat installDebug)...

FAILURE: Build failed with an exception.                                                  

* What went wrong:                                                                        
A problem occurred configuring project ':app'.                                            
> failed to find Build Tools revision 23.0.1       

SDKマネージャのV25から、あなたは今ので、Androidのメーカーから、正しいビルドツールをインストールする必要がありますandroidコマンドが削除されます。stackoverflow.com/a/44295114/82609
セバスチャン・ローバー

回答:


136

おそらく、ビルドツールを更新する必要があります。

グラフィックインターフェースから更新しようとしたときに問題に直面しました。正確なマイナーバージョンが表示されなかったため、更新できませんでした。

ターミナルで利用可能なバージョンを確認することで解決しました:

android list sdk -a

[...]
Packages available for installation or update: 156
1- Android SDK Tools, revision 24.4
2- Android SDK Platform-tools, revision 23.0.1
3- Android SDK Platform-tools, revision 23.1 rc1
4- Android SDK Build-tools, revision 23.0.1

[...]

そして正しいバージョンをインストールする:

android update sdk -a -u -t 4

3
このandroidプログラムは何ですか?どこで入手できますか?
jameshfisher

2
@jameshfisherこれは、Android SDKの一部です。たとえば、「tools」ディレクトリにあります。例:〜/ android-sdk / tools / android
edur

Android Studioで何度かアップデートを試しましたが、うまくいきませんでした。このコマンドはしました。ありがとうございました。
ジョーダンクーパーマン16

実際にはreactプロジェクトのandroid-sdk-linuxにあります。
Ghita Tomoiaga

注SDKマネージャの新しいバージョンではandroid、コマンドはもはや機能せず、一つは、この設定を参照してくださいアクセスするには、Androidメーカーを実行する必要がありstackoverflow.com/a/44295114/82609
セバスチャン・ローバー

73

注:インストールしたビルドツールのバージョンが新しすぎるため、このエラーが発生する可能性があります

OPが取得したエラーを正確に取得しました(react-nativeがビルドツールリビジョン23.0.1を見つけられなかったとのクレーム)。Android SDK Managerを確認したところ、次のことがわかりました。

23.0.2 "インストール済み"だが23.0.1 "インストールされていない"を示すスクリーンショット

私は、Build-toolsの最新バージョン(執筆時点では23.0.2)をインストールするとうまくいくと単純に思っていましたが、明らかにそうではありません。さらに、23.0.1をインストールすると問題が修正されました。


ここで同じ問題。新しいビルドツールを使用する方法はありませんか?多分いくつかの設定。
sodik

この提案は私にも役立ちました。23.0.2は新しすぎました。ありがとう。
フェルナンド

1
@boatcoderのこの回答(古いビルドツールのインストール)はsodikの回答(build.gradleReact Nativeで新しいビルドツールを使用するように変更する)よりも正しいです。AndroidビルドツールはSemVerに準拠しているようです。そのため、新しいbuild.gradleパッチまたはマイナーバージョンを使用するように変更しても、通常は安全であり、プラットフォームレベルのバグ修正やパフォーマンスの改善が提供され、何もダウンロードしなくても済むようになります。しかし、それは上で行われていれば、あなたのアプリを破るだろう主要なバージョンのリリース、および導入されましたいくつかのあなたは、Facebookが意図しなかったことをビルドツールでRNを使用しているので、パッチ/マイナーリリースでも、リスクを。
Mark Amery

28

新しいバージョンのSDKビルドツール(Markと同じ)にも問題がありましたがandroid/app/build.gradle、適切なバージョンを変更して設定することで解決できました。

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

更新:Markが示唆したように、この方法ではマイナー(またはパッチ)バージョンのみを更新するのが賢明です。このバージョンを更新しないもう1つの理由は、ネイティブパーツを含むサードパーティのライブラリがたくさんある場合です-それらすべてを更新してしまう可能性があります。そのため、新しいバージョンの可能性のある利点ともう少し作業の利点を比較検討する必要があります。


1
チェンジ・ライン85を忘れないようにtargetSdkVersion 22するtargetSdkVersion 23だけでなく。
Xianlin

生成されたbuild.gradleファイルにbuildToolsVersion "23.0.1"が含まれていることがわかりましたが、バージョン23(23.0.0)しかインストールされていません-"react-native init"がandroid / tools SDKのバージョン番号をどこから見つけたのかわかりません。したがって、実際には、react-native initコマンドが使用可能なツールのバージョン番号を使用していないことが原因です。
ferdil

23.0.1は修正されたと思います(多分RNバージョンで変更される可能性があります)が、検出機能はありません。
sodik

おかげで、これは25.0.0に23から25と23.0.1に変更、私の問題を解決
niren

4

4つのファイルを変更する必要があります

grep buildToolsVersion * -r | grep 23.0.1

Examples/Movies/android/app/build.gradle:    buildToolsVersion "23.0.2"
Examples/UIExplorer/android/app/build.gradle:    buildToolsVersion "23.0.2"
ReactAndroid/build.gradle:    buildToolsVersion "23.0.2"
local-cli/generator-android/templates/src/app/build.gradle:    buildToolsVersion "23.0.2"

3

Androidプロジェクトを次のbuild.gradleように変更する必要がありました。

compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.demoproject"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }

3

これは、システムにインストールされたAndroidビルドツールがアプリの構成ファイル(構成ファイルが23.0.1を指している)以外のものであることを意味しますが、システムにはおそらく23、24、または25.0。*があります。

この問題を解決する解決策:

  1. プロジェクトフォルダのbuild.gradleanroid/appにあるファイルを編集します
  2. エントリbuildToolsVersion「23.0.1」を探し、システムにある最新バージョンに置き換えます。あなたはそれをここで見つけることができます:C:\Program Files (x86)\Android\android-sdk\build-tools

またはbuild.gradleファイルにあるバージョンを(SDKマネージャーを使用して)システムにインストールすることもできます。


1

Android SDKマネージャーv25以降では、androidコマンドが機能しないため、正しいビルドツールをAndroid Studioから直接インストールする必要があります。

Android Studioからインストールする


Andriod Studio内からこの画面に移動します。ファイル->設定-> Android SDK-> SDKツール->右下の「パッケージの詳細を表示」このコメントを見つけるのにしばらく時間がかかったので追加しました。
Jason Allshorn、

1

/Users/username/Library/Android/sdk/build-toolsディレクトリでバージョン番号を見つけ、buildToolsVersionGradle構成に対応するバージョン番号を変更します


1

ビルドツールバージョン24.0.1を使用している場合は、build.gradleに合わせて更新してくださいbuildToolsVersion "24.0.0"

に設定しAndroid/Sdk/build-tools/24.0.1/source.propertiesていPkg.Revision24.0.0


0

反応ネイティブのドキュメントに従ってコマンドラインでビルドしようとしてこの問題がありました。Android Studioでプロジェクトを開いてこの問題を解決しました。一致しない依存関係は、アプリの下部にあるビルド失敗スナックバーに表示されます。失敗ごとに、リンクをクリックして問題を解決します。


0

反応ネイティブプロジェクトから一部のパッケージをアンインストールしても、ページ下部にあるビルドグラドルの依存関係にパッケージが残っている場合にも発生することがわかりました。

{ project(':react-native-sound-player') } プロジェクトを削除した後、MainApplication.javaファイル内の関連するコードを必ず削除してください( ':react-native-sound-player')

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