2012/11/11

使用Android Toolchain產出Static Library

這篇完全是經驗分享

NDK資料夾中docs/STANDALONE-TOOLCHAIN.html 這份文件中有提到如何使用Android NDK提供的toolchain
且一開始有提到用toolchain的好處
"This can be useful if you already have your own build system, and only need to ability to invoke the cross-compiler to add support to Android for it."
這次會試這個部分也是因為要將別人做的static library移到android上

另外主要作法我是參考下面這篇(STANDALONE-TOOLCHAIN.html  第三點)

以下是我以NDK r8來執行的結果

產出Android Toolchain

該篇文章的排版有點問題  make-static-library.mak  照copy來用沒辦法過
熟make用法的可以自己處理  像我不熟的可以抓下面的檔案

編譯測試
這樣就完成了一個static library



當然實際情況沒有那麼輕鬆
在編譯openssl這個library時
跑 ./Configure
然後執行make 後  
雖然產出了我想要的兩個 static library  
但卻不能夠用
只好再去抓別人處理好的openssl
看了這個程式庫的設定
個人覺得使用toolchain時還是要針對android部分下對CFLAGS才行
另外可能需要視情況修改CC CPP AR  RANLIB等執行檔的位置

另外android NDK一直都有一個狀況是其他平台標準程式庫提供的方法有小部分是不支援的
這次遇到的是pthrad的取消方法不支援  
如下面連結提到的
還好後來說那部分沒有用到 
不過在程式撰寫時需要注意

沒有留言 :