Using my own prebuilt shared library in an Android NDK project

20,113

In the documentation of Android.mk, check the PREBUILT_SHARED_LIBRARY script description. Put the .so file in lib (not libs) directory and write an Android.mk file next to it that looks something like:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := Myaccessories
LOCAL_SRC_FILES := libMyaccessories.so
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../jni/include

include $(PREBUILT_SHARED_LIBRARY)
Share:
20,113
CuriousGeorge
Author by

CuriousGeorge

Updated on July 24, 2022

Comments

  • CuriousGeorge
    CuriousGeorge almost 2 years

    I came across this post that is almost what I need:

    How to compile a static library using the Android NDK?

    Basically, there are certain parts in my project that are never updated, so I am trying to avoid having them built every single time I update the Android.mk file to add something.

    The above answer shows how to get some of the code built into a separate static lib, but when I try to pre-build the above code in a separate Android.mk file, It won't build by itself. This seems a little redundant... If I have to build them both at the same time, then what's the point of making a separate static lib anyways?

    And if I change Android.mk in the separate project to read:

    include $(BUILD_SHARED_LIBRARY)

    and include it like this in the main project:

    LOCAL_SHARED_LIBRARIES := libMyaccessories.so

    then I get unresolved reference to(function name), probably because it can't find the shared lib(which is in the calling path)

    Can anyone help me out with this?

  • CuriousGeorge
    CuriousGeorge almost 13 years
    thanks. I used the other post to make ndk build the static libs, foudn the static libs and moved them into the local dir, then swapped out the build_static_lib for the part above, and everything is peachy =)
  • ESV
    ESV about 12 years
    After you download the Android NDK, the Android.mk documentation is in docs/ANDROID-MK.html. See developer.android.com/sdk/ndk/overview.html#docs
  • Jeegar Patel
    Jeegar Patel about 12 years
    @ESV i have did the same but still its not working see stackoverflow.com/questions/10106965/…
  • Sreekanth Karumanaghat
    Sreekanth Karumanaghat almost 12 years
    there is no lib in my file hierarchy...can you help me with respect to this?