Я довольно новичок в Android, я получил работу в качестве младшего Android, и мне предложили использовать PJSIP для создания серверной функциональности приложения VoIP. Он предназначен для того, чтобы справляться с передачей медиа и самостоятельно.

Я борюсь, просматривая документацию. Я пытаюсь прочитать это, но трудно понять код и функции. Как реализовать библиотеку, написанную на C, в Android Studio (Java)? Как мне прочитать документацию и понять, что я должен делать?

Я попытался прочитать Руководство разработчика PJSIP, большинство из которых мне кажется непонятным.

0
George 17 Апр 2019 в 09:31

2 ответа

Лучший ответ

Я разрабатываю приложение, похожее на ваше, вместе с поддержкой видео. Мне еще предстоит интегрировать библиотеку pjsip в приложение. Но построили библиотеку для Android.

Чтобы ответить на ваши вопросы, NDK (SDK доступен в Android Studio) используется для реализации родных языков, таких как C и C ++ в Android. Используя интерфейс JNI, код C, C ++ сделан совместимым с Android, у вас пока нет жесткого кода. Перейдите в pjsip и получите файлы tar или zip в зависимости от платформы (Windows или Linux) и распакуйте их в свою систему. Вам также необходимо установить ndk, Google через шаги.

Строительство библиотеки было бы немного хлопотно. Так что следуйте официальному руководству и для ошибок, которые возникают, следуйте инструкциям ниже

Сборка PJSIP для Android Перейдите в каталог pjproject скачать для Android

Перейдите в pjproject / pjlib / include / pj и проверьте файл config_site.h, если он не найден, создайте его и добавьте: hashtag define PJ_CONFIG_ANDROID 1 хэштег включает угловые скобки pj / config_site_sample.h угловые скобки

Export ANDROID_NDK_ROOT = путь к ndk-комплекту ndk (загружен).

Перейдите в корневую папку pjproject и выполните ./configure make dep && make clean && make

Ошибки:

Если компилятор не найден, установите clang с помощью sudo apt-get clang и выполните экспорт CC = "$ ANDROID_NDK / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang -target armv7-none-linux-androideabi -gcc-toolchain $ NDK_TOOLCHA "export CXX =" $ ANDROID_NDK / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang ++ -target armv7-none-linux-androideabi -gcc-toolchain $ NDK_TOOLCHAIN "

Для компилятора Си не удается создать исполняемые файлы, ошибка дает разрешение на ndk-bundle

Chmod -R 777 ndk-bundle

В случае отсутствия ошибки в любом из папок выполните поиск. -тип f -name '* .depend' | XARGS RM

Для любых других ошибок, также установите g ++

0
Sada Gowda 24 Апр 2019 в 06:41

Найдите пример приложения pjsua для android в pjsip-apps. Это хороший пример того, как c-библиотека pjsip используется через интерфейс JNI из Java-приложения Android.

1
Numi 18 Апр 2019 в 05:29