ChinaUnix.net
相关文章推荐:

android jni 返回数组

周末调试一则jni程序,有一处是向java返回对象数组,但是总是出错,报错如下: # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8df0ed, pid=2260, tid=3168 # # Java VM: Java HotSpot(TM) Client VM (11.2-b01 mixed mode, sharing windows-x86) # Problematic frame: # V [jvm.dll+0xdf0ed] # # An error report file with more informati...

by tomqq - Java文档中心 - 2009-04-26 22:51:33 阅读(2172) 回复(0)

相关讨论

Java Native Interface Specification—Contents http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html android jni Tips http://blog.chinaunix.net/u1/38994/showart_1099466.html 一个jni下c和java程序范例 http://blog.chinaunix.net/u1/38994/showart_1100966.html 如何编写jni方法 http://blog.chinaunix.net/u1/38994/showart_1099528.html 本文来自ChinaUnix博客,如果查看原文请...

by web_surf - Java文档中心 - 2009-03-05 13:17:06 阅读(1696) 回复(0)

一。java中字符串的返回很容易,和其它如int类型没有什么区别,只是最后的时候需要做一下类型转换。 jniEXPORT jstring jniCALL Java_stringTest_displayString (jniEnv * env, jclass obj){ jstring jstr; char str[]="Hello World\n"; jstr=env->NewStringUTF(str); return jstr; } 给出java和c类型对应关系,以及String转换函数 Java类型 本地类型 字节(bit) boolean jboolean 8, ...

by sample0 - Java文档中心 - 2006-08-28 23:14:20 阅读(1836) 回复(0)

Java Native Interface (jni)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。jni 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。

1.从如何载入.so档案谈起

    由于android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual...

by zhengdong1987 - 移动操作系统 - 2011-12-21 08:41:40 阅读(603) 回复(0)

androidSDK中没有包括jni的支持,而且对如何支持jni也没有任何文档说明。不过既然整个android...

by aliounian - 移动操作系统 - 2011-12-21 08:41:27 阅读(622) 回复(0)

昨天做的,今天记录一下供同志们参考。 能够实现 java调用C APIC 调用java APIC 异步调用java API,用于C中做异步处理过程(例如信号处理句柄,异步事件处理)中需要回调java api的情况,示例为定时器异步处理调用java的情况。 下载android-ndk-1.5_r1-linux-x86.zip也就是 android 所谓的NDK, 下载地址以及配置方法见我其他的文章。 在 sources目录下做librfid目录,目录里边的文件拷贝自 sources/examples/tow-libs/进行修...

by iibull - 移动操作系统 - 2009-09-29 18:23:01 阅读(1560) 回复(0)

android的SDK中没有包括jni的支持,而且对如何支持jni也没有任何文档说明。不过既然整个android平台是开源的,我们可以通过Google发布的源代码来找到一些线索(比如frameworks/base/media/jni/目录),依葫芦画瓢的实现上层JAVA程序通过jni来调用Native C程序中的函数。 依照下面的步骤可以实现一个非常简单的jni的实例程序: 1. 首先编写C模块,实现动态库。(关于如何在android中编译C模块的更多细节,请参考《 android原生...

by yishuihe - 移动操作系统 - 2009-05-31 21:58:11 阅读(1135) 回复(0)

by figofuture - 移动操作系统 - 2011-12-22 08:51:07 阅读(1362) 回复(0)

android编译环境(1) - 编译Native C的helloworld模块 android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的android.mk. android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的android.mk来给android增加一个新的Compon...

by iibull - 移动操作系统 - 2009-06-19 09:31:40 阅读(1372) 回复(0)

android 的SDK中没有包括jni的支持,而且对如何支持jni也没有任何文档说明。不过既然整个 android 平台是开源的,我们可以通过Google发布的源代码来找到一些线索(比如frameworks/base/media/jni/目录),依葫芦画瓢的实现上层JAVA程序通过jni来调用Native C程序中的函数。 依照下面的步骤可以实现一个非常简单的jni的实例程序: 1. 首先编写C模块,实现动态库。(关于如何在android中编译C模块的更多细节,请参考《 Androi...

by goandroid - 移动操作系统 - 2009-05-11 11:41:03 阅读(1118) 回复(0)

说明: 1.我的测试平台winXP,JBuildX(jdk1.4.2_04),vs.net2003. 2.参照网上的代码修改的,按照原先代码的分析,多维数组和这种二维数组的实现方式类似,没有测试。 3.这里不再分析,二维数组就是Object的元素仍然是Object,然后递归地一层层访问Object 用到的函数: env->GetArrayLength(array) //得到数组长度 env->GetObjectArrayElement(array, i) //取得Object数组第i个元素 env->GetStri...

by sample0 - Java文档中心 - 2006-08-28 23:31:57 阅读(1793) 回复(0)