Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层。我简单地总结了一下,从Java层到Jni层,...
分类:
移动开发 时间:
2014-05-08 18:23:33
阅读次数:
453
NDK全称:Native Development Kit。
1、NDK是一系列工具的集合。
* NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
* NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”...
分类:
移动开发 时间:
2014-05-07 21:47:45
阅读次数:
613
JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
使用java与本地已编译的代码交互...
分类:
其他好文 时间:
2014-05-07 05:38:59
阅读次数:
422
在上一篇文章中介绍了JNI,以及java调用JNI,这篇讲一下 JNI调用java方法。
通过使用合适的JNI函数,你可以创建Java对象,get、set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函数。JNI通过ID识别域和方法,一个域或方法的ID是任何处理域和方法的函数的必须参数。
下表列出了用以得到静态(s...
分类:
编程语言 时间:
2014-05-06 22:49:22
阅读次数:
431
1)创建Java类文件,并定义Native方法,如JniTest类。
2)利用javac生成class文件,然后回到src目录,利用javah生成C/C++头文件,在这里要注意,javah命令要在包的根目录下调用,对应的类文件,必须是完整的类名,如下:
在Src目录:javah com.lms.jni.JniTest,在上面的截图,也可以看到javac之后,是回到src目录,再调用javah。
3)编写对应的C文件,如JniTest.c,在里面实现C/C++的方法,记得要放在jni文件夹下面。
4)编写An...
分类:
移动开发 时间:
2014-05-06 21:36:43
阅读次数:
500
1) setting the Project Options, Uses Permissions,
Wake lock = True2) Adding Android.JNI.PowerManager to the uses clause3) call:
AcquireWakeLock; // at...
分类:
移动开发 时间:
2014-05-05 11:29:06
阅读次数:
501
JNI Invocation API资料的学习笔记。...
分类:
Windows程序 时间:
2014-05-04 08:50:17
阅读次数:
1964
开发环境:操作系统: (uname -a output)Linux ubuntu
3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64
x86_64 GNU/LinuxJDK 版本 : (java -ve...
分类:
编程语言 时间:
2014-05-01 20:46:54
阅读次数:
565
一、java通过JNI调用DLL
//MyNative.java
public class MyNative{
static{
System.loadLibrary("MyNative");
}
public native static void HelloWorld();
public native String cToJa...
分类:
其他好文 时间:
2014-04-30 22:22:38
阅读次数:
404