В Android ndk как создать несколько библиотек (.so) за один запуск сборки

#android-studio #android-ndk #android.mk #.so

#android-studio #android-ndk #android.mk #.so

Вопрос:

Как создать несколько файлов или библиотек .so за один запуск ndk-сборки, например, я опубликовал свой код:

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
  

это можно сделать или есть какой-либо другой способ сделать это. Спасибо

Ответ №1:

Вам нужно разделить вещи в вашем 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)
  

Нет необходимости APP_MODULES в Application.mk. Система сборки по умолчанию будет создавать все модули в вашем Android.mk.