Android.mk生成so库(openwnn输入法为例)
openwnn输入法下载地址
里面有个jni文件夹 里面都c/c++相关代码 我们需要把它编译成相应的so库
其实很简单 只是我们很少在linux环境下自己去编译so库 特意记录了下
1.在linux环境下配置ndk环境
下载linux版本的 ndk 解压到一个目录 配置环境即可
配置环境
执行 vim ~/.bashrc
在此文件后面添加
NDKROOT=/ndk/android-ndk-r14b
export PATH=$NDKROOT:$PATH
2.在找到openwnn资源文件 jni目录下
在该目录执行ndk-build 命令
编译ndk 的时候,导致这种情况,原因在于ndk本地的版本比要编译的库的ndk版本高,提示有些依赖不在
可以这么解决:
1降低本地ndk 版本,但是,可能必须代价,譬如ndkr10 跟r14比较,少了c++11的写法,那么有些函数无法使用,譬如
std::to_string();等
或者,
2可以加上代码 (android.mk 或者application.mk)
APP_ALLOW_MISSING_DEPS :=true
再次执行