Android.mk variable to link system or external library during compilation

LOCAL_LDLIBS

This variable contains the list of additional linker flags for use in building your shared library or executable. It enables you to use the -l prefix to pass the name of specific system libraries. For example, the following example tells the linker to generate a module that links to /system/lib/libz.so at load time:

LOCAL_LDLIBS := -lz

Using this, LOCAL_LDLIBS variable you can also specify the path to the library, for example, your library libmylibrary.so resides in path /home/myuser/android/mylibrary/lib/libmylibrary.so, the you can use below code to link this library,

LOCAL_LDLIBS := -L/home/myuser/android/mylibrary/lib/

Example Android.mk might look like below,

 $ vim Android.mk 
[bash] include $(CLEAR_VARS) LOCAL_LDLIBS += -llog -lz LOCAL_STATIC_LIBRARIES := libavformat libavcodec libpostproc libswscale libavutil libx264 libswresample LOCAL_C_INCLUDES += $(LOCAL_PATH)/ffmpeg LOCAL_SRC_FILES := FFNewChunkedAudioVideoEncoder.c LOCAL_CFLAGS := -march=armv7-a -mfloat-abi=softfp -mfpu=neon LOCAL_MODULE := FFNewChunkedAudioVideoEncoder include $(BUILD_SHARED_LIBRARY) [/bash]

Reference – https://github.com/OpenWatch/ClientExperiments-Android/blob/master/jni/Android.mk

Reference : http://developer.android.com/ndk/guides/android_mk.html

Follow Lynxbee Posts with Google News

Leave a Comment