【android studio】添加C/C++支持的两种方式(cmake)

本文介绍了在Android项目中添加CMake支持的两种方法。一是创建项目时添加,在Android Studio初始界面选择Native C++;二是创建完普通项目后添加,需设置app/build.gradle、创建CMakeLists.txt并进行gradle sync build同步,还给出了简单实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建项目时添加

首先在AndroidStudio初始界面Start a new project
在这里插入图片描述
接着直接点击 Native C++
在这里插入图片描述
之后可以设置C++的标准,我们选择Default在这里插入图片描述

在/app/src/main/cpp下是自动生成的native-lib.cpp,在这里实现native方法

2、创建完普通项目再添加支持

如果嫌它总是会自动生成一些不是想要的东西(native-lib.cpp),你还得自己删除,显得累赘
于是我们着手自己添加C/C++支持
一样,点击普通项目生成
在这里插入图片描述
这是项目结构
在这里插入图片描述

设置app/build.gradle

打开app下的build.gradle

defaultConfig{}里添加

externalNativeBuild{
	cmake{
		cppFlags ""//这里选择cpp设置 
		//如果要添加C++11支持就是 cppFlags "-std=c++11"
	}
}

android{}里添加

externalNativeBuild{
	cmake{
		path "CMakeLists.txt"
		//相对于build.gradle的路径,如果是同一个目录,直接写"CMakeLists.txt"(完全一致),如果在当前目录xxx下
		//则为"xxx/CMakeLists.txt"
	}
}

在这里插入图片描述

创建CMakeLists.txt

和刚才说的一样,创建的位置要和path里写的一致
我选择创建在app下

在这里插入图片描述
注意 log和库不要写反,是把log链接到libMyLib(因为自己的类是SHARED本身并不包含log的实现)
用add_library创建自己的库,第一行名称,第二行类型,第三行是相对路径(可以随便写,要保持一致)
target_link_libraries是链接log库与我的库到程序中
具体可以看 cmake学习笔记之add_library、target_link_libraries和link_directories

gradle sync build同步

在这里插入图片描述
每次修改配置文件都会出现这个提示,点击Sync Now就可以了
再看项目目录,蓝色文件夹(如java)表示已添加进项目
在这里插入图片描述
可是cpp文件夹还是灰的怎么办
别急,点击菜单栏,按顺序执行
1、Build->Rebuild-> Rebuild Projects
2、Build->Rebuild-> Linked C++ Projects

可以看到cpp已经变蓝了
在这里插入图片描述
试着在MainActivity中添加本地方法并在main.cpp里添加一个实现
这里是布局文件
在这里插入图片描述
主类
在这里插入图片描述
cpp文件
在这里插入图片描述
一个简单的实现10以内随机数的实例

这是摔坑好几次总结出来的

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值