ndk注册native方法关联
来源:互联网 发布:linux循环 编辑:程序博客网 时间:2024/05/21 18:44
java 代码
package com.jni;public class JavaHello {public static native String hello();static {// load library: libtest.sotry {System.loadLibrary("test");} catch (UnsatisfiedLinkError ule) {System.err.println("WARNING: Could not load library!");}}public static void main(String[] args) {String s = new JavaHello().hello();System.out.println(s);}}
c代码
#include <stdlib.h>#include <string.h>#include <stdio.h>#include <jni.h>#include <assert.h>JNIEXPORT jstring JNICALL native_hello(JNIEnv *env, jclass clazz){printf("hello in c native code./n");return (*env)->NewStringUTF(env, "hello world returned.");}#define JNIREG_CLASS "com/jni/JavaHello"//指定要注册的类/*** Table of methods associated with a single class.*/static JNINativeMethod gMethods[] = {{ "hello", "()Ljava/lang/String;", (void*)native_hello },//绑定};/** Register several native methods for one class.*/static int registerNativeMethods(JNIEnv* env, const char* className, JNINativeMethod* gMethods, int numMethods){jclass clazz;clazz = (*env)->FindClass(env, className);if (clazz == NULL) {return JNI_FALSE;}if ((*env)->RegisterNatives(env, clazz, gMethods, numMethods) < 0) {return JNI_FALSE;}return JNI_TRUE;}/** Register native methods for all classes we know about.*/static int registerNatives(JNIEnv* env){if (!registerNativeMethods(env, JNIREG_CLASS, gMethods, sizeof(gMethods) / sizeof(gMethods[0])))return JNI_FALSE;return JNI_TRUE;}/** Set some test stuff up.** Returns the JNI version on success, -1 on failure.*/JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved){JNIEnv* env = NULL;jint result = -1;if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) {return -1;}assert(env != NULL);if (!registerNatives(env)) {//注册return -1;}/* success -- return valid version number */result = JNI_VERSION_1_4;return result;}
0 0
- ndk注册native方法关联
- JNI搭建:native方法注册或NDK中的方法对应
- JNI搭建:native方法注册或NDK中的方法对应
- JNI搭建:native方法注册或NDK中的方法对应
- Android NDK系列(6) — 动态注册native方法
- Android JNI初步☞Java方法和native方法关联
- Android NDK入门(三)-- native代码的调试方法
- Eclipse关联ndk-build(自建Builder方法)
- Eclipse关联ndk-build(自建Builder方法)
- Android注册native函数和jave方法的对应关系
- 安卓 jni 开发之 native 方法的动态注册
- JNI动态注册native方法及JNI数据使用
- Android Studio Jni开发(三)Native方法动态注册
- NDK示例:native-activity
- 动态注册native函数
- 注册文件类型,关联文件
- 注册文件关联
- NDK开发历程(一):android native code的调试方法
- [kuangbin带你飞]专题八 生成树 B
- Ubuntu 16.04主题美化和软件推荐
- 【Reversing.kr】Replace.exe
- 三月英语—不放弃!
- 【win32】标记菜单与对话框背景色
- ndk注册native方法关联
- Unstaisfiedlink error load jni.so failed
- jtopo文字换行
- 快速排序-《算法导论》学习笔记七
- 进口商贸易融资工具:减免保证金开证
- 多对多关系的处理办法
- 对原生组件开发的一点想法
- powderdesigner的基本使用所遇问题
- 使用JDBC操作数据库(Oracle,Mysql,SQLSERVER)