我最近更新到 Android Studio 3.6,在构建具有 C/C++ native 模块的应用程序时出现以下错误:
/CMakeLists.txt : C/C++ release|armeabi-v7a : Waiting for type "handshake".
Affected Modules: MyC++Module
我有一个 gcc 依赖项,因此我使用的是支持 gcc 的特定版本的 NDK。
从 build.gradle:
android {
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
ndkVersion project.ANDROID_BUILD_NDK_VERSION
从项目设置:
ANDROID_BUILD_MIN_SDK_VERSION=17
ANDROID_BUILD_TARGET_SDK_VERSION=28
ANDROID_BUILD_SDK_VERSION=28
ANDROID_BUILD_TOOLS_VERSION=28.0.3
ANDROID_BUILD_NDK_VERSION=17.2.4988734
当我从终端构建时会出现此错误:
C/C++ debug|armeabi-v7a : Failed to activate protocol version: Generator "Android Gradle - Ninja" not supported.
externalNativeBuild {
cmake {
cppFlags "-std=c++11"
arguments "-DANDROID_STL=gnustl_static",
"-DANDROID_CPP_FEATURES=rtti exceptions",
"-DANDROID_TOOLCHAIN=gcc",
"-GAndroid Gradle - Ninja"
}
}
最佳答案
这对我有用:
externalNativeBuild {
cmake {
cppFlags "-std=c++11"
arguments "-DANDROID_STL=gnustl_static",
"-DANDROID_CPP_FEATURES=rtti exceptions",
"-DANDROID_TOOLCHAIN=gcc",
"-GNinja"
}
}
不再支持“-GAndroid Gradle - Ninja”?
关于安卓工作室 : Waiting for type "handshake" error for native modules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61618705/