SipUA 下载 编译

本文详细介绍了如何从源码编译SipDroid项目,包括下载源码、解决常见编译错误及配置NDK环境的过程。适合希望深入了解SipDroid内部实现的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:下载源码

源码地址:http://sipdroid.org/

SVN 检出地址:svn checkout http://sipdroid.googlecode.com/svn/trunk/


检出完成===>修改Jni代码===> 开始编译:


第二部:修改Jni代码(如果你需要支持更多的语音编码:speex、gsm、BV16、G722 HD Voice)

编译方法:

引用:http://www.cnblogs.com/tomboy/archive/2012/10/22/2733794.html

错误1

Android NDK: There is no Android.mk under /home/helei/workspace/raydroid/jni/jni      
Android NDK: If this is intentional  please define APP_BUILD_SCRIPT to point     
Android NDK: to a valid NDK build script.      
/home/helei/android_toolchain/android-ndk-r7b/build/core/add-application.mk:143: *** Android NDK: Aborting...    .  Stop.  

修改jni目录下的Application.mk文件中:

APP_PROJECT_PATH := $(call my-dir)

这一行,将其修改为:

APP_PROJECT_PATH := $(call my-dir)/..

 

 

错误2

Android NDK: /home/helei/workspace/raydroid/jni/../jni/Android.mk:silkcommon: LOCAL_MODULE_FILENAME must not contain a file extension      
/home/helei/android_toolchain/android-ndk-r7b/build/core/build-static-library.mk:29: *** Android NDK: Aborting    .  Stop.  

解决办法:打开jni目录下的Android.mk文件,在如下代码位置:

复制代码
SILK     := silk  
LOCAL_MODULE    := silkcommon  
LOCAL_SRC_FILES :=  $(SILK)/src/SKP_Silk_A2NLSF.c \  
    $(SILK)/src/SKP_Silk_CNG.c \  
    $(SILK)/src/SKP_Silk_HP_variable_cutoff_FIX.c \  
复制代码

修改之后为:

复制代码
include $(CLEAR_VARS)  
SILK     := silk  
LOCAL_MODULE    := silkcommon  
LOCAL_SRC_FILES :=  $(SILK)/src/SKP_Silk_A2NLSF.c \  
    $(SILK)/src/SKP_Silk_CNG.c \  
    $(SILK)/src/SKP_Silk_HP_variable_cutoff_FIX.c \  
复制代码

 

 

错误3

复制代码
Compile++ thumb  : speex_jni <= speex_jni.cpp
H:/workspace/SipUA/jni/../jni/speex_jni.cpp:26:25: fatal error: speex/speex.h: No such file or directory
compilation terminated.
/cygdrive/h/android/android-ndk-r8/build/core/build-binary.mk:255: recipe for target `/cygdrive/h/workspace/SipUA/obj/local/armeabi/objs/speex_jni/speex_jni.o' failed
make: *** [/cygdrive/h/workspace/SipUA/obj/local/armeabi/objs/speex_jni/speex_jni.o] Error 1
复制代码

解决办法:把jni文件夹中的speex-1.2rc1/include/speex文件夹拷贝到jni目录下

第三部:编译源码

在linux环境下进行编译,我是在ubuntu下进行编译

下载NDK-linux ===> 配置NDK环境变量

系统需要支持gcc、 make命令,对C代码进行交叉编译,如果没有,自行安装

安装完成===》进入源码根目录/

执行ndk-build 即可编译成功:


编译过程:

编译成功:源码文件下回多出一个obj文件夹



下面就可以导入eclipse进行源码研究了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值