前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Studio下的JNI开发(二):C/C++代码编写与编译

Android Studio下的JNI开发(二):C/C++代码编写与编译

作者头像
非著名程序员
发布2018-02-02 15:03:58
8890
发布2018-02-02 15:03:58
举报
文章被收录于专栏:非著名程序员非著名程序员

前一篇简单介绍了Android Studio环境下NDK的配置,本篇将通过一个简单的例子,介绍Android Studio中C/C++代码的编写与编译。

下面我们通过一个例子,在native层实现字符串的拼接。

一、添加native方法

首先我们新建一个类,例如取名叫"JniUtil",然后新建一个native方法,用来实现字符串拼接,如下图:

二、生成头文件

1. 生成class文件

Build一下工程,Build成功后,会在app\build\intermediates\classes\debug目录下会自动生成所有类的class文件,如下图:

2. 在Terminal中切换到debug目录

在Android Studio上找到Terminal标签页,然后通过命令切换到app\build\intermediates\classes\debug目录。

3. 生成头文件

通过"javah -jni"命令,生成头文件,我们要生成com\samonxu\jnitest目录下的JniUtil.class文件对应的头文件,命令如下图所示:

我们就会发现,debug目录下多了一个.h文件。

若查看这个.h文件的内容,你会发现我们在JniUtil类中定义的native方法对应的C/C++函数,在头文件中已经声明好了。

然后我们将这个.h文件复制到我们的jni目录下。

记得在Terminal中退出到主目录,否则Rebuild工程的时候,无法执行clean操作。

三、实现头文件中声明的函数

在jni目录下,新建一个.c文件,例如取名叫"jnitest.c";

编写代码,实现函数Java_com_samonxu_jnitest_JniUtil_append()

四、调用native方法

首先在JniUtil类中添加一段static的代码,加载我们的.so库。

然后创建个Activity,调用append()方法,将"abc"和"123"的拼接结果显示到一个TextView上。

五、编译运行程序

编译并运行程序,结果如下图:

至此,一个简单的JNI程序就完成了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非著名程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档