安卓工作室 : Waiting for type "handshake" error for native modules

标签 android android-studio android-ndk

我最近更新到 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/

相关文章:

java - asynctask 重复运行时更改 url/ip

android - 找不到 Gradle DSL 方法 : 'packageNameSuffix()'

java - 如何在下载目录中创建文件夹(Android Studio)

android - 如何从 registerActivityResult 捕获 URI?

java - 如何在 JNI 中将 C 结构体来回传递给 Java 代码?

java - 我正在尝试将 Intent 放入我的应用程序中,以便我可以导航

android - Android 上的 YouTubePlayerFragment 不显示广告 - YouTube Android Player API

android - 如何从android中的soap响应中获取值?

c++ - 在 Android NDK 项目中使用我自己的预构建共享库

c++ - 是否可以跨 RTLD_LOCAL 加载的库合并 vtables/typeinfo 等弱符号?