发现最近记忆力非常差,估计和压力大有关系。今天在阅读《Android C++高级编程》这本书的时候,写了一个小的demo来利用SWIG工具来自动生成必要的JNI封装代码来简化
Android c/c++项目的开发过程的 。在这里做个总结吧,和大家分享,也便于我今后忘记时快速回忆。毕竟好记性不如烂笔头!
1.什么是SWIG(Simplified Wrapper and Interface Generator)?
SWIG是一个编译时软件开发工具,它能生成将用C/C++编写的原生模块与包括Java在内(这里我们实际上只是验证了和java)编程语言进行关联的必要代码。
SWIG不仅是一个代码生成器,还是一个接口编译器。
SWIG把接口文件看做输入,并生成必要的代码,在Java中展示接口,从而让Java能够理解原生代码中接口的定义。
对于上面关于SWIG工具的介绍如果你感觉到生涩难懂,别着急,继续往下看,通过实例我想你会明白上面提到的“接口”,“C/C++封装”这些名词的含义的。
2.安装
ubuntu下安装很简单,因为我这里就是在ubuntu下安装的,因此就只介绍这一种环境下的安装:
sudo apt-get install swig3.试用SWIG
这一部分将通过一个具体的实例来介绍和试用SWIG。
我们要做一下几件事情:
写一个SWIG接口文件以向Java展示getuid函数;
将SWIG集成到Android构建过程中去;
将SWIG生成的源文件加入到Android.mk构建文件中;
用SWIG生成的代理类查询getuid函数;
在通过模拟器显示结果。
4.什么是接口文件?
SWIG接口文件包含函数原型、类、和变量的声明,它的语法和普通的C/C++头文件的语法是一

 
                   
                   
                   
                   本文介绍了如何使用SWIG工具在Android NDK项目中自动生成JNI封装代码,简化C/C++接口与Java的交互。通过创建接口文件,调用SWIG,将SWIG集成到构建过程,以及修改运行示例,详细阐述了整个流程。
本文介绍了如何使用SWIG工具在Android NDK项目中自动生成JNI封装代码,简化C/C++接口与Java的交互。通过创建接口文件,调用SWIG,将SWIG集成到构建过程,以及修改运行示例,详细阐述了整个流程。
           最低0.47元/天 解锁文章
最低0.47元/天 解锁文章
                           
                       
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   6100
					6100
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            