Android(安卓)使用NDK编译sipdroid Library
16lz
2021-01-24
sipdroid是一款开源的运行于Android平台上的voip,目前支持音频和视频通话;
项目拖管地址:http://code.google.com/p/sipdroid/
下载源代码,导入eclipse的时候会有一些小错误,但都比较容易更改,这些就不再重复;
在命令行窗口下进行项目所在文件下,执行ndk-build命令(如果没有添加ndk到系统环境变量需要先进行配置);
C:\Users\zy\Desktop\Android SipDroid>ndk-buildAndroid NDK: There is no Android.mk under jni/jniAndroid NDK: If this is intentional please define APP_BUILD_SCRIPT to pointAndroid NDK: to a valid NDK build script.D:/android-ndk-r9c/build/core/add-application.mk:202: *** Android NDK: Aborting... . Stop.
这里会有一个路径错误的问题,需要修改Application.mk文件;
修改APP_PROJECT_PATH := $(call my-dir)为APP_PROJECT_PATH := $(call my-dir)/..
再次执行ndk-build命令,同样也还有一个错误
Android NDK: jni/../jni/Android.mk:silkcommon: LOCAL_MODULE_FILENAME must not contain a file extensionD:/android-ndk-r9c/build/core/build-static-library.mk:29: *** Android NDK: Aborting . Stop.
这里很明显是编译silkcommon的时候出错了,在Android.mk文件中定位到silkcommon,如下:
SILK := silkLOCAL_MODULE := silkcommonLOCAL_SRC_FILES := $(SILK)/src/SKP_Silk_A2NLSF.c \ $(SILK)/src/SKP_Silk_CNG.c \ ...
很明显这里少了一句include $(CLEAR_VARS),我们把这一句添加到上头;
include $(CLEAR_VARS)SILK := silkLOCAL_MODULE := silkcommonLOCAL_SRC_FILES := $(SILK)/src/SKP_Silk_A2NLSF.c \ ...
再次执行ndk-build,即可编译成功;
这里编译出来的是Library工程,而不是可运行的App工程。
更多相关文章
- X-Ray检测Android设备Root漏洞过程分析
- android Android签名证书的sha1值报错 :不是内部或外部命令,也不是
- 解决使用Android(安卓)emulator(模拟器)无法上网的现象
- android sdk, adt编译问题
- Android中如何实现圆形按钮的颜色变化
- 【Android浏览器插件开发准备工作之NPAPI】使用Visual Studio 20
- Ubuntu下搭建Android开发环境
- 破解Xamarin
- Android原生(Native)C开发之一(备份测试代码的编译命令)