Après la mise à jour Android Studio NDK, je ne peux pas créer mon application, en raison d'une erreur liée à CMAKE (mon application utilise un fichier c ++). Voici les lignes d'erreur:
Build command failed.
Error while executing process C:\Users\AnimallTag\AppData\Local\Android\sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {-HC:\Projetos\Git\at65\app -BC:\Projetos\Git\at65\app\.externalNativeBuild\cmake\debug\mips -GAndroid Gradle - Ninja -DANDROID_ABI=mips -DANDROID_NDK=C:\Users\AnimallTag\AppData\Local\Android\sdk\ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Projetos\Git\at65\app\build\intermediates\cmake\debug\obj\mips -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=C:\Users\AnimallTag\AppData\Local\Android\sdk\cmake\3.6.4111459\bin\ninja.exe -DCMAKE_TOOLCHAIN_FILE=C:\Users\AnimallTag\AppData\Local\Android\sdk\ndk-bundle\build\cmake\Android.toolchain.cmake -DANDROID_PLATFORM=Android-14}
(include) CMakeLists.txt
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Une suggestion pour m'aider à résoudre ce problème? Peut-être que je peux rétrograder NDK ou une Android Studio version précédente que je peux installer ...
J'ai réussi à le réparer. Une chose que j'ai remarquée était le journal des modifications de Android NDK, et il dit qu'il n'y a plus de support pour ABA armeabi, MIPS et MIPS64, donc j'ai filtré les ABI dans mon fichier build.gradle:
Android {
defaultConfig {
externalNativeBuild {
cmake {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}
}
}
}
Après cela, j'ai synchronisé Gradle et Android Studio m'a invité à mettre à jour Gradle, et je l'ai fait. L'application peut maintenant être déployée, mais je ne sais pas ce qui l'a corrigée. Apparemment, l'erreur n'était pas liée à CMAKE_C_COMPILER ni à CMAKE_CXX_COMPILER, cela se produisait ailleurs et lorsque la construction a échoué, il n'a pas pu trouver ces variables. Peut-être que cela peut aussi aider quelqu'un ...
Après la mise à jour récente de NDK, CMAKE se cassait
Rien n'a fonctionné mais J'ai rétrogradé NDK en téléchargeant NDK depuis https://developer.Android.com/ndk/downloads/older_releases
et changé NDK DIR PATH dans local.properties en
ndk.dir=/Users/kathan/Library/Android/sdk/Android-ndk-r17c
Et juste Sync Gradle.
A fonctionné comme un charme
Dans mon cas, j'avais deux dossiers d'installation pour NDK. J'avais besoin de mettre à jour mon local.properties pour pointer vers le bon répertoire. J'ai mis à jour mon NDK et build.gradle (à travers les réponses ci-dessus), resynchronisé puis tout a bien fonctionné.
Hé, j'ai rencontré un problème similaire après l'installation de ndk-bundle, l'erreur a été résolue de la manière suivante:
Ajoutez l'extrait de code suivant dans build.gradle fichier (niveau module):
Android {
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "x86"
}
externalNativeBuild {
cmake {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}
}
}
}
Remarque: Si vous avez déjà ce type de code dans le fichier build.gradle, assurez-vous qu'il n'y en a pas abiFilters à la place de ceux que je mentionne ici.
Assurez-vous également d'avoir ajouté:
distributionUrl = https: //services.gradle.org/distributions/gradle-4.6-all.Zip
dans gradle/wrapper/gradle-wrapper.properties fichier.
Merci! Happy Coding :)