Search code examples
android-studioandroid-ndkandroid.mk.so

In android ndk how to create multiple library(.so) at one build run


How to create a multiple .so file or library in a single ndk-build run For example i have posted my code:

build.gradle:

ndk {
moduleName = [“native-lib”,”MyLibrary”]
}

sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir “src/main/libs”
}

Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := native-lib
LOCAL_MODULE := MyLibrary
LOCAL_SRC_FILES := native-lib.cpp
LOCAL_SRC_FILES := MyLibrary.cpp
include $(BUILD_SHARED_LIBRARY)

Application.mk:

APP_MODULES := native-lib
APP_MODULES := MyLibrary

APP_ABI := all

is this can be done or is there any other way to do this. Thanks


Solution

  • You need to split things up in your Android.mk:

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    LOCAL_MODULE := native-lib
    LOCAL_SRC_FILES := native-lib.cpp
    include $(BUILD_SHARED_LIBRARY)
    
    include $(CLEAR_VARS)
    LOCAL_MODULE := MyLibrary
    LOCAL_SRC_FILES := MyLibrary.cpp
    include $(BUILD_SHARED_LIBRARY)
    

    There's no need for APP_MODULES in Application.mk. The build system will default to building all the modules in your Android.mk.