本文主要是《Android C++ 高级编程——使用 NDK》的笔记。 国内专门讲 NDK 的书籍寥寥无几,这本貌似是唯一一本翻译的,当然,国外还是有好几本关注 NDK 的书籍,但是都没有中文译本而已。
SWIG 基础
可以参考:
- 开发人员 SWIG 快速入门
- 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 一定要事先就存在