Android NDK入门

先进行cmake和ndk环境安装下载

首先我们在Android Studio 中创建一个Native C++的空项目,点击Next进入下一步

将会看到第二张图中的项目,我们可以选择熟悉的语言进行android应用层代码的编写


至此第一个ndk项目创建完毕。
接下来聊聊ndk相关的基础知识。
在旧版本的ndk项目中,项目中包含android.mk和application.mk来进行共享库的设计,编写的JNI代码使用NDK-Build来编译生成指定的so文件。
新版本中则引入了cmake交叉编译,cmake默认指定了ndk版本所以无需配置,去除了上面提到的mk文件以及NDK-Build。编译生成的文件路径也有所变化。cmake生成的so文件位于app文件夹中的Build目录下。如需要指定生成哪几种环境的so文件则需要在build.gradle中进行配置。


接下来展示cmake自动生成的CMakeLists.txt文件其中
cmake_minimum_required 指定了当前安装的cmake版本
project("ndkdemo")指定了cmake的项目名称
add_library(${CMAKE_PROJECT_NAME} SHARED # List C/C++ source files with relative paths to this CMakeLists.txt. native-lib.cpp)
构建共享库。可以创建多个共享库
target_link_libraries(${CMAKE_PROJECT_NAME} # List libraries link to the target library android log)链接到指定的库


接下来是java文件中的加载cmake项目以及命名NDK在java层的调用方法
static { System.loadLibrary("ndkdemo"); } 语句指定了需要加在哪个NDK项目
public native void stringFromJNI(String message);声明了NDK当中的方法


接下来在.cpp文件中编写C或者C++代码

由于当前只学习到基础变量,就大概讲一下,声明变量的几种方式上图中显示的很清楚,那么我们需要将java字符串传递过来需要使用到jstring,cmakeLists.txt文件中不支持直接给jstring类型赋值。以上就是学习的第一个NDK项目内容
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值