资料网站:http://software.intel.com/en-us/articles/ndk-android
Android处理分为arm,arm-v7a,x86处理器,市面上主要流行的是arm的处理器,如果想要通过NDK生成so库来引用C层的代码,也许需要去生成不同处理器的SO库。
一般情况下,我们会借助于cygwin这个工具去编译so库,如果没有安装cygwin的话,同时可以直接在NDK目录进行编译。
这里,我是直接同时编译这三种处理器的so库:
第一种是在你的工程目录里面配置一个Application.mk文件,这个文件里面的内容是APP_ABI := armeabi armeabi-v7a x86,这段话表示你可以同时生成三个处理器的so库,有的人说是在Android.mk文件进行配置,经过我的测试那种方式是不行的,现在我就借用NDK环境里面的demo去进行测试,接下来看我如下的命令
因为我的NDK安装在F盘,首先,通过DOC的cmd命令进入到工程里面,如图,
第二步:使用命令进行编译,如图
如果在编译的时候出现失败的话,那么就需要C层开发人员去移植了,因为不同的处理器,处理精度不一致,导致编译失败
接下来,我们去看下结果如何
生成了三种处理器的so库,都存在的。其实第二步的命令可以使用这个命令去替代Application.mk文件
如果你是借助于cygwin工具的话,那么需要通过linux命令切换到工程目录,然后执行$NDK/ndk-build命令,这种方式也是可以的,一般常用的是借助于cygwin方式