Android'de React Native, Derleme Araçlarını bulamadı


92

Aşağıdaki soruna ne sebep olur? Android SDK Sürümüm desteklenmiyor mu?

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 yöneticisinin v25 sürümünden, androidkomut kaldırıldığı için artık Android Studio'dan doğru Derleme Aracını yüklemeniz gerekiyor : stackoverflow.com/a/44295114/82609
Sebastien Lorber,

Yanıtlar:


136

Muhtemelen Derleme Araçlarınızı güncellemeniz gerekiyor.

Grafik arayüzünden güncelleme yapmaya çalıştığımda sorunla karşılaştım, tam küçük sürümü göstermedi, bu yüzden güncelleme yapamadım.

Terminalden mevcut versiyonlara bakılarak çözüldü:

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

[...]

Ve doğru sürümü şununla kurmak:

android update sdk -a -u -t 4

3
Bu androidprogram nedir? Nereden bulabilirim?
jameshfisher

2
@jameshfisher, Android SDK'nın bir parçasıdır, örneğin "araçlar" dizininde bulunur: ~ / android-sdk / tools / android
edur

Android Studio ile birkaç kez güncellemeyi denedim, ancak hiç işe yaramadı. Bu komut yine de yaptı. Teşekkür ederim.
jordancooperman

Aslında reaksiyon projesinde android-sdk-linux içinde.
Ghita Tomoiaga

SDK yöneticisinin yeni sürümlerinde androidkomutun artık çalışmadığını ve bu ayara erişmek için Android Studio'nun çalıştırılması gerektiğini unutmayın, bkz. Stackoverflow.com/a/44295114/82609
Sebastien Lorber

73

Sadece bir not - bu hatayı almanız mümkündür çünkü kurduğunuz derleme araçlarının tek sürümü çok yeni .

Tam olarak OP'nin aldığı hatayı aldım (react-native'in Yapı Araçları revizyonu 23.0.1'i bulamadığından şikayet ederek). Android SDK Yöneticimi kontrol ettiğimde şunu gördüm:

23.0.2 "Yüklendi" ancak 23.0.1 "Yüklenmedi" gösteren ekran görüntüsü

Yapı araçlarının en son sürümünü (yazarken 23.0.2) kurmanın işe yarayacağını düşünmüştüm ama görünüşe göre işe yaramıyor. Ek olarak 23.0.1'in yüklenmesi sorunu çözdü.


burada da aynı problem. yeni derleme araçlarını kullanmanın bir yolu yok mu? belki bazı konfigürasyon.
sodik

Bu öneri benim için de işe yaradı. 23.0.2 çok yeniydi, gidelim. Teşekkürler.
Fernando

1
@boatcoder bu cevap (eski yapı araçlarını yükleyin) sodik'inkinden daha az doğru değildir ( build.gradleReact Native'in daha yeni derleme araçlarını kullanmasını sağlamak için değiştirin ). Android Derleme Araçları SemVer'i takip ediyor gibi görünüyor, bu nedenle build.gradledaha sonraki bir yamayı veya küçük sürümü kullanmak için değişiklik yapmak genellikle güvenli olmalı, platform düzeyinde bazı hata düzeltmeleri veya performans iyileştirmeleri sağlayabilir ve herhangi bir şey indirmek zorunda kalmanızı önleyebilir . Ancak , ana sürüm sürümünde yapılırsa uygulamanızı bozar ve Facebook'un amaçlamadığı derleme araçlarıyla RN'yi kullandığınız için yama / küçük sürümlerde bile bazı riskler ortaya çıkarır.
Mark Amery

28

Ayrıca SDK Derleme araçlarının daha yeni sürümüyle ilgili sorun yaşadım (Mark ile aynı), ancak bunu android/app/build.gradleuygun sürümü değiştirerek ve ayarlayarak çözmeyi başardım , örn.

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

GÜNCELLEME: Mark'ın önerdiği gibi, yalnızca küçük (veya yama) sürümü bu şekilde güncellemek akıllıca olacaktır. Diğer nedeni değil sen yerli kısmı ile 3. parti kütüphanelerini bol zaman bu sürümü güncellemek için - hepsini güncellenmesi sonunda olabilir. Bu nedenle, biraz daha fazla iş yerine yeni sürümün olası faydalarını değerlendirmelisiniz.


1
85. satırı targetSdkVersion 22da targetSdkVersion 23olarak değiştirmeyi unutmayın .
Xianlin

Oluşturulan build.gradle dosyasında buildToolsVersion "23.0.1" olduğunu buldum, ancak yalnızca sürüm 23 (23.0.0) yüklüydü - "react-native init" in android / tools SDK sürüm numaralarını nereden bulduğundan emin değilim. Öyleyse neden aslında react-native init komutunun mevcut araçların sürüm numarasını kullanmamasıdır?
ferdil

23.0.1'in düzeltildiğine inanıyorum (belki RN sürümleriyle değişebilir) ancak algılama afaik yok.
sodik

Teşekkürler, bu sorunumu çözdü, 23'ten 25'e ve 23.0.1'den 25.0.0'a değiştirildi
niren

4

4 dosyayı değiştirmeniz gerekiyor

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 projemi şu build.gradleşekilde değiştirmek zorunda kaldım :

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

Bu, sisteminizde yüklü olan Android Derleme Araçlarının, uygulamanızın yapılandırma dosyasından başka bir şey olduğu anlamına gelir (yapılandırma dosyanız 23.0.1'e işaret ediyor), ancak muhtemelen sisteminizde 23, 24 veya 25.0. * Var.

Bu sorunu çözmenin çözümü:

  1. Düzenleme build.gradledosya altında yer alananroid/app proje klasörüne
  2. buildToolsVersion"23.0.1" girişini arayın ve bunu sisteminizdeki en son sürümle değiştirin. Burada bulabilirsiniz:C:\Program Files (x86)\Android\android-sdk\build-tools

VEYAbuild.gradle dosyada sahip olduğunuz sürümü sisteminize yüklemeyi deneyebilirsiniz (SDK yöneticisi ile).


1

Android SDK yöneticisi v25'ten doğru derleme araçlarını doğrudan Android Studio'dan yüklemeniz gerekir çünkü androidkomut artık çalışmıyor:

android stüdyosundan yükle


Andriod Studio'nun içinden bu ekrana ulaşmak için. file -> ayarlar -> Android SDK -> SDK Araçları -> sağ altta "Paket Ayrıntılarını Göster" Bu yorumu, bulmam biraz zaman aldığı için ekledim.
Jason Allshorn

1

Dizinde sürüm numarasını bulun /Users/username/Library/Android/sdk/build-toolsve ardından buildToolsVersionGradle yapılandırmasına karşılık gelen sürüm numarasını değiştirin


1

Derleme Araçları sürüm 24.0.1'e sahipseniz, build.gradleeşleşecek şekilde güncelleyinbuildToolsVersion "24.0.0"

Benim Android/Sdk/build-tools/24.0.1/source.propertiesetmişti Pkg.Revisionayarlı 24.0.0.


0

Yerlinin belgelerine tepki verdikten sonra komut satırında oluşturmaya çalışırken bu sorunu yaşadım. Projeyi android stüdyosunda açarak bu sorunu çözdüm. Uyumsuz bağımlılıklar, Uygulamanın alt kısmındaki derleme hatası ara çubuğunda görünecektir. Her başarısızlık için, sorunu çözmek için bağlantıya tıklayın.


0

React-native projenizden bazı paketleri kaldırdıysanız ve sayfanın altındaki derleme gradle bağımlılıklarınızda hala paketler varsa da bunun olduğunu öğrendim:

{ project(':react-native-sound-player') } Projeyi kaldırdıktan sonra MainApplication.java dosyasındaki ilişkili kodu kaldırdığınızdan emin olun (': react-native-sound-player')

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.