编译Android NDK的C库时出现问题

时间:2011-08-30 15:27:12

标签: android-ndk

我需要一些建议。我正在尝试在我的Android应用中使用oRTP,这是一个C库。我有oRTP的来源。据我所知,我需要做的是使用ndk-build将oRTP编译成静态库。然后我需要在libortp周围编写一个C包装器,其中的函数根据JNI的约定命名。我需要知道的是:

  1. Android.mk文件here是否应该正确编译库?因为在它上运行ndk-build不起作用(没有输出,没有创建文件)。
  2. 上面概述的程序是否正确或是否有更简单的方法?

1 个答案:

答案 0 :(得分:1)

好的,搞定了。提供的Android.mk文件是正确的。如果您按原样使用它,它就不会做任何事情。您需要使用静态库编译一些东西,以便编译器执行某些操作。在我的情况下,我将下面的代码添加到Android.mk文件的底部。 rtpsendc.c是一个c文件,其代码使用libortp。

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)