248 votes

Aucune version du NDK ne correspondait à la version demandée

Après la mise à jour vers Plugin Android Gradle 3.6.0 (sortie le 24 février 2020), plusieurs projets ont commencé à échouer de manière indépendante :

No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669

Il est assez simple de "corriger" ce problème localement en installant l'ancienne version attendue de ndk :

sdkmanager 'ndk;20.0.5594570'

Cependant, ma question est la suivante : où et comment cette ancienne version est-elle spécifiée ? Et comment puis-je la mettre à jour pour qu'elle corresponde à la dernière version ? 21.0.6113669 ?

36 votes

ET la construction échoue sur Github CI, aussi.

0 votes

Même chose pour moi. Et si j'installe ce ndk, ou si je spécifie son emplacement, mon application se bloque à cause de UnsatisfiedLinkError -_-

1 votes

Actuellement, github ci fonctionne à nouveau pour mon projet : github.com/KYHSGeekCode/Android-Disassembler/blob/

13voto

Elenasys Points 23268

Dans la dernière version de Gradle, il n'est pas nécessaire de définir la version du NDK à l'intérieur de la balise build.grade :

android {
    ...
    ndkVersion "21.0.6352462"
    ...
}

Nous devons installer la version proposée

enter image description here

ou définissez la version actuelle disponible dans l'emplacement Android NDK :

enter image description here

enter image description here

10voto

Amanullah Asraf Points 31

J'ai rencontré le même problème. Puis j'ai trouvé les références du développeur ici

Default NDK version per AGP version

Donc, le problème commence avec la version de gradle 3.6 . Avant 3.6 il n'y avait pas de ndk par défaut spécifié. Ainsi, n'importe quelle version de ndk fonctionnait sans aucun problème. Mais après avoir ajouté la version par défaut, si nous n'ajoutons aucun ndkVersion sur build.gradle puis il recherche la version par défaut de ndk.

Dans mon cas, ma version de gradle était 3.6.3 et ndk installé 21.0.6113669 et je n'ai pas défini ndkVersion dans mon build.gradle . Donc, il recherche par défaut ndkVersion "20.0.5594570" selon la version de mon gradle et m'a donné la même erreur. Donc, j'ai simplement ajouté ndkVersion "21.0.6113669" dans mon build.gradle et l'erreur a disparu.

8voto

Afin de résoudre ce problème, vous devez indiquer à votre IDE la version de votre NDK en build.gradle . Dans ce cas, il s'agit de la version 21.0.6113669. Par exemple :

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.remed_mobile"
    minSdkVersion 16
    targetSdkVersion 28
    ndkVersion '21.1.6352462'
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

Si vous n'indiquez pas votre numéro de version, alors l'IDE prend une version par défaut. Si vous avez mis à jour gradle, il se peut qu'il ne trouve pas la bonne version.

7voto

saif uddin Points 31

Ajoutez cette ligne dans build.gradle(app)

Android {

ndkVersion "21.0.6113669"

}

Cela résoudra le problème

https://github.com/gradle/gradle/issues/12440#issuecomment-606188282

6voto

ohdroid Points 361

Cela fonctionne pour moi

modifier le fichier local.properties pour ajouter ceci

ndk.dir=/xxxxx/Android/sdk/ndk-bundle

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X