Android Studio NDK、CMAKEに関連するエラーのためにアプリをビルドできません(アプリケーションは1つのc ++ファイルを使用します)。エラー行は次のとおりです。
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!
その問題を解決するのに役立つ提案はありますか? NDKまたはAndroidインストールできるStudioの以前のバージョン...
私はそれを修正することができました。私が気づいたことの1つは、Android NDKの変更ログであり、armeabi、MIPS、およびMIPS64 ABIのサポートはもうないということです。そのため、build.gradleファイルでABIをフィルタリングしました。
Android {
defaultConfig {
externalNativeBuild {
cmake {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}
}
}
}
その後、Gradleを同期し、Android StudioからGradleを更新するように促されました。アプリをデプロイできましたが、何が修正されたかわかりません。エラーは関連していなかったようです。 CMAKE_C_COMPILERでもCMAKE_CXX_COMPILERでも、どこかで起こっていて、ビルドが失敗したときに、それらの変数を見つけることができませんでした。
NDKの後最近の更新CMAKEは壊れていました
何も機能しませんでしたが、https://developer.Android.com/ndk/downloads/older_releases からNDKをダウンロードして、NDKをダウングレードしました
local.propertiesのNDK DIR PATHを
ndk.dir=/Users/kathan/Library/Android/sdk/Android-ndk-r17c
そして、Gradleを同期するだけです。
チャームのように働いた
私の場合、NDK用の2つのインストールフォルダーがありました。 local.propertiesを正しいディレクトリを指すように更新する必要がありました。 NDKとbuild.gradle(上記の回答を参照)を更新し、再同期してからすべてが正常に機能しました。
ndk-bundleをインストールした後、ちょっと似たような問題に直面しました。エラーは次の方法で解決されました。
build.gradleファイル(モジュールレベル)に次のコードスニペットを追加します。
Android {
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "x86"
}
externalNativeBuild {
cmake {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}
}
}
}
注: build.gradleファイルにこの種のコードが既にある場合は、ここで言及するものの代わりに余分なabiFiltersがないことを確認してください。
また、追加したことを確認してください。
distributionUrl = https://services.gradle.org/distributions/gradle-4.6-all.Zip
in gradle/wrapper/gradle-wrapper.propertiesファイル。
ありがとう!ハッピーコーディング:)