我对android还是很陌生,我是一名初级Android的工作,建议我使用PJSIP创建VoIP应用程序的后端功能。它的意思是要自行处理媒体传输和信号传输。
在阅读文档时,我很挣扎。我尝试阅读它,但是很难理解代码和功能。如何在Android Studio(Java)中实现用C编写的库?如何阅读文档并理解我的打算?
我尝试通读《 PJSIP开发人员指南》,其中大部分对我来说似乎是难以理解的。
答案 0 :(得分:0)
在pjsip-apps中找到android的pjsua示例应用程序。它有一个很好的示例,说明了如何通过android java应用程序的JNI接口使用pjsip c-library。
答案 1 :(得分:0)
我正在开发与您类似的应用程序以及视频支持。我尚未将pjsip库集成到应用程序中。但是已经为Android构建了该库。
要回答您的问题, NDK(可在android studio中使用的SDK)用于在android中实现本机语言,例如C和C ++。使用JNI界面,可使C,C ++代码与android兼容。您暂时没有任何硬代码。 转到pjsip并基于平台(Windows或Linux)获取tar或zip文件,并将其解压缩到系统中。 您还需要按照以下步骤安装ndk,google。
构建库会有些麻烦。因此,请遵循官方指南,并针对出现的错误执行以下步骤
为Android构建PJSIP 转到为Android下载的pjproject的目录
转到pjproject / pjlib / include / pj并检查config_site.h文件,如果找不到,请创建一个并添加: 主题标签定义PJ_CONFIG_ANDROID 1 标签包含尖括号pj / config_site_sample.h尖括号
export ANDROID_NDK_ROOT = ndk的ndk捆绑包的路径(下载)。
转到pjproject的根文件夹,然后 执行 。/配置 化妆&&清洁&&化妆
错误:
对于未找到编译器的错误,请使用sudo apt-get clang安装clang 并执行 出口CC =“ $ ANDROID_NDK / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang -target armv7-none-linux-androideabi -gcc-toolchain $ NDK_TOOLCHAIN” 导出CXX =“ $ ANDROID_NDK / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang ++ -target armv7-none-linux-androideabi -gcc-toolchain $ NDK_TOOLCHAIN”
对于C编译器无法创建可执行文件错误 向ndk-bundle授予权限
chmod -R 777 ndk束
在任何文件夹中缺少分隔符错误 执行查找。类型的f-名称'* .depend'| xargs rm
对于其他任何错误,请同时安装g ++