#include
#include
JNIEXPORT void JNICALL JAVA_ConDll_open(JNIEnv *env,jobject obj);
生成的头文件中方法命名为java类的完整路径和方法,中间用下划线隔开。
注意:如果项目中调用现成的dll文件,我们必须知道C中方法的声明,并在java程序中创建对应的包结构,如果路径不对应...
分类:
编程语言 时间:
2015-05-28 23:16:57
阅读次数:
306
新建一个visualC++->win32项目点击生成->配置管理器新建一个64位debug位平台hello.cpp程序代码如下:#include"stdafx.h"
#include"jni.h"
#include"com_magc_jni_HelloWorld.h"
JNIEXPORTvoidJNICALLJava_com_magc_jni_HelloWorld_DisplayHello
(JNIEnv*env,jobjectobj..
分类:
其他好文 时间:
2015-05-18 21:11:06
阅读次数:
2416
从Zygote进程启动过程分析过程中,我们知道,dalvik虚拟机的启动过程是从AndroidRuntime::startVm(JavaVM**
pJavaVM, JNIEnv** pEnv)函数开始的,详细时序图如下:
下面我们来逐步详细地分析一下每个步骤。
1.startVm(AndroidRuntime.cpp)
/*
* Start the Dalvik Virtual...
分类:
其他好文 时间:
2015-05-08 16:32:47
阅读次数:
309
Java调用c++的核心是变量类型的转换,java的int与c++中的int是一样的,转换比较简单。而想java中的String,处理就复杂一些。JNIEXPORT jstring JNICALL Java_com_dd_lib_ChineseToPinyin (JNIEnv *env, jclas...
分类:
编程语言 时间:
2015-05-04 22:02:35
阅读次数:
133
很不明白JNI里面获取指针的顺序(可能这样描述不太恰当吧)。下面按照传入指针的顺序的代码一跑就崩溃。如下: 1 JNIEXPORT jint JNICALL Java_com_example_X_XX_XXX 2 (JNIEnv * env, jclass, jbyteArray databuf.....
分类:
其他好文 时间:
2015-04-16 19:41:51
阅读次数:
202
jni.h文件 : 了解 JNI 需要配合 jni.h 文件, jni.h 是 Google NDK 中的一个文件, 位置是 $/android-ndk-r9d/platforms/android-19/arch-arm/usr/include/jni.h ;1. JNIEnv 作用JNIEnv 概...
分类:
移动开发 时间:
2015-04-15 07:13:55
阅读次数:
214
(jstring与char*的转换)JNIEXPORT void JNICALL Java_command_Cmd_Command (JNIEnv * env, jobject o, jstring command) { char* t; t = (char*)e...
分类:
其他好文 时间:
2015-04-14 12:36:54
阅读次数:
165
1.关于JNIEnv和JavaVMJNIEnv是一个与线程相关的变量,不同线程的JNIEnv彼此独立。JavaVM是虚拟机在JNI层的代表,在一个虚拟机进程中只有一个JavaVM,因此该进程的所有线程都可以使用这个JavaVM。当后台线程需要调用JNI native时,在native库中使用全局变量...
分类:
其他好文 时间:
2015-04-13 20:43:52
阅读次数:
175
上一篇说的是一个简单的应用,说明JNI是怎么工作的,这一篇主要来说一下,那个本地方法sayHello的参数的说明,以及其中方法的使用首先来看一下C++中的sayHello方法的实现:[cpp]view plaincopyJNIEXPORTvoidJNICALLJava_com_jni_demo_JN...
分类:
编程语言 时间:
2015-04-13 20:40:37
阅读次数:
182
在网上能找到有关
“在Jni中通过 env->CallStaticVoidMethod去做callback的时候,总会挂掉 原因是JniEnv是和线程相关的,只能在对应创建的线程中使用 而JVM却是进程相关的,可以通过JVM来获取线程相关的JNIENV。”
关于这个的解决办法,能搜到的都基本一模一样。变量名都不带改的。
比如:http://blog.chinaunix.net/uid-215...
分类:
编程语言 时间:
2015-03-31 14:46:06
阅读次数:
147