SDK konumu bulunamadı. Local.properties dosyasındaki sdk.dir veya ANDROID_HOME ortam değişkeniyle konumu tanımlayın


271

Kısa süre önce Google'ın geliştirici web sitesinden indirdiğim örnek Android oyunlarını içe aktarmaya çalıştım. Onları Android Studio'ya aktardıktan sonra aşağıdaki hatayı alıyorum:

Hata: SDK konumu bulunamadı. sdk.dirLocal.properties dosyasında veya bir ANDROID_HOMEortam değişkeniyle konumu tanımlayın .

Bu nedir? Android Studio'dan örnek programları çalıştırmak istiyorum.



Yanıtlar:


246

Lütfen benim için işe yarayan aşağıdaki adımları izleyin:

  • Reat-native Projenize gidin, ardından android dizinine gidin Aşağıdaki ada sahip bir dosya oluşturun:

local.properties

  • Dosyayı açın ve Android SDK yolunuzu aşağıdaki gibi yapıştırın:

Windows kullanıcıları için:

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

UserName yerine pc kullanıcı adınızı yazın. Ayrıca klasörün sdk veya Sdk olduğundan emin olun. Benim durumumda bilgisayar kullanıcı adı Zahid yani yol şöyle görünüyor:

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

Mac kullanıcıları için:

sdk.dir = /Users/USERNAME/Library/Android/sdk

USERNAME, OSX kullanıcı adınızdır .

Linux (Ubuntu) kullanıcıları için:

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

KULLANICI ADI Eğer linux kullanıcı adı olduğunda (Linux yolları harfe duyarlıdır: örneği emin olun Siçinde Sdkeşleşmeleri)

Bu işe yaramazsa, "Ortam Değişkenleri" ne ANDROID_HOME değişkeni C:\Users\USER\AppData\Local\Android\Sdk

resim açıklamasını buraya girin


açık cv ile çalışıyorum ne NDK eklemek için ne yapmalıyım?
Masum

Yardımcı oldu. Aslında bu çözüm, hata ifadesinin kendisinde ima edilmektedir. Mac'te IntelliJ kullanıyorum ve proje yapısında SDK doğru yolum var. Neden hala local.properties'de buna ihtiyacım var?
Alexei Martianov

245

Projede bir settings.gradledosya eksik olabilir . Dosyanın içe aktardığınız projede bulunduğundan emin olun. Değilse settings.gradle, aşağıdakileri içeren dosyayı ekleyin :

include ':app'

Dosyayı kaydedin ve projenizdeki en üst düzey klasöre yerleştirin.


16
Projemin eksik olup olmadığını nasıl anlarım settings.gradle? Bu dosya genellikle nerede saklanır? Nereye yazarım include ':app'? Tam olarak ne yapar include ':app'/ üretir? Cevabınıza daha fazla ayrıntı ekleyebilir misiniz?
Tot Zam

1
@TotZam projenizin kökünde saklanıyor
Joseph

2
Buldum. Teşekkürler. İleride başvurmak için nerede koşardım include ':app'? Android için oldukça yeniyim ve yolumu bulmaya çalışıyorum.
Tot Zam

2
include :appAndroid Studio kullanıyorsanız, Android Studio'nun proje modülünüzü eklemesine izin veren çalıştırmazsınız , böylece daha fazla yapılandırma yapmadan çalıştırabilirsiniz. Çizgiyi ekledikten sonra, sınıfın paketleri oluşturup indirmeyi bitirdikten sonra düğmenin etkinleştiğini settings.gradlegöreceksinizPlay
Joseph

1
Farklıysa proje klasörü adınızı 'uygulama' yerine girin. İşe yarıyor.
Priyank Patel

158

Bu cevabın geç olduğunu biliyorum, ama umarım başkalarına yardımcı olur.

Cevap basit. local.propertiesDosyanızı sadece projenin depolandığı klasöre kopyalamanız gerekir ve çekicilik gibi çalışacaktır. Ancak unutmayın, projenin saklandığı kök klasöre yerleştirilmelidir.


3
Ama her seferinde kopyalamak zorunda mıyım? Bu doğru yaklaşımdan daha hack gibi görünüyor
pblead26

Projede hiçbir şeyi değiştirmek zorunda olmadığınızdan bu sorunun en kolay çözümü budur. Kod değişikliği yapmanız gereken başka bir çözüm de var, ancak bence böyle bir sorun için çok fazla zaman harcayamazsınız.
Harsh Mittal

ExoPlayer 2.1'i indirdikten sonra bu sorunu yaşadığımda bu benim için çalıştı.
user1147171

2
Çalışıyor, ancak Intelij bunu otomatik olarak oluşturmamalı mı? tks!
cesarsicas

4
Bu benim için işe yaramıyor. Dosya var, ama yine de hata var
rommex

42

Bu sorun, bir Android Studio projesini ../app/build.gradle dosyasından almaya çalıştığınızda oluşur .

Projenizin kök dizininde bulunan ../build.gradle dosyasını seçerek projeyi içe aktarın .


39

Lütfen benim için işe yarayan aşağıdaki noktaları takip edin:

  1. Adresine git Project -> Android
  2. Dosya oluştur local.properties
  3. Dosyayı aç
  4. İşletim sistemine bağlı olarak Android SDK yolunuzu yapıştırın:

    4. bir Windows

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

    4.b Linux veya MacOS

    sdk.dir = /home/USERNAME/Android/sdk

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


Yorum yapmak için çok geç, ama bunu MacOS'ta nasıl yapacağımı bilmek istiyorum?
Nauman Moazzam

MacOS'ta Android SDK dosya yolunuzu bulmanız ve local.properties dosyasını yapıştırmanız için aynı prosedürü yapmanız gerekir ... işte bu
Shuvo

37

Local.properties dosyanıza göz atın

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

bu biçimi düzgün bir şekilde yazın ve ayrıca / slas yolunu kullanarak kontrol edin


Bu sdk.dir = C: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, bu herhangi bir hata ile
local.properties düzenledim

evet C koyduktan sonra \ ... Bu umut ile Svae yapılır. sdk.dir = C \: \\ Kullanıcılar \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra

Tutulma ile güzel çalışıyor. Sadece indirilen proje içinde local.properties dosyasını oluşturun ve sdk.dir dosyasını yapıştırın. Benim durumum şuydu: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papatheodorou

eğer karşı karşıya kimse lisans sözleşmelerini kabul
etmediyseniz

Windows 10 m / c üzerinde android yükledim ama böyle bir klasör yok sdk.dir = C \: \\ Kullanıcılar \\ USERNAME \\ AppData \\ Local \\ Android?
Rohan Gala

27

"Uygulamayı Çalıştır" ı (yeşil ok) tıkladığınızda ve Yapılandırmayı Düzenle iletişim kutusunda aşağıdakileri aldığınızda bu soruna geçici bir çözüm bulabilirsiniz :

Hata: Lütfen Android SDK'sını seçin

Android Studio'da şunları yapın:

  1. Menüden şunu seçin: File > Settings .
  2. Ayarlar iletişim kutusunda şu adrese gidin: Appearance & Behavior > System Settings > Android SDK .
  3. Android SDK Konumu için en üste bakın ve Editdüğmesini tıklayın
  4. Varsayılanları kabul etmek için İleri, İleri, Son'a basın

Bu, SDK konumunu - hiçbir şey değişmese bile - bazı dahili konumlara kurtaracak gibi görünüyor. .ideaVe .gradleklasörlerini inceledim ancak Studio'nun bir yapılandırma dosyasını değiştirmek için ne yaptığını görmedim - ancak şimdi uygulamayı çalıştırabilirim.

Ve önceki düzeltmeleri özetlemek gerekirse - bunlar normalde derleme sorunu olmayan bir repo için uygundur:

  • local.properties dosyası Studio tarafından kök klasöre kopyalanır.

  • Local.properties içindeki yol dosyasındaki yol android SDK için doğru yola sahiptir - benim durumumda sdk.dir=C:\\android\\sdk (bu yolun farklı bir biçimi olduğunu unutmayın) Studio, Android SDK Ayarları'ndaki Metin Girişi alanına dayalı olarak bu dosyayı sizin iletişim)

  • settings.gradle dosyası depoda bulunur ve uygulama klasörüne başvurur (genellikle: uygulama)


3
Bana yardımcı olan tek şey bu. Adım 3 ve # 4 çok önemlidir
soshial

16

Yerel bir projeyi çektiğinizde bu sorunla karşılaşırsanız, android projesini Android Studio ile açmanız yeterlidir. İhtiyacınız olan her şey otomatik olarak oluşturulacaktır.

  • Android Studio'yu aç
  • Dosya -> Aç
  • Seç androidReat-native proje klasörünüzün altındaki klasörü
  • AndroidStudio'nun kurulumu tamamlamasını bekleyin
  • Artık Android Studio'yu kapatabilirsiniz

VEYA

AndroidStudio komut satırı başlatıcısını yüklediyseniz :

  • Bunu yerel yanıt kök klasöründe çalıştırın
studio android/
  • AndroidStudio'nun kurulumu tamamlamasını bekleyin
  • Artık Android Studio'yu kapatabilirsiniz

1
Benim için çalışıyor
Vikram Rajput

12

Linux'ta:

Android SDK'yı zaten indirdiyseniz ancak bulunamıyorsa.

Sorun, adb oluştururken ve çalıştırırken dosyayı bulmak için malzeme ile local.propertiesaynı dizinde olması gerekebilir .gradlegradle

Benim reaksiyon yerel projem gradleiçin local.propertiesdosyayı Myprojectname/android/klasöre koymak gerekiyordu .

Ben sadece bu gibi bir satır ile dosyada bu yolu kullanmak Yüklemeler SDK sıkıştırılmış vardı:

sdk.dir=/home/USER/Downloads/android-sdk-linux

11

Windows'da ANDROID_HOME ortam değişkeni aşağıdaki gibi oluşturarak bu sorunu çözdüm .

ANDROID_HOME=C:\Users\<user_name>\AppData\Local\Android\sdk

Proje oluşturmak gerekir Android Studio yeniden başlatın !


Zaten aynı dirence işaret eden bir ANDROID_SDK'm vardı, bu yüzden benim içinANDROID_HOME=$ANDROID_SDK
Martijn

10

Aynı sorunla karşılaştım ama biraz farklı hata mesajı

SDK konumu bulunamadı. ANDROID_SDK_ROOT ortam değişkeniyle veya projenizin yerel özellikler dosyasında "xxx" deki sdk.dir yolunu ayarlayarak konumu tanımlayın

MAC ve ReactNative

Ekle local.properties

  1. Android SDK konumunuzu bulun

    /Users/yourMacUserName/Library/Android/sdk
  2. local.propertiesAltında oluşturun rootProject/android/local.properties.

  3. İçine sdk yolu ekle

    sdk.dir = /Users/yourMacUserName/Library/Android/sdk

Bu normalde işe yarar, ancak diğer ekip üyeleriyle bir ekipte çalışıyorsanız, o yourMacUserNamezaman farklıdır.

VEYA

ANDROID_SDK_ROOTDeğişkeni ayarla

  1. Düzenleyin ~/.zshrcveya ~/.bashrcveya ...
  2. SDK yolu ekle:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Yeni bir terminal sekmesi açın veya source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT doğru SDK yolunu test etmek için.

Alternatif olarak, bazı yararlı komutları kullanmak için yolunuzu da ekleyebilirsiniz .export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools


9

Google android örnek kodunu çalıştırmaya çalışıyorsanız, tek bir örnek yerine tüm deposu içe aktarmayı deneyin .

Google Takvim API'sı örnek kodunda yer alan, talimatlar.html'deki ilgili bölüm aşağıda verilmiştir

  • Takvimi içe aktar-android-örnek projesi
    • "Projeyi İçe Aktar ..." veya Dosya> Projeyi İçe Aktar ... seçeneğini seçin.
    • [SomeDirectory] /google-api-java-client-samples/build.gradle öğesini seçin ve Tamam'ı tıklayın.
      • Not: [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle dosyasını içe aktarmaya çalışırsanız çalışmaz
    • [SomeDirectory] /gradle-2.2.1 içindeki "Gradle home" ile "Yerel sınıflandırma dağıtımını kullan" ı seçin ve Tamam'a tıklayın.

6

Bu hatanın tek bir nedeni yoktur.

  1. settings.gradle eksik olabilir veya içindeki içerik yanlış olabilir.
  2. local.properties eksik olabilir veya sdk yolu yanlış yazılmış olabilir.

1
settings.gradle dosyasında ne tür içerik olmalı?
cabanni

@cabanni settings.gradle sadece modülü uygulamanıza dahil eder. Varsayılan olarak 'uygulama' modülü olacaktır. Umut olur yardımcı olur /
Arhat Baid

5

Sadece .idea klasörünü kaldırın ve projeyi tekrar içe aktarın. Benim için çalıştı.


4

projenizin kök dizininde aşağıdaki içeriğe sahip bir local.properties dosyası oluşturun

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Oct 24 17:40:53 CEST 2017

sdk.dir=/Users/****/Library/Android/sdk

4
  1. React-native Projenize gidin -> Android
  2. Local.properties dosyası oluşturun

  3. Dosyayı aç

  4. Android SDK yolunuzu aşağıdaki gibi yapıştırın

     in Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    
     in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    
     in linux sdk.dir = /home/USERNAME/Android/Sdk
  5. USERNAME adlı kullanıcıyı kullanıcı adınızla değiştirin

  6. Şimdi, terminalinizde reat-native run-android'i çalıştırın

veya

Bazen projede bir settings.gradle dosyası eksik olabilir. Dosyanın içe aktardığınız projede bulunduğundan emin olun. Değilse, settings.gradle dosyasını aşağıdakilerle ekleyin:

    include ':app'

Dosyayı kaydedin ve projenizdeki en üst düzey klasöre yerleştirin.


3

bu iki satırı .bashrc dosyanıza koyun ve çalıştırın source ~/.bashrc

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

Linux için bunu yaptım (ilk satır için)

export ANDROID_HOME=/home/$USER/Android/Sdk

2

En iyi ve en kolay yol, yeni Android proje taşıma "app" klasörü çalışmayan projeden yeni yapılmış olana oluşturmak ve yeni projenizin derecesine gerekli bağımlılıkları eklemek ve her şey mükemmel çalışır)


Bu, mac High Serria ve Windows 10'daki sorunu düzeltti. Harika yanıt ve verimli.
Val

2

Her şey başarısız olursa, local.propertiesdosyayı proje dizininin köküne kopyalayın . Basitçe.



2

Bu çözüm aslında benim için çalışıyor .. bu bilgisayara gidin -> özellikler -> gelişmiş sistem ayarları -> ortam değişkenleri -> sonra sistem değişkeni adı ANDROID_SDK_ROOT ve yeni bir değer C: \ Users {USERNAME ile değiştirin } \ AppData \ Local \ Android \ SDK

ve usb hata ayıklama kullanan gerçek android mobil etkin olduğundan emin olun. (çok önemli)

sonra cmd kapatın ve yeniden başlamalı çalışmalıdır.


2

Benim durumumda, Projeyi kapatıp tekrar açmam gerekiyordu. İyi çalıştı. Bunun gibi

Projeyi Kapat

resim açıklamasını buraya girin

Ve yine Projeyi Tekrar Aç

resim açıklamasını buraya girin


Sdk.dir yolunu ve ~ / .bashrc'ye ekledikten sonra hiçbir şey işe yaramadı. Ama sonra tekrar kapandım ve açtım ve işe yaradı. Teşekkürler!
grc


1

Bir depoyu taze klonladıktan sonra bu hatayı aldım. Local.properties dosyasının otomatik olarak oluşturulmasını bekledim, ancak olmadı. Gradle projesini tekrar içe aktararak üretebildim.

File > Re-import Gradle Project

Bu yardımcı oldu. "Gradle Project'i Yeniden İçe Aktar" başlatıldıktan sonra, sorunu algılamama yardımcı olan şu 2 hata konsola yazdırıldı: Geçersiz Gradle JDK yapılandırması bulundu , Project JDK belirtilmedi . Böylece, Ayarlar'daki JDK yolunu düzelttikten sonra her şey çalışmaya başladı.
Michal Vician

JDK yolu düzeltildikten sonra IDE'yi "Dosya> Önbellekleri Geçersiz Kıl / Yeniden Başlat ..." seçeneğiyle yeniden başlatmam gerekiyordu.
Michal Vician

1

Jenkins kullanan herkes faydalı olabilir

ANDROID_HOMEAndroid sdk yolunun değeri ile küresel bir değişken adı tanımlamanız gerekir .

Mac için, /Users/YOUR_USER_NAME/Library/Android/sdk


1

setting.gradle dosyanızın eksik olduğunu düşünüyordum. Bu dosyayı başka bir projeye kopyalayın ve projenizi yapıştırın.

setting.gradle dosyasında,

include ':app'

bu kadar. İyi günler.


1

Benim için sorun, android stüdyosunun yeni kurulumundan sonra herhangi bir sanal cihaz oluşturmamış olmamdı. Yani, ana sorun eksik sanal cihazlar iken, expo sdk konumu hakkında belirsiz bir şekilde şikayet etmeye devam etti. Umarım bu gelecekte birine yardımcı olur, birkaç saat aramama izin verdi.

PS: burada nasıl https://developer.android.com/studio/run/managing-avds oluşturacağınızı öğrenebilirsiniz


0

Kontrol edin, 1. Modül ayarlarında, SDK konumunun uygun olup olmadığı. 2. Evet ise, local.properties dosyasını kontrol edin (Uygulama modülünün içine değil, uygulama modülünün dışına, üst düzeyde yerleştirilen dosyayı) kontrol edin. Eğer yoksa, içine aşağıdaki satırları ekleyin.

sdk.dir=/path/to/sdk/../Android/Sdk

0

Repo'yu Github'dan kopyalayıp koştuğumda bu sorunla karşılaştım ./gradlew clean assembleDebug. .Bashrc dosyamda ANDROID_HOME olduğunu onaylıyorum.

Bu yüzden projeyi Android Studio'ya aktardım. Benim settings.gradle dosyanın fark uzantısıdır .kts, settings.gradle.kts. İthalat ile işim bittiğinde koştum ./gradlew clean assembleDebugve herhangi bir sorun alamadım.


0

denedim

sdk.dir = \Users\OLUWAGBEMIGA\AppData\Local\Android\sdk 

ve işe yaradı, sadece proje klasörüne ve dışına yapıştırdım.

Ortam değişkeninde yukarıdaki sdk bağlantısını ve adı ANDROID_HOMEyol adı olarak kullandım. Her şeyi tekrar aç ve hepsi işe yarayan Cabom

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.