在 Android 中 使用JNI
来源:互联网 发布:js td赋值 编辑:程序博客网 时间:2024/06/06 12:57
1、新建一个android工程
2、在工程目录下添加名为 jni 的文件夹(必须)
3、在jni文件夹下新建你的.c文件(我的叫Hello.c)
4、在jni文件夹下新建名字为Android.mk文件
4.1Android.mk文件中加入
LOCAL_PATH := $(call my-dir) //当前路径(如果你了解shell语言,应该可以很轻松的理解) include $(CLEAR_VARS) LOCAL_MODULE := Hello //要生成的.so库名 表示编译的动态库名称LOCAL_SRC_FILES := Hello.c //你的.c文件名字 表示源代码文件include $(BUILD_SHARED_LIBRARY)5、开始写 C 代码 (比较简单,返回一个字符串:hello world from c")
#include <string.h>#include <jni.h>jstringJava_com_example_testnndk_MainActivity_helloWorldFromC(JNIEnv* env, jobject obj){ //Java_包名_类名_方法名 char* str = "hello world from c"; return (*env)->NewStringUTF(env,str); }6、在android 项目的MainActivity 中编写代码
static { System.loadLibrary("Hello");//上面的.mk里生成的名字 } public static native String helloWorldFromC();
7、运行cygwin,输入命令cd .../jni,进入到.../jni目录。(进入到项目的jni目录)
输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)
8、在MainActivity中获取Hello.c输出的值
String s = helloWorldFromC();
0 0
- 在 Android 中 使用JNI
- 在android jni中使用log
- 在android jni中使用log
- JNI 在Android中使用System.loadLibrary()
- android----在JNI中如何使用ByteBuffer?
- 在Android Studio中使用Jni
- 在Android Studio中使用Jni
- 如何在Android Studio中使用JNI
- android中使用JNI
- Android中jni使用
- android 如何在JNI编程中使用logCat
- android ndk 开发之 在 应用程序中使用 jni
- Java基础知识JNI 在Android中使用System.loadLibrary()
- Android JNI(3) --在C代码中使用logcat
- Java基础知识JNI 在Android中使用System.loadLibrary()
- JNI在Android Studio 2.2中基本配置和使用
- 在Android下使用jni
- 在jni中使用Logcat
- 滑动退出Activity的两种方法
- mysql--基准测试
- jvm调优
- js中的setTimeout遇到的困惑
- 面试题-华为(16年)-约瑟夫环:每隔两个数删掉一个数...-4
- 在 Android 中 使用JNI
- 数据模型分析
- HTML基础认识
- 判断<a>标签跳转
- 题目1208:10进制 VS 2进制
- mysql存储过程_介绍_入门实例
- HoG 和PHoG (pyramid HoG)
- 适配器模式原理
- 事件分发机制小记 Android