React Native android derlemesi başarısız oldu. SDK konumu bulunamadı


473

Android'i çalıştırmaya başladığımda hata var

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.

Yanıtlar:


843
  • android/Reat-native projenizin dizinine gidin
  • local.propertiesBu satırla adlandırılan bir dosya oluşturun :
sdk.dir = /Users/USERNAME/Library/Android/sdk

USERNAMEMacOS kullanıcı adınız nerede


* Ne yanlış gitti: ': app' projesi yapılandırılırken bir sorun oluştu. > '/ Usr / local / android-sdk' SDK dizini mevcut değil. Ama aslında benim sdk bu yolda var
Pyae Sone Nyein

3
Bu sorunu çözdünüz mü? Ben de şu an bununla karşı karşıyayım.
Gasper Kolenc

8
Bunu Android Studio'dan çalıştırarak çözebildim. Bunu yaptıktan sonra komut satırından çalışır.
Gant Laborde

Evet bu local.properties oluşturmak benim sorunumu çözdü. Garip ama işe yarıyor.
Sanj

113
Pencerelerinizde isesdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
Razze

422
  1. React-native Projenize gidin -> Android
  2. Dosya oluştur local.properties
  3. Dosyayı aç
  4. Android SDK yolunuzu aşağıdaki gibi yapıştırın

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

değiştirmek USERNAMEKullanıcı adınızla

Şimdi, react-native run-androidterminalinizde çalıştırın .


4
SDK'mı harici sürücüme taşıdım. MacOS Sierra kullanarak çalışır.
ruelluna

4
in linuxsdk.dir=/home/USERNAME/Android/Sdk
ebin

sdk.dir = / home / USERNAME / Android / Sdk -> linux için çalışıyor, ancak Linux için Android Studio'nun mevcut ve çalışıyor olması gerekiyor (gradle çalışıyor)
MarcoZen

Hata gösteriliyor * Neler yanlış gitti: ': app' projesini yapılandırırken bir sorun oluştu. > '/ Users / chandni sharma / Library / Android / sdk' SDK dizini mevcut değil.
Chandni

2
@Chandni Android SDK'nın yüklü olduğundan emin olun
a_rahmanshah

116

ANDROID_PATH eklemeyi deneyebilirsiniz

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

10
ANDROID_PATHOrtamda zaten var (Ubuntu, .bashrc dosyası). Ancak, bazı nedenlerden dolayı hala sorunu alıyorum. local.propertiesDiğer cevaplarda belirtildiği gibi yolu yaratıp koyarak düzelttim .
Hesam

3
Bir mac var ve env var ANDROID_HOME yardımcı olmadı. local.propertiesAncak yaptı.
Henrik

60

~/.bash_profileve ekle:

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

resim açıklamasını buraya girin


10
İşler. Terminal'i yeniden başlatmayı veya source ~/.bash_profileyeni dışa aktarma hatlarının etkili olması için yazın.
Raptor

Vücudun herhangi bir sonra bulmak mümkün değildir ilk zamanlayıcılar gelince bir tane oluşturun bash_profile bulmak mümkün değilse ekleyebilir misiniz (Ben de öyle: p)
Snehal agrawal

44

DO DEĞİL GÜNCELLEME local.properties , kesinlikle kötü bir uygulamadır.

Ben böyle düzelttim. Aşağıdakileri ~/.bash_profileveya içine ekleyin ~/.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

Not: Kullandığım brew caskyüklemek için Android SDK aşağıdaki bu talimatlarda .


6
Bu en iyi cevap, local.properties değiştirmeye gerek yok. Benim için mükemmel çalışıyor
mike_dz

neden bu kötü uygulama? yerel bir değişiklik yapmak gibi görünüyor aslında sistem
yolunuzda

8
Çünkü bu kod kaynak kontrolünde kontrol edilecekse, kodla birlikte oluşturmaya çalışan bir sonraki kişi bu sayfaya bakacaktır.
Dave Welling

31

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


1
Global sistem dosyalarını değiştirmediğiniz için bu en güvenli yoldur. Ve makinelerine bu tür yönetici erişimi olmayanlar için.
GravyPlaya

23

Windows üzerinde iseniz android/local.propertiesdosyadaki ters eğik çizgileri ve iki nokta üst üste işareti (boşluk ekleyin) . Orada değilse o zaman oluşturun

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

2
Windows için, Android SDK C: \ Program Files \ Android \ android-sdk altındadır
Stephane

16

React Native0.58'in MAC / Unix'te başlaması için güncellenen adımlar

  • Terminalde bash_profile dosyasını açın

nano ~ / .bash_profile

dışa aktar ANDROID_HOME = $ HOME / Kütüphane / Android / sdk

dışa aktarma PATH = $ PATH: $ ANDROID_HOME / öykünücü

dışa aktarma PATH = $ PATH: $ ANDROID_HOME / araçlar

dışa aktarma PATH = $ PATH: $ ANDROID_HOME / araçlar / bin

dışa aktarma PATH = $ PATH: $ ANDROID_HOME / platform araçları

Control+S to save
Control+X to exit
Y to save changes
  • Terminaldeki değişiklikleri güncelleme

source ~/.bash_profile

  • Yolu Doğrula:

echo $PATH

  • Tamamsa onaylayın:

adb devices


Hayatımı
kurtardım

Bazen terminalinizi kapatıp tekrar açmanız gerekir
Oluwatobi Samuel Omisakin

14

Windows Kullanıcıları için

Basit bir çözüm SDK yolunu Çevre Değişkenleri listesine ayarlamaktır.

  1. Çevresel değişkenlere yönelin. (Bilgisayarınız> Özellikler)
  2. oluştur Yeni Sistem değişkenleri
  3. Değişken adını şu şekilde ayarlayın: ANDROID_HOME
  4. Değişken değerini ayarlama Android SDK Location
  5. OK tuşuna basın (3 iletişim kutusu için 3 kez)

Not:

Android Sdk'niz genellikle

C: \ Kullanıcılar \ kullaniciadiniz \ AppData \ Local \ Android \ SDK

Terminaliniz önceden var olan tüm Ortam Değişkenlerini elinde tuttuğu için mevcut terminalinizi kapattığınızdan emin olun .


İşte bu. Local.properties dosyasını düzenlemenize gerek yok, teşekkür ederim.
Rhadamez Gindri Hercilio

1
Bir cazibe gibi çalışır 😊. Çok teşekkürler!
kapil pandey

Makinenizi yeniden başlatmayı unutmayın
mtoninelli

1
i "mevcut terminal kapatın" özledim omg ve ben neredeyse vazgeçmek çalıştı ve tekrar hahaha teşekkürler okuyun! bu işe yaradı!
Michimcchicken

11

Linux Dağıtımlarında SDK Yolu Hatalarını Düzeltme


Projeniz, sağlanan yoldan Proje Ayarlarında ayarlanmış SDK'yı bulamıyor, bu nedenle projenin doğru yönü göstermesi gerekiyor ve bunu gerçekleştirmek için birkaç seçeneğiniz var, ancak önce doğru SDK klasörünü bularak başlayalım.


SDK'nızı bulma


Paket Yöneticisinden


Debian tabanlı bir dağıtımda özel bir PPA aracılığıyla Java 8 JRE gibi paket tabanlı bir JRE yüklemesi kullanıyorsanız veya OpenJDK kullanıyorsanız , dizin büyük olasılıkla / usr / lib / jvm / java-8-oracle (veya hangi sürümü seçerseniz seçin). Bu yolu JAVA_HOME ortam değişkeninde bulabilirsiniz:

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

Manuel indirme


Java JRE / SDK indirmesi yoluyla yüklediyseniz , klasörü / home / username /jdk-8u121_1.8.0 (veya benzeri bir şey) yerleştirdiğiniz her yerde olacaktır .

Komut dosyası yüklemeleri, SDK'yı / opt / java-8-oracle dizinine bile ekleyebilir , ancak bu yazıdan sonra Java Yükleme yönergeleri klasör yerleşimini elinizde bırakır.


Android Studio 2.2


Son olarak Android Studio kullanıyorsanız, SDK, Studio'nun SDK Yöneticisi aracılığıyla indirilen SDK dosyalarını yerleştirmek için ayarladığınız yere yerleştirilir. Giderek, Dosya> Ayarları> Görünüm ve Davranış> Sistem Ayarları> Android SDK , sen değişikliğe seçeneğiyle üstündeki SDK konum ayarını ve varlık klasör varsayılan bulabilirsiniz ~ / Android / SDK .

Android Studio SDK Yolu

SDK Yolunu Ayarlama

Artık SDK'nın nerede olduğunu bildiğimize göre, yerel tepkiyi vermenin zamanı geldi.


Seçenek 1: local.properties ile ayarlayın


Bu yöntem çok basittir ve gereken tek şey aşağıdaki klasörde local.properties dosyasını oluşturmaktır; burada Project_Folder , React-Native uygulamanızın temelini oluşturur:

Project_Folder / Android / Uygulama

Local.properties dosyasında, sdk.dir değişkenini SDK klasörünüzün yoluna ayarlamak istiyorsunuz:

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

Bu, sorunu çözmenin en kolay yolu olsa da, özellikle birden fazla projeyle çalışıyorsanız, en iyisi değildir. Her proje için, her proje için bu dosyayı oluşturmanız gerekir ve klasör değişirse, her projenin local.properties için bu dosyayı değiştirmeyi planlıyorsanız.

Dosya kaydedildikten sonra, reaktif -yerel run-android komutunu yeniden çalıştırın .


2. Seçenek: Ortam Değişkenlerine Sahip Ayarlar Klasörleri


Diğer seçenek, SDK klasörlerini React-Native'ın varsayılan olarak aradığı yerel ortam değişkenlerine ayarlamaktır. Bunu yapmak için, ANDROID_HOME yolunu ekleyeceğiz. Bonus olarak android araçlarımızı da aynı yere ekleyebiliriz. Bunu, en son yüklenen ana dizinimizdeki .bash_profile veya .profile dosyalarına eklememiz gerekiyor, böylece yaptığımız ayarları geçersiz kılan başka bir şey olmadığından emin olabiliriz. Bunlar ana dizininizde bulunduğundan, artan ayrıcalıklarla düzenlemeye gerek yoktur.

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

Dosyaya, SDK klasörünü yukarıda bulduğunuz klasörle değiştirerek aşağıdaki satırları ekleyin. Örnek olarak Android Studio klasörünü kullanacağım:

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

Dosyayı kaydedin ve profil ayarlarını uygulayın:

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

Sdk klasörü düzgün görünüyorsa, tebrikler! Tepki-yerel komutunuzu yeniden çalıştırın ve uygulama oluşturma işleminin devam etmesini izleyin.


Hala sorun yaşıyorsan


Herhangi bir nedenle " > hash string 'android-23' ile hedefinizi bulamadıysanız: / sdk / klasörünüzde , projenin derleme sürümünün ve kurulu SDK sürümünün eşleştiğinden emin olun (React -Native varsayılan olarak 23.0.1'dir.) Varsayılan sürümü Project_Folder / android / app / build.gradle içinde bulabilir ve daha sonra buildToolsVersion için arama yapabilirsiniz. Elbette sürümü bu dosyadan değiştirebilir veya Android Studio'da Dosya'ya gidebilirsiniz. > Proje Yapısı değiştirmek için Proje SDK aksi takdirde, kesinlikle ne yaptığınızı bilmedikçe bu sürümü değiştirilmesini önermek olmaz. Proje aradığı SDK sürümünü yükleyin.


7

Doğru tam yolu yazmalısınız. '~ / Library / Android / sdk' kullanmayın

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 ayrı SDK almak zorunda Ubuntu, On Strange yolu Doğalöğesini tepki Android Studio ile çalışmak fakat edecek, bir dosya adı oluşturmak gerekirlocal.properties .

Örneğin inn ~/AwesomeProject/androidve bu satırı ekleyin:
sdk.dir=/path/to/sdk/in/your/computer


4

local.propertiesDosyanıza göz atın :

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

biçim uygunsa veya değilse


4

Ubuntu kullanıyorsanız, reat-native projenizin android dizinine gidin ve adlı bir dosya oluşturun local.propertiesve android sdk yolunu aşağıdaki gibi ekleyin:

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

4

Sil local.propertiesgelen android senin projeyi tepki ve denemek klasör.

Bunu yaptım ve başardım.


3

Sisteminizin diğer android projesi local.properties kopyalayın ve çalışacak React-yerli projenin android klasörüne yapıştırın.


Kurnaz ve kurşun geçirmez bir çözüm için Kudos;)
Hack06

3

Bu benim için çalıştı.

Stephen Grider'ın Udemy'ye Tepkisini alıyorum ve öğrencilerden biri bunu Ders 50'de yayınladı. Komut satırına kelimesi kelimesine yapıştırılmış (elbette '$' olmadan).

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

Yapma bunu. hataya neden olur> The SDK directory '/usr/local/opt/android-sdk' does not exist.
thexande

3

Bulabildiğim en iyi çözüm şöyledir:

  1. Seçtiğiniz Android Studio ve SDK'yı indirin (İhtiyacınız olmadığını düşünüyorsanız bile, apk dosyasını ve android kodunda bazı manuel değişiklikleri serbest bırakmak için ihtiyacınız olacağını bana güvenin).
  2. Dosya> Yeni> İçe Aktar, yerel android projenize tepki verdiğiniz yeri gösterin.
  3. Belirli bir SDK'yı indirmenizi isterse, lütfen aynı indirin. Sizden sürüm vb. Güncellemenizi isteyebilir ... Lütfen gerektiğinde güncellemeye devam edin.
  4. Mevcut bir Android SDK'nız varsa ve sürümü biliyorsanız, yapmanız gereken tek şey android projenizin build.gradle altındaki bu sürümle eşleşmektir.

Gradle dosyası şöyle görünecektir:

resim açıklamasını buraya girin

Makine kurulumunuzla her şey yolunda giderse ve Android Studio'yu kullanarak projeyi derleyebiliyorsanız, hiçbir şey reaksiyona özgü cli build android komutu ile uygulamanızı oluşturmanızı durduramaz.

Bu yaklaşımla, sadece SDK sorununu çözmekle kalmayacak, aynı zamanda Android geliştirme için makine kurulumunuzla ilgili birçok sorunu çözeceksiniz. İçe aktarma işlemi otomatik olarak SDK konumunu bulur ve local.properties oluşturur. Bu nedenle manuel müdahaleler konusunda endişelenmenize gerek yoktur.


2

Linux Kullanıcıları için

Uygulamanız android-sdk yolunu almıyor, bu nedenle linux (ubuntu) kullanıyorsanız, "local.properties" adlı bir dosya eklemeniz ve uygulama klasörünüzde oluşturulan android klasörünün içine kaydetmeniz gerekir. .

Uygulamayı çalıştırmak için android-sdk'nizin sistem içinde sisteminizde yer aldığı local.properties dosyasının içine aşağıdaki satırı eklemeniz gerekir.

sdk.dir=/opt/android-sdk/

save ve nativet -native run-android komutunu yeniden çalıştır

VEYA

terminali açabilirsiniz, yazın

sudo nano ~ / .bashrc

ve aşağıdaki yolu dosyanın sonuna yapıştırın

dışa aktar ANDROID_HOME = "/ opt / android-sdk /"

ve bilgisayarınızı yeniden başlatın ve sonra tepki yerli-yerel run-android çalıştırın .

Not: - Ayarlanan yolu .bashrc dosyasına koyarsanız, local.properties dosyası oluşturmanız bile gerekmez.


Bu sabit kodlu bir çözüm olmamalı, ancak Android Studio SDK'nın kurulu olduğu yere bağlıdır. Benim durumumda sdk.dir = "pathWhereAndroidSDKisbeeninstalled / Android /
Sdk

2

Oluşturmak ve varsa android studioproje, bir görebilirsiniz local.propertiesdosyası proje kök dizininde oluşturulmasını. Bir yerel reaksiyon projesi oluşturduğunuzda, bu dosyayı sizin için oluşturmaz. Bu yüzden manuel olarak oluşturmanız gerekir. Ve buna skd dir eklemek zorunda. Yani android klasöründe (kökte) yeni bir dosya oluşturun. ve sdk yolunuzu şu şekilde koyun sdk.dir=D\:\\Android\\SDK\\android_sdk_studio . Unutmayın: single \ 'ı double ile kaldırın. Tıpkı yukarıdaki gibi.


2

Bu sorunu çözmenin 2 yolu vardır:

  1. Basit tepki android stüdyoda tepki yerli Android projenizi otomatik olarak tepki yerli Android projesinde local.properties dosyanızı üretecektir .

  2. a. React-native Projesi -> Android
    b. Local.properties dosyası oluşturun
    c. Dosyayı açın
    d. Android SDK yolunuzu aşağıdaki gibi yapıştırın


1

Uygun taklitçinin ve Android sürümünün yüklü olduğundan emin olun. Bu benim için problemi çözdü.


1

Proje Dizininizde "android" adında bir klasör vardır ve içinde local.properties dosyası vardır. Dosyayı silin, derleme başarıyla çalıştırılmalıdır.



0

İki sınıf dosyası vardır, C: \ myapp \ android \ build.gradle içindeki dosyayı değiştirin, myapp üst dizininde değil.

23.0.1'i, benim durumumda yüklü olan Android Derleme Aracı sürümünüzle değiştirin 25.0.0

Çalışma tepki Yerli çalışma android emülatör uygulamanızı görmek için.


0

Android Studio tarafından projede klasör android açın . Android studio gerekli dosyayı oluşturmak (local.properties) ve çalıştırmak android için SDK sürümünü indirmek gerekir.


0

Windows'tayım ve PATH env'sine bakılmaksızın sdk yolunu değiştirmek zorunda kaldım. değişken

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

Bu dosya değiştirildi:

MyProject\android\local.properties

0

Sorun, ortam değişkenlerini yanlış yapılandırmış olmanızdır. Aşağıdakilerin SDK'sını kullanmanız gerekir (Windows'ta):C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk

Daha fazla bilgi için: https://facebook.github.io/react-native/docs/getting-started

Seçin: 3. noktadaki Android geliştirme ortamı bölümünde Yerel CLI Hızlı Başlatma'ya tepki verme ANDROID_HOMEOrtam değişkenini yapılandırma

Bunu şu anda sahip olduğunuz gibi yaparsanız, her projeyi ortam değişkenlerinizi kullanacak şekilde yapılandırmanız gerekir ve proje ekipmanlarıyla birkaç kişi arasındaysa bir soruna neden olabilir. Bunu size söylediğim gibi yaparsanız, herhangi bir proje yapılandırmanız gerekmez.


0

Android stüdyosu yüklüyse, Project/androidAndroid Studio'yu kullanarak açmanız yeterlidir ve projedeki SDK konum yolunu değiştirmenizi bildirir.


-2

Sisteminizin diğer android projesi local.properties kopyalayın ve çalışacak React-yerli projenin android klasörüne yapıştırın.

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

C \: \\ Kullanıcılar \\ champika \\ AppData \\ Yerel \\ Android \\
Sdk
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.