Risultato della risoluzione NDK: Impostazioni del progetto: versione del modello Gradle = 5.4.1, la versione NDK è un errore SCONOSCIUTO


103

Dopo aver aggiornato Android Studio e Gradle a 3.5, ora ricevo questo errore:

Risultato della risoluzione NDK: Impostazioni del progetto: versione del modello Gradle = 5.4.1, la versione NDK è SCONOSCIUTA

Ho cambiato la versione Gradle in build-gradle alla 3.4.2 ma non ha aiutato.


Quale versione è il tuo NDK? Come è stato installato? Come lo stai usando nel tuo progetto (specificato in build.gradle, local.properties o ANDROID_NDK_HOME)? Cosa c'è nel file source.properties nell'NDK?
Dan Albert

2
Dove hai ricevuto questo "errore"? Ricevo questo messaggio dopo l'aggiornamento di Android Studio in tutti i miei progetti nel registro eventi ma non ha alcun impatto. Tutto si costruisce e funziona come dovrebbe. Non ho mai usato NDK, quindi non mi interessa se non funzionasse.
L'incredibile

1
penso ... la "versione NDK" non è il problema principale .... ho importato di nuovo il progetto ... e il problema è stato risolto
Farhad Farzin


1
È possibile che nessuna delle soluzioni funzioni per te (non hanno funzionato per me). Il problema è monitorato da Google, puoi aggiungerlo a Speciali issuetracker.google.com/issues/140403764
Mike Hardy

Risposte:


70

Ho avuto un problema simile e l'ho risolto aprendo il progetto usando Import project (Gradle, Eclipse, etc.)invece di Open existing Android Studio project.


9
Questo non ha risolto il problema per me. Ho ancora l'errore anche con gradle 5.6.1 / plugin 3.5.0 / Android Studio 3.5.0 dopo aver importato di nuovo il progetto
Mike Hardy

Per completezza (da quando ho detto che non ha funzionato per me) questo in realtà non lavoro per me - ed è necessario anche - di fissare una sorta sciocco separata di Gradle + reagisce nativo questione nativo modulo di compilazione. Quindi, come trucco "Android Studio / gradle" da avere nella borsa dei trucchi, è buono.
Mike Hardy

20
vai su File> Struttura del progetto> DownloadNDK che scaricherà e aggiungerà il percorso alle tue proprietà locali che potrebbero sistemare le cose se questa risposta non funzionasse
KingKongCoder

3
Ho chiuso il progetto, cancellato tutte le cartelle Build, i file .iml, la cartella .idea. Quindi ha aperto il progetto ed è stato costruito con successo
Dmitriy Pavlukhin

1
@KingKongCoder Ho trovato quel collegamento in File> Struttura del progetto> Posizione SDK> Scarica Android NDK
bitlather

18

È possibile scaricare NDK da File> Struttura del progetto> Scegliere la posizione dell'SDK dal pannello di sinistra e premere Scarica dalla parte della posizione NDK.


9
Non ha alcun senso se non lo usi.
L'incredibile

La domanda riguarda il messaggio di errore e una risposta non dovrebbe richiedere l'installazione per eliminare il messaggio. L'NDK è un pacchetto opzionale
Mike Hardy

La risposta è per chiunque usi NDK e affronti questo errore e nella domanda non è menzionato che usa NDK o no. @ The
Zahra

1
NDK occupa quasi 1 GB del tuo disco rigido precedente! E non sono sicuro che ci sia qualche altro impatto (come memoria, prestazioni, CPU, ecc.). Perché dobbiamo scaricarlo se non viene mai utilizzato? Possiamo semplicemente ignorare l'errore?
Pablo Alfonso,

@ Pablo Sì, se non usi NDK e nessuna risposta è stata di aiuto, ignora l'errore.
Zahra

11

Ho riscontrato lo stesso problema dopo aver aggiornato il mio studio Android. Hai solo bisogno di aprire local.propertiese cambiare il ndk.dirpercorso del tuo percorso NDK.

Codice:

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

3
codifico con JAVA e non ho affatto NDK
Farhad Farzin

2
Non ha senso se non si dispone e non si desidera l'NDK. È un componente opzionale
Mike Hardy

local.properties dice "Questo file viene generato automaticamente da Android Studio. Non modificare questo file - LE TUE MODIFICHE SARANNO CANCELLATE!"
leoneboaventura,

7

Non uso NDK nel mio progetto, ma ho avuto lo stesso problema. Il problema è scomparso dopo aver aggiornato la versione SDK alla più recente compileSdkVersion 29


2
Interessante: pensavo che avesse del potenziale, quindi l'ho provato, ma ancora non lo ha risolto per me. C'è un problema aperto qui issuetracker.google.com/issues/140403764
Mike Hardy

2
@MikeHardy attualmente sto usando la versione 3.5.0 del plugin Gradle e la versione 5.4.1 di gradle. Prova a cambiare questa versione, mentre il bug verrà risolto. Spero ti sia d'aiuto.
Vlad

1
tutto è aggiornato ma è sempre lo stesso!
Sahan Pasindu Nirmal

6

Avevo una risposta precedente (poiché eliminata dai moderatori) in cui ho spiegato che ci sono soluzioni alternative (come elencate qui) che funzionano per alcuni ma che c'è un bug sottostante in gradle perché le soluzioni alternative non funzionano per tutti (in particolare: nessuna delle loro lavorano per me)

Il problema relativo a Google è qui: https://issuetracker.google.com/issues/140403764

Aggiornamento: ad oggi (20190920) indicano di aver risolto il problema sottostante, quindi mi aspetto che una versione futura di gradle dopo oggi (20190920) conterrà la correzione.

Update2: Oggi (20190926) ho ricevuto una risposta da un googler che il codice problematico era in Android Studio ed è contenuto nel ramo della versione 3.6 ma al momento non è disponibile su nessuna build disponibile pubblicamente (Android Studio 3.6 Canary 12 era rilasciato poco prima che fosse apportata questa correzione). Ciò ti consente di sapere quale componente aggiornare e su quali versioni prestare attenzione, comunque. Sembra che Android Studio 3.6 Canary 13 e versioni successive dovrebbero averlo https://issuetracker.google.com/issues/140403764#comment13

Fino ad allora puoi provare le soluzioni alternative, ma quando c'è un bug del fornitore e le soluzioni alternative non funzionano, devi solo aspettare una patch del fornitore.



4

Ho riscontrato questo problema per la prima volta dopo l'aggiornamento da Android Studio 3.5.0 a 3.5.1 oggi.

Ho semplicemente fatto una ricostruzione dal menu in alto Build -> Rebuild Project.

Questo potrebbe non funzionare per tutti a seconda di cosa ha causato il problema, ma ha funzionato per il mio. Dagli Un colpo.

(Inoltre, non uso l'NDK e non l'ho mai scaricato prima. Ancora non l'ho scaricato)


1
Sto usando AS 3.5.1, il mio progetto necessita di NDK. Ottenuto l'errore esatto, pulito e ricostruito lo ha risolto. Abbastanza facile da provarlo prima di fare qualsiasi altra cosa.
Sean

@Sean Nice, contento che abbia funzionato! A proposito, penso che anche la ricostruzione inizi con un clean. Me ne sono reso conto una volta, quando ho aperto la barra degli strumenti di build inferiore e la prima attività era "pulita". Da allora ho iniziato a colpire solo la ricostruzione. (Si spera che stia facendo quello che penso sia lol).
Ryan

4

Se non stai usando NDK, ignora l'errore.

Ho installato NDK per vedere se questo fa la differenza. Non ci sono differenze (ad eccezione di una cartella NDK inutilizzata di più di 2 GB :). Quindi l'ho rimosso (cioè elimina la cartella ndk e rimuovi la variabile ambientale NDK che hai impostato in precedenza).


3

lo risolvo andando file > Invalidate Caches\Restart sull'IDE si riavvierà e il problema si risolverà


vai a 'file> struttura progetto> posizione SDK' e scarica l'ultimo NDK e vai al progetto 'local.properties' e specifica la posizione NDK come questo 'ndk.dir = C \: \\ Users \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk '
Hocine Djouamaa il

Non ha alcun senso se non lo usi (NDK)
Sahan Pasindu Nirmal

3

Dopo il mio recente aggiornamento di Android Studio ho ricevuto lo stesso messaggio di errore. Ho provato le altre risposte qui e nessuna ha funzionato. Ma la risposta di @ Zahra mi ha indicato qualcosa che ha funzionato:

Vai a File-> Struttura progetto ... In " Posizione Android NDK ", fai clic sul menu a discesa e seleziona l' opzione " Consigliato NDK PREDEFINITO ".

C'era un percorso leggermente diverso prima che selezionassi l'impostazione predefinita. Da qualche parte aggiornando utilizzando il gestore SDK, il percorso sembra essere cambiato.

E ora nel file local.properties sdk.dir è impostato sulla stessa directory dell'opzione " DEFAULT NDK Recommended ".


Dopo aver provato almeno 5 diverse "soluzioni", questa mi ha finalmente riportato in carreggiata, ora per passare a qualunque sia il prossimo bug di Android Studio ...
norlesh

2

Ho avuto lo stesso problema. Il mio ambiente è:

  • Android Studio 3.5.1
  • Grado 4.4
  • Plugin Android Gradle 3.1.2
  • CMake 3.10 e 3.6

Ho disinstallato CMake 3.10 da SDKManager. (CMake installato è solo 3.6)

Sincronizzazione e build gradle riuscite.

(1)

android-gradle-plugin 3.1.2 utilizzava CMake 3.10.

In android-gradle-plugin 3.1.2 (o 3.1. +), La funzionalità di supporto per CMake 3.7 e versioni successive è una funzionalità di anteprima.

(dal messaggio di output di gradle assembleDebugo gradle sync.)

(2)

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

SDK Manager include la versione 3.6.0 di CMake e la versione 3.10.2. I progetti che non impostano una versione specifica di CMake in build.gradle vengono creati con CMake 3.6.0.

Forse questo comportamento è Android-gradle-plugin 3.3 o superiore. (è da android-studio 3.3 che può essere scaricato CMake 3.10)

android-gradle-plugin 3.1.2 ha utilizzato l'ultima versione di CMake installato.


mi è sfuggito che hai scritto "Gradle 3.5" e "build-gradle back to 3.4.2".
Yu Kakizaki

2

Ho avuto lo stesso problema anche su un Mac.

Suggerimento: forza la ricostruzione della cartella .gradle.

Questo mostra ancora la "versione NDK è SCONOSCIUTA" nel registro eventi, ma viene compilata correttamente e non mi dà alcun problema. (Non ho scaricato NDK)

  1. Apri la tua cartella / Users / macuser /
  2. Premi CMD + MAIUSC +. (punto / punto) per visualizzare le cartelle nascoste
  3. ELIMINA cartella .gradle
  4. Riavvia Android Studio

Ciò farà sì che Android Studio ricostruisca e scarichi nuovamente la cartella .gradle risolvendo i file in conflitto nel processo.


Questo ha funzionato per me, ma solo la prima volta. Se riaprissi il progetto senza prima eliminare .gradle, riceverei lo stesso errore di prima.
Kyle Abens

Sì, sembra che l'errore rimarrà nel registro. Anche il mio è in corso, ma il progetto si costruisce e funziona perfettamente.
Fox

1

Il problema è risolto aggiornando contemporaneamente la versione del plugin Android Gradle dalla 3.1.4 alla 3.4.0 e la versione Gradle dalla 4.4 alla 5.1.1. Ovviamente, ho scaricato il nuovissimo NDK (Side by Side) con SDK manager.


Ho anche dovuto aggiornare la mia versione Gradle
BlackHatSamurai il

1

Ho avuto lo stesso errore dopo aver aggiunto un paio di librerie nel build.gradlefile a livello di app .
La soluzione era solo pulire il progetto .
Nella barra dei menu scegliere: Build >> Clean Project
Dopodiché, l'errore era sparito per me. Non ho fatto nient'altro.


1

Nel mio caso, Android Studio è stato installato su un nuovo Mac. Avevo solo bisogno di scaricare Android 9 (il mio SDK di destinazione / compilazione era 28) e creare strumenti. Il problema è stato risolto dopo questo.


1

Nel mio caso lo risolvo aggiornando a SdkVersion 29 e migrando ad AndroidX.


1
l'aggiornamento della versione di destinazione e di compilazione a sdk 29 ha funzionato per me: D
Ziad H.

0

Dopo l'aggiornamento ho lo stesso problema in uno dei miei progetti. L'ho risolto eliminando semplicemente la riga ndk.dir = D: \ Android \ SDK \ ndk-bundle dal file local.properties.


1
La risposta potrebbe essere resa più preziosa affermando come sapevi dove trovare il file in Android Studio o sul file system e il tuo ragionamento nel determinare che fosse la modifica da apportare.
Reenactor Rob il

5
ndk.dir non è impostato nei miei progetti. Non ho mai usato NDK. Tuttavia ottengo questo "errore" in Android Studio 3.5.
L'incredibile

Come The Incredible Jan, questo non era nelle mie proprietà local.properties eppure ricevo ancora questo messaggio. Quindi non è una soluzione completa ma forse potrebbe aiutare un po '
Mike Hardy

0

Ho ricevuto questo errore (e molti altri) dopo aver importato un progetto dal controllo della versione tramite il collegamento ipertestuale di Bitbucket.

Una volta importato, chiudi il progetto e reimportalo usando File > New > Import Project. Dopo di che tutto è stato costruito correttamente. (Il percorso NDK era già specificato correttamente e solo l'importazione come nuova funzionava)

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

Problema risolto per me dopo aver controllato i suggerimenti nella struttura del progetto e aggiornato i due aggiornamenti suggeriti. Mi dispiace non ricordo i nomi dei moduli perché sono scomparsi non appena ho premuto Aggiorna per ciascuno di essi e graddle sync. avviato automaticamente e dopo che questo problema è scomparso


0

il downgrade della versione ndk da 20 a r17c e cmake da 3.10 a 3.6.411459 ha risolto il problema per me


0

Ho avuto lo stesso problema dopo aver aggiornato Android Studio. Il mio problema è risolto dopo aver aggiornato Android SDK Build-Tools. [Strumenti-> SDK Manager-> Strumenti SDK-> Strumenti di build SDK Android].

Quindi prova a pulire il progetto [Build-> Clean Project].

Infine riavvia l'IDE di Android Studio ...


0

Ho appena chiuso il progetto, chiuso Android Studio, riavviato il mio PC, monitorato il mio progetto e cancellato la cartella .Idea in "B: /PROJECTNAME/.idea" e voilà.

Problema risolto. Si risincronizza. N / B: il mio gradle è androidx. buona fortuna a qualcuno.


0

Cambia il claaspath in "com.android.tools.build:gradle:3.5.2" nello script build.gradle


0

Ok. Recentemente ho scaricato l'ultima versione di Android Studio e ho ricevuto un errore simile. Quindi alla fine ho creato un nuovo progetto. Selezionato Kotlin Language, quindi Jelly Bean (parlando delle opzioni tra cui scegliere). Quindi è iniziata l'intera sincronizzazione, ma la prima sincronizzazione non è riuscita e alla fine si è sincronizzata di nuovo automaticamente e tutto ha iniziato a funzionare. Ho modificato i codici predefiniti (testo) poiché sono un principiante ma non ho ricevuto messaggi di errore. L'anteprima era OK e ho continuato il mio apprendimento. Mi dispiace di non aver potuto spiegarlo meglio. Sono solo un principiante. Oh! Devi essere connesso a Internet perché funzioni.


0

Se questo problema si è verificato dopo un aggiornamento di Android Studio e hai avviato un aggiornamento del plug-in dalla notifica in basso a destra: Apri File > Project structure, quindi cambia la versione di Android Gradle nella tua versione di Android Studio e esegui il downgrade della versione Gradle a quella precedente.

Nel mio caso, ho effettuato il downgrade del plug-in Android Gradle da 3.5.3 a 3.2.1 e la versione Gradle da 5.4.1 a 4.6.


0

Ho modificato la versione gradle del file gradle-wrapper.properties dalla 4.1 alla 4.6.


0

Ho avuto questo problema e nessuna delle soluzioni ha funzionato per me. Il problema è che questo errore o avviso potrebbe apparire per motivi molto ampi. Puoi seguire questi passaggi per scoprire cosa non va:

Manca NDK

Quando Gradle inizia a compilare le dipendenze native, crea la cartella ".cxx" nella cartella "app". all'interno di quella cartella puoi trovare il file "ndk_locator_record.json", che è un tipo di file di registro molto strano. Fondamentalmente sono tutti i percorsi che Gradle controlla per trovare la cartella NDK. Se c'è un errore o una mancata corrispondenza sui numeri di versione NDK, puoi vedere in questo file.

La compilazione NDK non riesce

per alcuni motivi sconosciuti (forse bug in Gradle) ndk build non mostra l'errore effettivo nella finestra del registro eventi, invece mostra un errore, come la sincronizzazione di Gradle non riuscita: esecuzione della build nativa esterna per ndkBuild .... seguito da NDK Resolution Outcome: Project impostazioni: versione del modello Gradle = 5.4.1, la versione NDK è SCONOSCIUTA .

In questo caso torna a .cxx> ndkBuild> debug> x86 (x64 o qualsiasi altro arco cpu) Qui in questa cartella puoi trovare il file "json_generation_record.json", è lo stesso tipo di log, di solito l'ultima voce contiene l'errore effettivo . Ad esempio, per me lo era

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

Da qui hai un punto di partenza per scoprire cosa non va sotto il cofano.


0

Se l'NDK non è installato e il progetto Android lo richiede, installare prima l'NDK.

Su Windows OS aggiungi il percorso NDK alla variabile d'ambiente PAT H. Questo risolverà il problema della versione.

Nel mio caso il percorso NDK è C: \ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669


0

Ho affrontato questo problema in precedenza e l'ho risolto assicurandomi di avere le giuste autorizzazioni per la directory dell'app.

Sto usando macOS, quindi ho fatto:

chmod -R 777 your_android_project

e il problema era sparito.


-1

Anch'io ho questo problema quando ho aggiornato la versione del plugin Android Gradle dalla 3.1.2 alla 3.5.1

Ecco come risolvere questo problema:

Vai gradle.properties filenella cartella principale del tuo progetto e aggiungiandroid.useDeprecatedNdk=true

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.