android环境下cdt的安装和NDK的配置也就不说了,有很多这样的博客文章进行讲解,现在我要说的就是通过JNI来调用C函数和C++函数。
首先,新建普通的android程序。我们姑且命名为JNITest
新建完成之后,即为普通的android项目
现在就开始我们的JNI之旅:
(一)、JNI调用C函数
1:在项目目录下新建一个jni文件夹如图
2:在jni文件夹下新建一个.c文件,姑且命名为hello.c
3:键入以下代码(后面会有讲解)
#include <jni.h>
jstring Java_com_example_jnitest_MainActivity_HelloJni(JNIEnv *env,jobject obj)
{
return (*env)->NewStringUTF(env,"Hello World!!");
}
备注:
(1)、头文件 #include <jni.h>
该头文件位置定义在android-ndk-r9c\platforms\android-5\arch-arm\usr\include目录下
含有以下方法:
jstring (*NewString)(JNIEnv*, const jchar*, jsize);
jsize (*GetStringLength)(JNIEnv*, jstring);
const jchar* (*GetStringChars)(JNIEnv*, jstring, jboolean*);
void (*ReleaseStringChars)(JNIEnv*, jstring, const jchar*);
jstring (*NewStringUTF)(JNIEnv*, const char*);
jsize (*GetStringUTFLength)(JNIEnv*, jstring);
(由于文字限制,下一篇接着讲解)
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
android配置ndk,使用swig编译生成jni Java接口调用c++方法。这是成功的例子,前提是你要配置一下你的环境变量。如有疑问,可以去查看我的博客。有相关内容。
简单的使用android中使用jni调用c++的代码
《Android:JNI调用C++自定义类的详细方法》源码,具体参考:https://blog.csdn.net/chaoqiangscu/article/details/83023762
具有实现AES256位加密的C++代码,Application.mk Android.mk文件,JNI头文件和cpp文件。以及使用示例
以上append方法就是要调用c++/c中的方法。 JniTest是在Android.mk里约束好的,关于Android.mk的编写具体在后面详解。 3、使用javah -jni生成.h文件 编写好jni加载类之后,就要开始生成.h文件了,此文件相当于一个...
JniTest.rar Android Java JNI 调用C++ Eclipse
Android JNI 断点调试C++,一个简单测试,方便初学者入门NDK环境搭建和java调用c++并调试
android jni使用java、c c++相互调用
这是一个在Android studio上写的一个Android 使用jni调用c代码的例子,详情请看我的博客地址:http://blog.csdn.net/qq_27512671/article/details/51149912
android jni 调用本地函数 c++ 格式 完整代码
在VS2013中使用JNI进行JAVA和C++之间的互调,这两个文件只是项目中的一部分,仅供参考
通过jni完成java调用c/c++,包含c/c++生成Dll动态库
Android调用C++函数的DEMO.结合博客中的文章来看会更好
Android-JNI完整工程,实现c调用java和java调用c
研究了很久,也看了Qt on Android,试了很多例子,都不能用(很可能是Qt和Android更新换代太快,很多旧的东西不能用了,所以做了这个例子。
Android JNI/NDK开发(2)JNI实现C/C++与Android/JAVA相互调用 http://blog.csdn.net/u014702653/article/details/71141423
Android NDK jni使用,包括java调用,脚本编写,和C++代码实现
Android Studio3.0开发JNI流程,C++调用Java以及Java调用C++,C++/Java互相调用一个简单案例
Android的jni的调用C,C++的几个应用(基本类型,数组,类(结构体))