很久没用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
编译
相关推荐
JNI 开发步骤详解 JNI(Java Native Interface)是 Java 语言访问本地代码的接口,允许 Java 应用程序与本地代码进行交互。下面是 JNI 开发的详细步骤: Step 1:环境搭建 首先,需要安装 Cygwin 和 Android NDK...
### Android JNI开发步骤详解 #### 一、简介 JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。在Android开发中,JNI主要用于调用C/C++编写的本地代码,这可以...
本教程将围绕"Android JNI开发步骤"展开,详细介绍如何在Eclipse环境中进行JNI开发。 首先,我们需要创建一个Android项目。打开Eclipse,选择"File" -> "New" -> "Android Project",填写项目名称和目标SDK版本,...
在嵌入式软件开发中,JNI起到了桥梁的作用,它连接了Java虚拟机(JVM)与本地(非Java)代码,使得开发者可以利用Java的便捷性与本地代码的高效性相结合,解决特定场景下的性能问题。 在嵌入式系统中,通常需要满足...
- `android之JNI开发步骤总结.doc`:这份文档很可能详细介绍了JNI开发的基本流程,包括创建本地方法、编写C/C++代码、配置Android.mk和Application.mk文件、编译链接、以及在Java代码中调用本地方法等步骤。...
3. **JNI开发步骤** - **创建本地方法声明**:在Java类中使用`native`关键字声明本地方法。 - **生成头文件**:使用`javah`工具从Java类生成包含C/C++函数原型的头文件。 - **编写本地代码**:根据生成的头文件...
### JNI编写步骤详解 #### 一、概述 JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言...通过以上步骤,可以完成从Java到C/C++的跨语言调用,从而充分发挥JNI在Android开发中的优势。
3. JNI开发步骤 - 创建Java类并声明native方法:在Java代码中,使用`native`关键字声明需要在C/C++中实现的方法。 - 编写JNI头文件:使用`javah`工具生成包含C/C++函数原型的头文件,该文件描述了Java native方法...
在开始之前,确保你已经安装了JDK,因为JNI开发需要用到javah工具。同时,还需要一个C/C++编译器,如GCC,用于编写和编译本地方法。 二、创建Java类 首先,我们需要创建一个Java类,声明一些将由本地方法实现的函数...
3. JNI开发步骤 - 创建Java类并声明本地方法。 - 编写本地方法的C/C++实现。 - 编译本地方法代码为动态链接库。 - 在Java代码中加载动态链接库。 - 调用本地方法。 4. 示例代码 - Java代码示例: ```java ...
JNI开发流程主要包括以下几个步骤: 1. **创建本地方法接口**:在Java源代码中定义一个本地方法,使用`native`关键字标记。这个方法没有具体的实现,它的作用是声明将要调用的C/C++函数。 2. **生成头文件**:使用...
二、JNI开发步骤 1. 创建本地方法声明:在Java类中,使用`native`关键字声明本地方法,但不提供实现。 2. 生成JNI头文件:使用`javah`工具(在Android SDK的build-tools目录下)根据Java源文件生成对应的C/C++头文件...
三、JNI开发步骤 1. 定义Java类和本地方法:在Java代码中声明native方法,并使用`System.loadLibrary("libraryName")`加载本地库。 2. 生成头文件:使用`javah`工具根据Java类生成包含本地方法声明的头文件(.h)。 ...
四、JNI开发步骤 1. 创建Java接口:定义本地方法签名,使用`native`关键字。 2. 生成JNI头文件:使用`javah`工具,根据Java类生成包含函数原型的头文件。 3. 实现C/C++代码:在生成的头文件中填写本地方法的具体实现...
2. **JNI开发步骤**: - **创建Java类**:首先,我们需要在Java层定义一个类,该类将包含本地方法声明。例如,我们可以创建一个名为`HelloJNI`的类,并声明一个本地方法`native void sayHello();`。 - **生成...
在这个"android JNI开发演示(串口收发)"项目中,我们将关注如何利用JNI实现Android设备上的串口通信。 串口通信是设备间数据传输的一种常见方式,常用于嵌入式系统和物联网应用。在Android平台上,由于操作系统对...
本文将详细介绍如何在 Android Studio 3.4 中配置 Android-JNI 开发基础,包括配置 NDK、编写 Native 方法、配置 CMakeLists.txt 文件等步骤。 首先,需要下载和配置 Android NDK。Android NDK 是一款用于开发 ...
2. **JNI开发步骤** - 创建`JNI`函数:在Java类中声明`native`方法,并使用`javah`工具生成对应的C/C++头文件。 - 编写C/C++代码:根据生成的头文件,实现具体的本地方法。 - 链接库文件:在Android.mk或...