Android NDK

很久之前做过android+jni+ndk的开发,但是现在都基本忘完了。所以稍微记录一下。

 

1. Eclipse中创建Android工程,及相应的代码啥的

2. 设置工程为支持Native code

左栏右击工程名,然后选择“Android Tools”-->"Native Support"

3. 在需要加载的地方的类中,使用如下代码

a) 静态载入 So 库

static {
 System.loadLibrary(libSoName);
}

注:libSoName这里是指你设置的lib的名字,而不是生成的文件名,如想要生成库为test,则生成的文件为libtest.so,而System.loadLibrary(libSoname)中应当写"test"。否则程序无法启动。

 b)  声明本地方法

public native String  getStringFromJNI();

c) 在需要的地方调用

调用本地方法

String mStrMSG = getStringFromJNI();

4. 代码写好之后,生成用于c开发的头文件

进入android的工程目录,然后进入bin/classes目录,执行命令

javah <包名>.<类名>

从而生成一个用于c文件引用的头文件,其中声明了相应的函数,如getStringFromJNI的原型。

5. 将生成的头文件复制到工程目录下的jni目录下,然后根据其中的声明,在cpp中对相应函数进行c/c++的实现。

6. 在工程目录下,使用ndk—build命令,生成动态链接库。

7. 直接打包、调试程序即可。

Android NDK,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。