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 

再次執行

 

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