Android.mk生成so库(openwnn输入法为例)

openwnn输入法下载地址

https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/openwnn-legacy/source-archive.zip

里面有个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 

再次执行

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章