使用SWIG自动生成JNI代码

1.SWIG是一个编译时软件开发工具,它能生成将用C/C++编写的原生模块与包括Java在内的其他编程语言进修联接的必要代码。
2.下载SWIG:http://www.swig.org/download.html
3.创建新工程,项目右键找到Android tool->add native suppot
4.编写工程jni\Unix.i代码,并在src创建com.lin.swig包

%module Unix  

%{  
#include <unistd.h> 
%}  

typedef unsigned int uid_t;  

extern uid_t getuid(void);

5.使用SWIG生成JNI代码
5.1方法一:命令行方式
①需要配置环境,把swig目录添加到path中
②cd到达工程目录,然后执行swig -java -package com.lin.swig -outdir src/com/lin/swig jni/Unix.i
5.2方法二:使用eclipse的external tool configurations
使用SWIG自动生成JNI代码_第1张图片
②参考:http://www.2cto.com/kf/201503/385756.html
6.项目右键刷新工程
7.需要加载库,名称在Android.mk文件LOCAL_MODULE := NdkTest

static {
        System.loadLibrary("NdkTest");
    }

8.采用 Unix类调用相应方法:Unix.getuid()
9.eclipse 如何让c++不报错,让工程正常运行
可以选择工程->右键->选择工程属性(properties),然后选择C/C++ General下面的code Analysis,把没有必要的字符和定义检查项去掉
使用SWIG自动生成JNI代码_第2张图片
10.参考:http://blog.csdn.net/hai836045106/article/details/39371777

你可能感兴趣的:(jni)