2014-02-05 73 views
0

我正在嘗試將文件從https://bitbucket.org/kunstmusik/fluidsynth-android編譯爲.so文件。來自這個網站的文件是.c和.h,它們都有包含文件。我已經安裝ndk,配置它。fluidsynth庫文件編譯爲android中的.so文件

  1. 我創建Eclipse的一個新項目
  2. 創建JNI的文件夾,並從網站中的文件複製到該文件夾​​
  3. 在JNI文件夾命令提示符下,我發出的命令NDK建造NDK_PROJECT_PATH =。 APP_BUILD_SCRIPT =/Android.mk。這樣運行時沒有錯誤

在/ obj/local /文件夾中,文件是在fluidsynth-andriod文件夾中使用.o和.d創建的。在armeabi和aremabi-v7a中也有一個.a文件。我假設.a是一個靜態庫。我需要創建一個.so文件嗎?我是否需要將c/C++鏈接到java。如果是的話,我該怎麼做。

請幫忙...

回答

2

我自己也遇到了同樣的問題。包含在fluidsynth-android代碼中的Android.mk文件包含行

include $(BUILD_STATIC_LIBRARY) 

這就是導致生成.a文件的原因。

如果您更改爲

include $(BUILD_SHARED_LIBRARY) 

你會得到.so文件,而不是.a文件。