很久没用jni,今天用时报了个java.lang.UnsatisfiedLinkError: getVar异常郁闷很久百度搜也没找到答案,
最后发现居然是忘了写
static{ System.loadLibrary("hello-jni"); }
总结下步骤以防下次忘记
1.新建个类声明一个native方法并加载库
public class Constant { static{ System.loadLibrary("hello-jni"); } public native void getVar(String a,String b,String c); }
2.新建jni目录将Android.mk拷贝到jni并稍做修改
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := hello-jni LOCAL_SRC_FILES := hello-jni.c include $(BUILD_SHARED_LIBRARY)
3.生成java本地方法对应的c代码的方法名进入src
javah 全类名 生成的.h文件拷贝到jni目录
4.新建hello-jni.c文件
#include <stdio.h> #include <com_example_jni_Constant.h> JNIEXPORT void JNICALL Java_com_example_jni_Constant_getVar (JNIEnv *env, jobject obj, jstring a, jstring b, jstring c){ return; }
5.用Cygwin Terminal工具进入源代码工程目录 输入
$ cd /cygdrive/e/adt-bundle-windows-x86_64-20140702/lottery/ $ ndk-build
编译
相关推荐
Android JNI 开发 步骤 , 绝对详细
JNI开发步骤,简单理解JNI开发以及详细步骤。。。。。。。
这是一个jni开发的小例子,具体 的实现步骤在博客:Android关于JNI开发(1)-----eclipse工具开发。里面写的有。需要的朋友可以搜出来看一下。
JNI技术在嵌入式软件开发中应用学些笔记
在AndroidStudio2.3.2下JNI开发的详细步骤
结合网上的经验,个人自己总结下JNI的开发过程以及NDK环境搭建。 在windows环境下开发jni需要c/c++编译器的支持,网络上我看很多人使用...我使用GNUStep,此文件是在GNUStep的环境下解析JNI的开发步骤和NDK的配置方法的
Android调用JNI的简单实例(附详细步骤).zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
分步骤描述了android jni如实开发。
这是一个Android Studio开发的jni的小demo,具体的步骤,解释在我的博客中,有需要的朋友可以搜索来看一下。博客: Android关于JNI开发(2)-----Android Studio工具开发
网上有关在linux中讲android jni(ndk) eclipse开发环境的搭建的资料有很多,但大多都非常的繁琐,本来是简单的事情描述的却很复杂。下面结合我的实际把步骤写出来,其实很简单一步就可完成……
1.安装JDK 双击jdk-6u22-windows-i586.exe,只需要修改以下两个安装路径即可(最好把jdk1.6.0_22和jre6安装到同一个目录下,比如我都选择安到D:\java下),其它的不能动 ...新建 变量名:JAVA_HOME 变量值:D:\...
参考他人资料,并经过认真开发调试,然后总结出JNI开发精炼教程。按照教程步骤,可以迅速的掌握JNI开发技术。希望对JAVA开发人员有所帮助。
使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到使用gradle的方案,摸了几天,总算是摸清楚...
介绍android和c++之间的调用的jni技术。有详细的开发步骤,简单易懂。
Android Studio 通过JNI机制和 ndk开发的C/C++沟通的具体步骤 (以图像模糊化为例) 文章地址:http://blog.csdn.net/kpioneer123/article/details/51097239
Android NDK开发实例以及NDK开发步骤讲解
三、 嵌入式开发应用(JNI小例子) 20 1、 新增一个基础类 22 2、 定义新类继承基础类 23 3、 编写调用类 23 4、 新增两个本地方法 24 5、 修改 RunMain 类 25 6、 新增一个方法处理java对象 26 7、 新增一个方法处理...
近期通过研究SDL源码 得出Android JNI c/c++调用Java 无需新建虚拟机,这样省去很多步骤,这样调用Android JNI会变得非常容易,大家看下简单实例: 具体步骤如下 第一步获得:两个参数 JNIEnv和jclass void Java_...
在方法方面,详细介绍了JNI接口的定义、C语言编写本地方法以及Java代码调用本地方法的步骤。通过JNI接口可以在Java代码中调用本地方法,并将参数和返回值传递给本地方法。在C语言中编写本地方法时,需要注意函数名、...