React Native di Android gagal menemukan Build Tools

92

Apa penyebab masalah berikut ini? Apakah Versi SDK Android saya tidak didukung?

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       
Łukasz Rzeszotarski
sumber
Dari SDK manager v25, Anda sekarang harus menginstal Build Tool yang benar dari Android Studio karena androidperintahnya dihapus: stackoverflow.com/a/44295114/82609
Sebastien Lorber

Jawaban:

136

Mungkin Anda perlu memperbarui Alat Bangun Anda.

Saya menghadapi masalah ketika saya mencoba memperbarui dari antarmuka grafis, itu tidak menunjukkan versi minor yang tepat, jadi saya tidak dapat memperbaruinya.

Ini diselesaikan dengan melihat versi yang tersedia dari terminal dengan:

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

[...]

Dan menginstal versi yang benar dengan:

android update sdk -a -u -t 4
edur
sumber
3
Apa androidprogram ini ? Dimana saya mendapatkannya?
jameshfisher
2
@jameshfisher itu bagian dari Android SDK, terletak di direktori "tools" misalnya: ~ / android-sdk / tools / android
edur
Saya mencoba memperbarui dengan Android Studio beberapa kali, tetapi tidak pernah berhasil. Perintah ini berhasil. Terima kasih.
jordancooperman
Ini ada di android-sdk-linux dalam proyek react sebenarnya.
Ghita Tomoiaga
Catatan dalam versi baru pengelola SDK, androidperintah tersebut tidak berfungsi lagi dan seseorang harus menjalankan Android Studio untuk mengakses pengaturan ini, lihat stackoverflow.com/a/44295114/82609
Sebastien Lorber
73

Sekadar catatan - kesalahan ini mungkin terjadi karena satu-satunya versi alat build yang telah Anda instal terlalu baru .

Saya mendapat kesalahan yang didapat OP (mengeluh bahwa react-native tidak dapat menemukan Build Tools revisi 23.0.1). Ketika saya memeriksa Android SDK Manager saya, saya melihat ini:

tangkapan layar menunjukkan 23.0.2 "Terpasang" tetapi 23.0.1 "Tidak terpasang"

Saya secara naif berpikir bahwa menginstal versi terbaru dari Build-tools (23.0.2 pada saat penulisan) akan berhasil, tetapi ternyata tidak. Selain itu, menginstal 23.0.1 memperbaiki masalah.

Mark Amery
sumber
Masalah yang sama disini. bukankah ada cara untuk menggunakan alat build yang lebih baru? mungkin beberapa konfigurasi.
sodik
Saran ini juga berhasil untuk saya. 23.0.2 terlalu baru, lanjutkan. Terima kasih.
Fernando
1
@boatcoder jawaban ini (instal alat build yang lebih lama) sama benarnya dengan sodik (ubah build.gradleagar React Native menggunakan alat build yang lebih baru). Android Build Tools tampaknya mengikuti SemVer, jadi memodifikasi build.gradleuntuk menggunakan tambalan yang lebih baru atau versi minor biasanya aman, dapat menyediakan beberapa perbaikan bug tingkat platform atau peningkatan kinerja, dan menghemat waktu Anda harus mengunduh apa pun. Tapi itu akan merusak aplikasi Anda jika dilakukan pada rilis versi mayor , dan menimbulkan beberapa risiko bahkan dengan rilis patch / minor karena Anda menggunakan RN dengan alat build yang tidak diinginkan Facebook.
Mark Amery
28

Saya juga memiliki masalah dengan versi SDK Build tools yang lebih baru (sama seperti Mark) tetapi saya berhasil menyelesaikannya dengan modifikasi android/app/build.gradledan pengaturan versi yang tepat, mis.

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

UPDATE: Seperti yang disarankan Mark, sebaiknya perbarui versi minor (atau patch) dengan cara ini. Alasan lain mengapa tidak memperbarui versi ini adalah ketika Anda memiliki banyak lib pihak ketiga dengan bagian asli - Anda mungkin akhirnya memperbarui semuanya. Jadi Anda harus mempertimbangkan kemungkinan manfaat dari versi yang lebih baru vs sedikit lebih banyak pekerjaan.

sodik
sumber
1
jangan lupa untuk perubahan garis 85 targetSdkVersion 22untuk targetSdkVersion 23juga.
Xianlin
Saya menemukan bahwa file build.gradle yang dihasilkan memiliki buildToolsVersion "23.0.1" tetapi saya hanya menginstal versi 23 (23.0.0) - Tidak yakin dari mana "react-native init" menemukan nomor versi Android / tools SDK. Jadi penyebab sebenarnya perintah react-native init tidak menggunakan nomor versi alat yang tersedia?
ferdil
Saya yakin 23.0.1 sudah diperbaiki (mungkin bisa berubah dengan versi RN) tetapi tidak ada deteksi afaik.
sodik
Terima kasih, ini menyelesaikan masalah saya, Berubah dari 23 menjadi 25 dan 23.0.1 menjadi 25.0.0
niren
4

Perlu memodifikasi 4 file

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"
gfax
sumber
3

Saya harus mengubah proyek Android saya build.gradlemenjadi:

compileSdkVersion 23
buildToolsVersion "23.0.3"

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

Artinya, Android Build Tools yang diinstal di sistem Anda adalah sesuatu yang lain selain di file konfigurasi aplikasi Anda (file konfigurasi Anda mengarah ke 23.0.1) tetapi Anda mungkin memiliki 23, 24, atau 25.0. * Di sistem Anda.

Solusi untuk memperbaiki masalah ini:

  1. Edit build.gradlefile yang terletak di bawahanroid/app di folder proyek Anda
  2. Cari entri buildToolsVersion"23.0.1", dan ganti dengan versi terbaru yang Anda miliki di sistem Anda. Anda dapat menemukannya di sini:C:\Program Files (x86)\Android\android-sdk\build-tools

ATAU Anda dapat mencoba menginstal di sistem Anda versi yang Anda miliki di build.gradlefile (dengan SDK manager).

llioor
sumber
1

Dari Android SDK manager v25 Anda harus menginstal alat build yang benar langsung dari Android Studio karena androidperintah tidak berfungsi lagi:

instal dari studio android

Sebastien Lorber
sumber
Untuk sampai ke layar ini dari dalam Andriod Studio. file -> pengaturan -> Android SDK -> SDK Tools -> kanan bawah "Show Package Details" Saya menambahkan komentar ini karena saya memerlukan beberapa saat untuk menemukannya.
Jason Allshorn
1

Temukan nomor versi di /Users/username/Library/Android/sdk/build-toolsdirektori, lalu ubah nomor versi yang buildToolsVersionsesuai dengan konfigurasi Gradle

pengguna5710491
sumber
1

Jika Anda memiliki Build Tools versi 24.0.1, perbarui build.gradleagar sesuaibuildToolsVersion "24.0.0"

Saya Android/Sdk/build-tools/24.0.1/source.propertiestelah Pkg.Revisionmengatur 24.0.0.

Muqsith
sumber
0

Saya mengalami masalah ini mencoba membangun di baris perintah mengikuti dokumentasi react native. Saya menyelesaikan masalah ini dengan membuka proyek di studio android. Dependensi yang tidak cocok akan muncul di snackbar kegagalan build di bagian bawah Aplikasi. Untuk setiap kegagalan, klik tautan untuk menyelesaikan masalah.

Bradford Condon
sumber
0

Saya menemukan bahwa itu juga terjadi jika Anda menghapus beberapa paket dari proyek react-native Anda dan masih ada paket dalam dependensi gradle build Anda di bagian bawah halaman seperti:

{ project(':react-native-sound-player') } Pastikan untuk menghapus kode terkait di file MainApplication.java setelah menghapus proyek (': react-native-sound-player')

Kêvâl Dholakiya
sumber