JNI入门(一)
来源:互联网 发布:种子结构网络教研总结 编辑:程序博客网 时间:2024/06/07 22:33
本文主要介绍作者写demo过程中遇到的问题和注意事项,其他不作赘述,所用环境为 Android Studio 2.2.3,要生成so库文件还需要NDK和Cmake环境配置.
1.环境配置好后现在本地新建一个类,里面放一个 native方法,static 或 非static 这个无所谓,大致如下:
package com.jnitest.jni.nativetest2;public class JniUtil { static { System.loadLibrary("test2");//test2 是你生成的so文件的名字,这个在当前moudle 的gradle里面配置 } public static native String getJniString();}
2.生成头文件,直接打开as 的terminal终端,进入到mian文件夹下输入指令 : javah -d jni -classpath .F:\AndroidStudio-2.3\sdk2017\platforms\android-25\android.jar;F:\AS_Projet\JNITest\app\build\intermediates\classes\debug com.jnitest.jni.nativetest2.JniUtil 回车 然后就在main文件夹下生成jni文件夹,里面有一个 .h文件,在这个文件夹下新建一个c++ sourcefile , 注意 c++文件名最好和头文件名保持一致,内容如下:
#include <com_jnitest_jni_nativetest2_JniUtil.h>
JNIEXPORT jstring JNICALL Java_com_jnitest_jni_nativetest2_JniUtil_getJniString
(JNIEnv * env, jclass){
return env ->NewStringUTF("测试代码");
}
另外在gradle的defaultConfig 节点下配置:
ndk {
moduleName "test2" //对应上面的test2
abiFilters 'x86' //这个根据需要进行配置,我这里使用模拟器,内核是x86的,如果不配置,会默认生产所有的内核
}
3.然后在你想要操作的界面调用native 方法,最后在build 菜单下 make 当前moudle 编译完成后会在 当前moudle的build/intermidiates/ndk/x86/*.so 生成so文件,点击运行,就会在界面显示native 方法里面返回的"测试代码"字符串.
参考资料如下,在此感谢作者的分享:
http://blog.csdn.net/jiabailong/article/details/7986350
http://mt.sohu.com/it/d20170404/131987637_488164.shtml
http://www.cnblogs.com/kevin-chen/p/kevin-chen.html
- java JNI入门一
- JNI学习(一),入门
- JNI入门----(一)
- JNI入门(一)
- JNI入门之HelloWorld(一)
- JNI学习一(入门篇)
- jni入门学习笔记(一)
- jni入门学习笔记(一)
- jni入门学习笔记(一)
- Android JNI入门搭建环境(一)
- JNI 入门学习笔记(一)
- JNI之C语言(一)--快速入门
- 入门JNI需要知道的(一)
- JNI开发基础入门系列(一)
- android studio jni入门详解(一)
- JNI入门
- JNI入门
- JNI入门
- vs2015添加jQuery支持
- tensorflow freezen 实例
- Eclipse使用技巧总结
- 7.句子逆序
- 插入排序
- JNI入门(一)
- 利用keepalived构建高可用MySQL-HA
- gradle项目构建
- Rails中的 attributes 方法
- 【Java8源码分析】并发包-Semaphore
- SAP MM/PP/SD的区别与联系
- Hibernate SQL查询 addScalar()或addEntity()
- 虚拟机硬盘容量扩展以及分区挂载详细步骤
- h5 3D旋转立方体