问题: 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Erorrs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值