2012-07-24 33 views
9

所以,我有一個小小的C庫。我想讓這個庫可用於在android(其他庫,本機應用程序等)中開發本機C代碼的其他開發人員。如何開發/將本機C庫移植到android?

什麼是最好的方式去?我還沒有太多線索,試圖弄明白這一切。

我讀過NDK有兩條路徑:使用Android.mk並使用create-standalone-toolchain - 這是正確的嗎?這些工作是如何進行的?有沒有第三種方法沒有NDK,現在應該使用NDK嗎?

** 這可能已經問過,但我知道的事情,因爲NDK的發佈已經改變,因爲很多帖子,我覺得似乎已經過時了。

+1

爲了澄清這個問題,第三句可能應該是:「我已經讀取NDK有兩條路徑:使用'Android.mk'並使用'create-standalone-toolchain' - 這是正確的嗎?「 – CommonsWare 2012-07-24 15:45:24

+0

@CommonsWare thx! – 2012-07-24 15:48:25

+0

單聲道怎麼樣:http://xamarin.com/monoforandroid? – 2012-07-24 16:37:16

回答

10

這個問題可以有一個巨大的答案,我會盡量做到儘可能簡短。

  1. 使用Android NDK,做一個新的Android項目,創建一個文件夾JNI,並創建一個Android.mk文件,在裏面,提出兩個庫,一個是你的lib下,導出爲一個共享庫和其他,將測試它的jniwrapper。 Here是一個例子,它是如何由一個人爲自己的自由而完成的。

  2. 您可以通過使用獨立的工具鏈編譯做出共享庫,here是關於這個問題的文章,並採取一看curl Readme for android,它說明了如何使用獨立的工具鏈編譯捲曲爲Android,我相信這是更好的方法來做到這一點,也更容易爲你,因爲你將使用交叉編譯器在一個普通的fasion ...