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

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以内随机数的实例

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

发布了5 篇原创文章 · 获赞 4 · 访问量 1410

猜你喜欢

转载自blog.csdn.net/qq_37435157/article/details/90321975