问题: Your project contains C++ files but it is not using a supported native build system.解决方法

问题出现:

将eclipse项目导入android studio后由于项目中有用到jni层中的东西,在将一系列可见错误解决后运行APP出现了标题中所述问题。

1、网上最常见的解决方案

参考链接
一、在项目的gradle.properties添加

android.useDeprecatedNdk=true

二、在module的build.gradle(Module:app)的buildTypes上面添加sourceSets属性

sourceSets {
main {
jni.srcDirs = []
}
}

buildTypes{
}

可是软件开发时与时俱进的,上述解决方案中的方法已过时,第一步中的语法被废除

于是乎仔细看了一下问题描述,猜测可能是由于没有将项目使用gradle脚本与c++中的cmake脚本进行连接。之前只是把cmake文件复制进了项目。
于是乎寻找该问题的解决方法

2、为项目添加c++支持

参考链接

为项目添加c++支持不仅可以在创建项目的时候添加,还可以为已有项目添加c++支持。上面解决的是 android.mk 及下图所示使用ndk-bulid 编译
在这里插入图片描述
而笔者发现使用cmake也行,于是下面贴出步骤
基本与上面步骤一致
原因:

1. 没有创建Android.mk文件进行库文件配置;

    2. 没有把Android.mk文件添加到项目中;

解决方法:

1.切换到Android视图
在这里插入图片描述

2.选择项目或模块,右击,选择Link C++ Project with Gradle

在这里插入图片描述
3.在Build System中选择cmake,并在Project Path添加CmakeLists.txt路径
在这里插入图片描述
添加完成后再运行,就不会报错了

参考https://blog.csdn.net/gengkui9897/article/details/86350598
https://blog.csdn.net/SweetTool/article/details/71436575