2010-07-16 14 views
2

我有一個跨平臺的C庫,我需要爲Android編譯爲* .so文件。該庫由許多.c和.h文件組成,它使用autotools作爲buid系統。 (./configure & & make dep & & make)。 Afaik,這個庫不依賴於libc和OpenSSL(它應該出現在Andriod上)以外的其他庫。爲Android編譯基於自動工具的共享C庫的最簡單方法?

我試圖找到最簡單的(讀取速度最快的條款或不需要閱讀成千上萬的手冊頁,然後應用嘗試& &失敗蠻力的方法來完成任務)獲取庫關閉的方式我機器以源代碼的形式出現,並以.so的形式放入Android手機中。該庫最終將從Java的本地庫接口訪問。爲了開發,我的桌面上同時安裝了Windows和Debian機器。

回答

0

我們最終手動創建了一個包含所有必需文件的Android NDK項目。

1

如果你很幸運,並且自動滾動的項目設置正確,你可以通過運行進行交叉編譯(這個例子是使用mingw交叉編譯windows,我不知道Android的前綴是什麼):

然後
./configure --host=i586-pc-mingw32 

這將設法找到與編譯器的i586-pc-mingw32-前綴,所以i586-pc-mingw32-gcc將可能是第一個發現並使用。對於你的Android開發工具包,看看你的編譯器二進制文件是什麼,並從中猜測主機的價值。