【Android】NDK与SWIG

本文主要是《Android C++ 高级编程——使用 NDK》的笔记。 国内专门讲 NDK 的书籍寥寥无几,这本貌似是唯一一本翻译的,当然,国外还是有好几本关注 NDK 的书籍,但是都没有中文译本而已。

SWIG 基础

可以参考:

  1. 开发人员 SWIG 快速入门
  2. swig 官网

在 Android 中的使用

ubuntu 14.04 + eclipse

在 jni 文件夹中定义接口文件,SWIG 会基于此接口文件来生成相应的集成代码:

下面是接口文件 Unix.i:

%module Unix/* unistd.h 是 C 和 C++ 中提供对 POSIX API 支持的头文件 */%{#include <unistd.h>	%}typedef unsigned int uid_t;extern uid_t getuid(void);

这个时候可以直接调用 swig 来生成集成代码,

swig -java -package dev.xesam.ndk -outdir dev/xesam/ndk Unix.i

注意:outdir 一定要事先就存在