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
再次執行