NDK Çözüm Sonuç: Proje ayarları: Gradle model sürümü = 5.4.1, NDK sürümü UNKNOWN hatası


103

Android Studio ve Gradle'ı 3.5'e güncelledikten sonra, şimdi şu hatayı alıyorum:

NDK Çözüm Sonuç: Proje ayarları: Gradle model sürümü = 5.4.1, NDK sürümü BİLİNMİYOR

Build-gradle'daki Gradle versiyonunu 3.4.2'ye geri değiştirdim ama yardımcı olmadı.


Hangi sürümü olduğunu sizin NDK? Nasıl kuruldu? Bunu projenizde nasıl kullanıyorsunuz (build.gradle, local.properties veya içinde belirtilmiştir ANDROID_NDK_HOME)? NDK'daki source.properties dosyasında neler var?
Dan Albert

2
Bu "hatayı" nereden aldınız? Bu mesajı Olay Günlüğü'ndeki tüm projelerimde Android Studio güncellemesinden sonra alıyorum ancak etkisi olmuyor. Her şey olması gerektiği gibi oluşturulur ve çalışır. Hiç NDK kullanmadım - bu yüzden işe yarayıp yaramayacağı umurumda değil.
inanılmaz

1
sanırım ... "NDK sürümü" ana sorun değil .... projeyi tekrar içe
aktarıyorum


1
Çözümlerin hiçbiri sizin için işe yaramıyor olabilir (benim için işe yaramadılar). Sorun google tarafından takip ediliyor, issuetracker.google.com/issues/140403764
Mike Hardy

Yanıtlar:


70

Ben de benzer bir problem yaşadım ve Import project (Gradle, Eclipse, etc.)yerine kullanarak proje açarak çözdüm Open existing Android Studio project.


9
Bu benim için çözmedi. Projeyi tekrar içe aktardıktan sonra gradle 5.6.1 / eklenti 3.5.0 / Android Studio 3.5.0'da bile hala hata alıyorum
Mike Hardy

Bütünlüğü için bu aslında (çünkü benim için iş vermedi söyledi) yapar ve hatta gereklidir - - tepki yerli + yerli modül derleme sorunu gradle ayrı bir aptal tür düzeltmek için benim için çalış. Bu yüzden, numara çantanızda olması gereken bir "Android Studio / gradle" numarası olarak, bu iyi bir numara.
Mike Hardy

20
Dosya> Proje Yapısı> İndirNDK'ya gidin ve yerel mülklerinize yol ekleyecek ve bu yanıt işe yaramazsa işleri düzeltir
KingKongCoder

3
Projeyi kapattım, tüm Build klasörlerini, .iml dosyalarını, .idea klasörünü sildim. Ardından proje açıldı ve başarıyla inşa edildi
Dmitriy Pavlukhin

1
@KingKongCoder Bu bağlantıyı Dosya> Proje Yapısı> SDK Konumu> Android
NDK'yı

18

NDK'yı Dosya> Proje Yapısı> Sol panelden SDK konumunu seçerek ve NDK lokasyon kısmından İndir'e basarak indirebilirsiniz.


9
Kullanmazsan hiç mantıklı gelmiyor.
inanılmaz Jan

Soru, hata mesajıyla ilgilidir ve bir cevap, mesajdan kurtulmak için onu yüklemeyi gerektirmemelidir. NDK isteğe bağlı bir pakettir
Mike Hardy

Cevap, NDK kullanan ve bu hatayla karşılaşan herkes içindir ve soruda NDK kullanıp kullanmadığı belirtilmemiştir. @ The
Zahra

1
NDK, önceki sabit sürücünüzün neredeyse 1 GB'ını alır! Ve başka bir etki (bellek, performans, CPU vb.) Olup olmadığından emin değilim. Hiç kullanılmadıysa neden indirmemiz gerekiyor? Hatayı görmezden gelebilir miyiz?
Pablo Alfonso

@Pablo Evet, NDK kullanmıyorsanız ve cevaplardan hiçbiri yardımcı olmuyorsa, hatayı dikkate almayın.
Zahra

11

Android stüdyomu yükselttikten sonra aynı sorunu yaşıyordum. NDK yolunuzun yolunu açmanız local.propertiesve değiştirmeniz yeterlidir ndk.dir.

Kod:

ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK

3
JAVA ile kod yazıyorum ve hiç NDK'm yok
Farhad Farzin

2
NDK'ya sahip değilseniz ve istemiyorsanız, bu hiçbir anlam ifade etmiyor. İsteğe bağlı bir bileşen
Mike Hardy

local.properties "Bu dosya Android Studio tarafından otomatik olarak oluşturulur. Bu dosyayı değiştirmeyin - DEĞİŞİKLİKLERİNİZ SİLİNECEK!"
leoneboaventura

7

Projemde NDK kullanmıyorum ama aynı problemi yaşadım. SDK sürümünü en yeni compileSdkVersion 29'a güncelledikten sonra sorun ortadan kalktı


2
İlginç - bunun potansiyeli olduğunu düşündüm, bu yüzden denedim, yine de benim için çözmedi. Burada açık bir sorun var issuetracker.google.com/issues/140403764
Mike Hardy

2
@MikeHardy şu anda Gradle eklenti sürüm 3.5.0 ve gradle sürüm 5.4.1 kullanıyorum. Hata düzeltilirken bu sürümleri değiştirmeye çalışın. Umarım sana yardımcı olur.
Vlad

1
her şey güncel ama yine de aynı!
Sahan Pasindu Nirmal

6

Daha önce bir cevabım vardı (moderatörler tarafından silindiğinden beri), bazıları için işe yarayan geçici çözümlerin (burada listelendiği gibi) olduğunu, ancak geçici çözümlerin herkes için çalışmaması nedeniyle (özellikle: hiçbiri onlar benim için çalışıyor)

İlgili Google sorunu burada: https://issuetracker.google.com/issues/140403764

Güncelleme: Bugün (20190920) itibariyle, altta yatan sorunu çözdüklerini belirtiyorlar, bu nedenle bugünden (20190920) sonraki bir gradle sürümünün düzeltmeyi içereceğini umuyorum.

Güncelleme2: Bugün (20190926) Bir Google çalışanından, sorunlu kodun Android Studio'da olduğu ve 3.6 sürümlü şubede yer aldığına, ancak şu anda herkese açık herhangi bir derlemede bulunmadığına dair bir yanıt aldım (Android Studio 3.6 Canary 12 bu düzeltme yapılmadan hemen önce yayınlandı). Bu, hangi bileşenin güncelleneceğini ve hangi sürümlere dikkat etmeniz gerektiğini bilmenizi sağlar. Görünüşe göre Android Studio 3.6 Canary 13 ve sonraki sürümlerde https://issuetracker.google.com/issues/140403764#comment13

O zamana kadar geçici çözümleri deneyebilirsiniz, ancak bir satıcı hatası olduğunda ve geçici çözümler işe yaramadığında, yalnızca bir satıcı yaması beklemeniz gerekir.



4

Bu sorunu ilk olarak bugün Android Studio 3.5.0'dan 3.5.1'e yükselttikten sonra aldım.

Sadece Build -> Rebuild Project üst menüsünden bir yeniden oluşturma yaptım.

Soruna neyin sebep olduğuna bağlı olarak bu herkes için işe yaramayabilir ama benim için işe yaradı. Bi dene.

(Ayrıca, NDK'yi kullanmıyorum ve daha önce hiç indirmedim. Hala indirmedim)


1
AS 3.5.1 kullanıyorum, projemin NDK'ye ihtiyacı var. Tam hatayı aldım, temizleyin ve yeniden oluşturun düzeltildi. Başka bir şey yapmadan önce denemek yeterince kolay.
Sean

@Sean Nice, işe yaradığına sevindim! Bu arada, yeniden yapılanmanın da temiz bir şekilde başladığını düşünüyorum. Bir kez alt yapı araç çubuğunu açtığımda ve ilk görev olarak 'temiz' olduğunu fark ettim. O zamandan beri sadece yeniden inşa etmeye başladım. (Umarım lol olduğunu düşündüğüm şeyi yapıyor).
Ryan

4

NDK kullanmıyorsanız, hatayı dikkate almayın.

Bunun herhangi bir fark yaratıp yaratmadığını görmek için NDK'yi kurdum. Fark yoktur (2 GB'den büyük kullanılmayan NDK klasörü hariç :). Ben de onu kaldırdım (yani ndk klasörünü silin ve daha önce ayarladığınız NDK ortam değişkenini kaldırın).


3

i giderek bunu düzeltmek file > Invalidate Caches\Restart yeniden başlar IDE ve problem çözecektir


'dosya> proje yapısı> SDK konumu'na gidin ve son NDK'yı indirin ve' local.properties 'projesine gidin ve bunun gibi NDK konumunu belirleyin' ndk.dir = C \: \\ Kullanıcılar \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk '
Hocine Djouamaa

Kullanmazsan hiç mantıklı değil (NDK)
Sahan Pasindu Nirmal

3

Son Android Studio güncellememden sonra aynı hata mesajını aldım. Diğer cevapları burada denedim ve hiçbiri işe yaramadı. Ancak @ Zahra'nın cevabı beni işe yarayan bir şeye işaret etti:

Git ... Dosya-> Proje Yapısı "altında Android NDK Konum ," i tıklayın ve "seçeneğini NDK Önerilen VARSAYILAN'ı seçeneğini".

Varsayılanı seçmeden önce orada biraz farklı bir yol vardı. SDK yöneticisini kullanarak yükseltme yaparken, yol değişmiş gibi görünüyor.

Ve şimdi local.properties dosyasında sdk.dir " VARSAYILAN NDK Önerilir " seçeneğiyle aynı dizine ayarlandı .


En az 5 farklı 'çözümü' denedikten sonra, bu nihayet beni tekrar
yoluma soktu

2

Aynı problemim vardı. Benim ortamım:

  • Android Studio 3.5.1
  • Gradle 4.4
  • Android Gradle Eklentisi 3.1.2
  • CMake 3.10 ve 3.6

CMake 3.10'u SDKManager tarafından kaldırdım. (kurulu CMake yalnızca 3.6'dır)

Gradle senkronizasyonu ve derlemesi başarılı oldu.

(1)

android-gradle-plugin 3.1.2, CMake 3.10 kullandı.

Android gradle eklentisi 3.1.2'de (veya 3.1. +), CMake 3.7 ve üstü için destek özelliği bir önizleme özelliğidir.

(çıkışı mesajından gradle assembleDebugveya gradle sync.)

(2)

https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version

SDK Yöneticisi, CMake'nin 3.6.0 çatallı sürümünü ve 3.10.2 sürümünü içerir. Build.gradle'da belirli bir CMake sürümü ayarlamayan projeler CMake 3.6.0 ile oluşturulur.

Belki de bu davranış android-gradle-eklenti 3.3 veya üstüdür. (CMake 3.10 indirilebilen android-studio 3.3'ten)

android-gradle-plugin 3.1.2, kurulu CMake'nin en son sürümünü kullandı.


"Gradle 3.5" ve "build-gradle to 3.4.2" yazdığınızı kaçırdım.
Yu Kakizaki

2

Mac'te de aynı sorunu yaşadım.

Öneri: .gradle klasörünü kendini yeniden oluşturmaya zorlayın.

Bu hala Olay Günlüğünde 'NDK Versiyonu BİLİNMİYOR' olduğunu gösteriyor, ancak başarılı bir şekilde oluşturuluyor ve bana herhangi bir sorun vermiyor. (NDK indirmedim)

  1. / Kullanıcılar / macuser / klasörünüzü açın
  2. CMD + SHIFT + tuşlarına basın. (nokta / nokta) gizli klasörleri görüntülemek için
  3. .Gradle klasörünü SİL
  4. Android Studio'yu yeniden başlatın

Bu, Android Studio'nun işlem sırasında çakışan dosyalarınızı düzelterek .gradle klasörünüzü yeniden oluşturmasına ve yeniden indirmesine neden olur.


Bu benim için çalıştı ama sadece ilk seferinde. Önce .gradle silmeden projeyi yeniden açarsam, daha önce olduğu gibi aynı hatayı alırdım.
Kyle Abens

Evet, görünüşe göre hata günlükte kalacak. Benimkinde de devam ediyor, ancak proje oluşturuyor ve gayet iyi çalışıyor.
Fox

1

Android Gradle Eklenti Sürümünü 3.1.4'ten 3.4.0'a ve Gradle Sürümünü 4.4'ten 5.1.1'e aynı anda güncellediğimde sorun çözüldü. Tabii ki, SDK yöneticisi ile en yeni NDK'yi (Yan Yana) indirdim.


Ayrıca Gradle sürümümü yükseltmek zorunda kaldım
BlackHatSamurai

1

Uygulama düzeyindeki build.gradledosyaya birkaç kitaplık ekledikten sonra aynı hatayı aldım .
Çözüm sadece projeyi temizlemekti .
Menü çubuğunda seçin: Build >> Clean Project
Bundan sonra, hata benim için gitti. Ben başka bir şey yapmadım.


1

Benim durumumda, Android Studio yeni bir mac'a kuruldu. Sadece Android 9'u indirmek (benim hedef / derleme SDK'm 28 idi) ve araçlar oluşturmak gerekiyordu. Sorun bundan sonra çözüldü.


1

Benim durumumda SdkVersion 29'a yükselterek ve AndroidX'e geçerek düzeltiyorum.


1
sdk 29'a yükseltme hedefi ve derleme sürümü benim için çalıştı: D
Ziad H.

0

Yükseltme yaptıktan sonra projelerimden birinde aynı sorunu yaşıyorum. Local.properties dosyasından ndk.dir = D: \ Android \ SDK \ ndk-bundle satırını silerek çözdüm.


1
Dosyayı android stüdyosunda veya dosya sisteminde nerede bulacağınızı nasıl bildiğinizi ve yapılacak değişiklik olduğunu belirleme gerekçenizi belirterek yanıt daha değerli hale getirilebilir.
Reenactor Rob

5
Projelerimde ndk.dir ayarlanmadı. Hiç NDK kullanmadım. Yine de Android Studio 3.5'te bu "hatayı" alıyorum.
inanılmaz Oca

The Incredible Jan ile aynı, bu benim yerel özelliklerimde değildi, ancak yine de bu mesajı alıyorum. Yani tam bir çözüm değil ama belki bazılarına yardımcı olabilir
Mike Hardy

0

Bitbucket köprüsü aracılığıyla sürüm kontrolünden bir projeyi içe aktardıktan sonra bu hatayı (ve birkaç tane daha) aldım.

İçe aktarıldıktan sonra projeyi kapatın ve kullanarak yeniden içe aktarın File > New > Import Project. Bundan sonra her şey doğru inşa edildi. (NDK yolu zaten doğru bir şekilde belirtildi ve yalnızca yeni çalıştığında içe aktarılıyor)

Meta: Android Studio 3.5 Build #AI-191.8026.42.35.5791312, built on August 8, 2019 JRE: 1.8.0_202-release-1483-b49-5587405 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.13.6 Gradle 3.4.0


0

Proje yapısında Öneriler'i kontrol ettikten ve önerilen iki güncellemeyi güncelledikten sonra sorun benim için çözüldü. Maalesef modül adlarını, her biri için güncellemeye bastığımda ve senkronizasyona geçiş yaptığımda kaybolduğu için hatırlayamıyorum. otomatik olarak başladı ve bu sorun ortadan kalktıktan sonra


0

ndk sürümünü 20'den r17c'ye ve cmake sürümünü 3.10'dan 3.6.411459'a düşürmek sorunu benim için çözdü


0

Android Studio'yu güncelledikten sonra da aynı sorunu yaşadım. Android SDK Build-Tools güncelledikten sonra sorunum çözüldü. [Araçlar-> SDK Yöneticisi-> SDK Araçları-> Android SDK Oluşturma Araçları].

Ardından [Build-> Clean Project] projesini temizlemeyi deneyin.

Sonunda Android Studio IDE'yi yeniden başlatın ......


0

Projeyi kapattım, android stüdyosunu kapattım, bilgisayarımı yeniden başlattım, projemi izledim ve "B: /PROJECTNAME/.idea" ve işte .Idea klasörünü sildim.

Sorun çözüldü. Yeniden senkronize eder. N / B: Gradle'ım androidx. birine iyi şanslar.


0

Build.gradle betiğinde claaspath'ı 'com.android.tools.build:gradle:3.5.2' olarak değiştirin


0

Tamam. Yakın zamanda Android stüdyosunun en son sürümünü indirdim ve benzer bir hata aldım. Sonunda yeni bir proje yarattım. Seçilen Kotlin Dili ve ardından Jelly Bean (seçim yapabileceğiniz seçenekler hakkında konuşuyor). Sonra tüm senkronizasyon başladı, ancak 1. senkronizasyon başarısız oldu ve sonunda tekrar otomatik olarak senkronize edildi ve her şey çalışmaya başladı. Yeni başladığım için varsayılan kodları (metin) değiştirdim, ancak hata mesajı almadım. Ön izleme iyiydi ve öğrenmeye devam ettim. Üzgünüm daha iyi açıklayamadım. Ben sadece acemiyim. Oh! Çalışması için internete bağlı olmanız gerekir.


0

Bu sorun bir Android Studio yükseltmesinden sonra ortaya File > Project structureçıktıysa ve sağ alttaki bildirimden bir eklenti güncellemesi başlattıysanız: Açın , ardından Android Gradle sürümünü Android Studio sürümünüze değiştirin ve Gradle sürümünü önceki sürümüne indirin.

Benim durumumda, Android Gradle eklentisini 3.5.3'ten 3.2.1'e ve Gradle sürümünü 5.4.1'den 4.6'ya düşürdüm.


0

Gradle-wrapper.properties dosyasının gradle sürümünü 4.1'den 4.6'ya değiştirdim.


0

Bu sorunu yaşadım ve çözümlerin hiçbiri benim için işe yaramadı. Sorun şu ki, bu hata veya uyarı çok geniş nedenlerden dolayı görünebilir. Neyin yanlış olduğunu bulmak için şu adımları takip edebilirsiniz:

NDK eksik

Gradle yerel bağımlılıkları derlemeye başladığında, "app" klasörünüzde ".cxx" klasörü oluşturur. bu klasörün içinde çok garip bir günlük dosyası türü olan "ndk_locator_record.json" dosyasını bulabilirsiniz. Temelde Gradle'ın NDK klasörünü bulmak için kontrol ettiği tüm yollardır. NDK sürüm numaralarında herhangi bir hata veya uyumsuzluk varsa, bu dosyada görebilirsiniz.

NDK derlemesi başarısız

bazı bilinmeyen nedenlerden (Gradle belki bug) için ndk inşa bunun yerine böyle bir başarısızlık gösterir, olay günlüğü penceresinde gerçek hata vermiyor .... ndkBuild için harici yerel yapı yürütülürken: Gradle senkronizasyon başarısız aşağıdaki NDK Çözünürlük Sonucuna: Proje ayarlar: Gradle model sürümü = 5.4.1, NDK sürümü BİLİNMİYOR .

Bu durumda .cxx> ndkBuild> debug> x86 (x64 veya başka herhangi bir cpu arch) konumuna geri dönün. Burada bu klasörde "json_generation_record.json" dosyasını bulabilirsiniz, aynı türde bir günlüktür, genellikle son girişte gerçek hata bulunur . Örneğin benim için

 ../../sdk/native/jni/OpenCV.mk: No such file or directory
 make: *** No rule to make target '../../sdk/native/jni/OpenCV.mk'.  Stop.

Buradan, kaputun altında neyin yanlış gittiğini bulmak için bir başlangıç ​​noktanız var.


0

NDK kurulmamışsa ve Android Projesi bunu gerektiriyorsa, önce NDK'yi kurun.

Açık pencereler OS için NDK yolunu eklemek PAT H ortam değişkeni. Bu, sürüm sorununu çözecektir.

Benim durumumda NDK yolu C: \ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669


0

Bu sorunla daha önce karşılaştım ve uygulama dizinine doğru izinlere sahip olduğumdan emin olarak sorunu çözdüm.

MacOS kullanıyorum, bu yüzden yaptım:

chmod -R 777 your_android_project

ve sorun gitmişti.


-1

Android Gradle Eklenti Sürümünü 3.1.2'den 3.5.1'e güncellediğimde ben de bu sorunu yaşıyorum

İşte bu sorunu nasıl çözeceğiniz:

gradle.properties fileProjenizin kök klasörüne gidin ve ekleyinandroid.useDeprecatedNdk=true

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.