Android NDK использует библиотеки libs / drivers (так)

1

В настоящее время я разрабатываю приложение для Android, которое предоставляет различные настройки звука. Я использую систему Android, подготовленную кем-то другим, и она предоставляет (я вижу в исходных и скомпилированных файлах) некоторые методы, которые могут быть полезны для меня. Например, есть (kernel/drivers/audio/audio.c) некоторые методы для изменения диапазонов (для эквалайзера). В скомпилированной системе есть файл audio_setting.so в некотором звуковом каталоге на ядре. Есть ли возможность использовать эти методы (библиотеки) в моем приложении NDK? Я не хочу компилировать мое приложение со всей системой, а не динамически добавлять эту библиотеку.

редактировать:
Это было проще, чем я думал. Я использовал:

void *some_lib;
bundlewrapper = dlopen("some/path/some_lib.so", RTLD_LAZY);
if ( some_lib!= NULL ) {
    LOGV("Loaded lib\n");
    // use methods from lib
}
Теги:
android-ndk
shared-libraries
kernel

1 ответ

0

Конечно, вы можете использовать любой код в системе. Очевидно, что если это не-JNI-код, вам придется называть его из вашего собственного кода или оболочки JNI.

В вашем файле Android.mk вам нужно будет добавить дополнительную библиотеку в LOCAL_LDLIBS

Ещё вопросы

Сообщество Overcoder
Наверх
Меню