Android Studio: Ожидание ошибки типа «рукопожатие» для собственных модулей - PullRequest
3 голосов
/ 05 мая 2020

Я недавно обновился до Android Studio 3.6, и при создании моего приложения, в котором есть собственные модули C / C ++, я получаю следующую ошибку:

/CMakeLists.txt : C/C++ release|armeabi-v7a : Waiting for type "handshake".
Affected Modules: MyC++Module

У меня есть зависимость ag cc, поэтому я с использованием специальной c версии NDK, которая поддерживает g cc.

Из 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"

            }
        }

1 Ответ

3 голосов
/ 05 мая 2020

Это сработало для меня:

    externalNativeBuild {
        cmake {
            cppFlags "-std=c++11"
            arguments "-DANDROID_STL=gnustl_static",
                      "-DANDROID_CPP_FEATURES=rtti exceptions",
                      "-DANDROID_TOOLCHAIN=gcc",
                      "-GNinja"

        }
    }

"- G Android Gradle - Ninja" больше не поддерживается?

...