2011-08-30 156 views
1

我需要一些建議。我正在嘗試在我的Android應用中使用oRTP,這是一個C庫。我有oRTP的來源。據我所知,我需要做的是使用ndk-build將oRTP編譯成靜態庫。然後我需要編寫一個圍繞libortp的C封裝,其中函數根據JNI的約定命名。我需要知道的是:爲Android NDK編譯C庫的問題

  1. Android.mk文件here是否應該正確編譯庫?因爲在其上運行ndk-build不起作用(沒有輸出,沒有創建文件)。
  2. 我上面列出的程序是正確還是有一個更簡單的方法?

回答

1

好的,讓它工作。提供的Android.mk文件是正確的。如果你按原樣使用它,它就不會做任何事情。你需要使用編譯器的靜態庫來編譯某些東西。在我的情況下,我將下面的代碼添加到Android.mk文件的底部。 rtpsendc.c是一個包含使用libortp的代碼的c文件。

include $(CLEAR_VARS) 
LOCAL_MODULE := ortpwrapper 
LOCAL_SRC_FILES := rtpsendc.c 
LOCAL_STATIC_LIBRARIES := ortp 
LOCAL_C_INCLUDES += \ 
     $(LOCAL_PATH) \ 
     $(LOCAL_PATH)/include 
LOCAL_LDLIBS := -llog 

include $(BUILD_SHARED_LIBRARY)