sipdroid的编译以及导入Eclipse环境
来源:互联网 发布:保健品电话数据资源 编辑:程序博客网 时间:2024/06/06 07:35
sipdroid的编译以及导入Eclipse环境
sipdroid是一款Android平台上开源的voip,当前版本已经更新到3.0了,支持视频通话。sipdroid的源码和apk可在该项目的主页下载到。
一 sipdroid项目官方地址
项目主页:
http://code.google.com/p/sipdroid/
代码地址:
svn checkout http://sipdroid.googlecode.com/svn/trunk/sipdroid-read-only
二 sipdroid导入Eclipse
源码下载下来之后,如果直接将sipdroid导入eclipse环境中,工程会直接报错。看console窗口中的错误提示,可发现工程缺少project.properties,也因此导致工程里的java文件一片红(都是错误)。
解决办法有两个.
方法一:从其它工程拷贝一个project.properties过来,根据实际情况修改下project.properties中的target变量的设置,这个是API版本号。然后刷新下工程。
方法二:通过command line参照工程目录下的BUILT.txt文件对工程进行update。
如:android update project -p . -t 2(这里 -p指的是 --path -t指的是 --target)
具体执行步骤为:在命令行模式中进入sipdroid上级目录,执行以下命令:
android update project -p sipdroid_build -t android-15
之后再导入Eclipse环境即可。
三 sipdroid编译
接下来使用NDK编译sipdroid的jni,无论是Windows或者Ubuntu,需要下载好Android NDK,并配置好环境变量。若是Window环境还需要下载安装Cygwin或者MingGW+MSYS仿Unix编译环境。需要注意的是同时安装了Cygwin和MingGw+MSYS环境的系统,需要保证只让一个仿Unix环境起作用,否则有可能出现不必要的编译错误。
jni编译环境搭配完整后,可切换到sipdroid工程的jni目录下执行:ndk-build(ndk-build的路径已经添加到系统路径了,如果没有添加,需要指定完整路径)
备注:我的系统是Windows XP,NDK版本是android-ndk-r9c-windows-x86,使用的仿Unix环境是Cygwin(2013年12月20日从官网下载安装)。
在ndk-build过程中可能出现的错误及解决办法:
错误一:
sipdroid_build/jni/speex_jni.cpp:26:25: fatal error: speex/speex.h: No such file or directorycompilation terminated./cygdrive/f/android-ndk-r9c-windows-x86/android-ndk-r9c/build/core/build-binary.mk:388: recipe for target '/cygdrive/f/videoapp/sipdroid_build/obj/local/armeabi/objs/speex_jni/speex_jni.o' failedmake: *** [/cygdrive/f/videoapp/sipdroid_build/obj/local/armeabi/objs/speex_jni/speex_jni.o] Error 1解决办法:把jni文件夹中的speex-1.2rc1/include/speex文件夹拷贝到jni目录下
错误二:
Android NDK: WARNING: APP_PLATFORM android-15 is larger than android:minSdkVersion 5 in /cygdrive/f/videoapp/sipdroid_build/AndroidManifest.xmlAndroid NDK: /cygdrive/f/videoapp/sipdroid_build/jni/Android.mk:silkcommon: LOCAL_MODULE_FILENAME must not contain a file extension/cygdrive/f/android-ndk-r9c-windows-x86/android-ndk-r9c/build/core/build-static-library.mk:29: *** Android NDK: Aborting 。 停止。
解决办法:打开jni目录下的Android.mk文件,在如下代码位置:
SILK := silkLOCAL_MODULE := silkcommonLOCAL_SRC_FILES := $(SILK)/src/SKP_Silk_A2NLSF.c \$(SILK)/src/SKP_Silk_CNG.c \$(SILK)/src/SKP_Silk_HP_variable_cutoff_FIX.c \$(SILK)/src/SKP_Silk_LBRR_reset.c \$(SILK)/src/SKP_Silk_LPC_inv_pred_gain.c \$(SILK)/src/SKP_Silk_LPC_stabilize.c \$(SILK)/src/SKP_Silk_LPC_synthesis_filter.c \$(SILK)/src/SKP_Silk_LPC_synthesis_order16.c \
添加 include $(CLEAR_VARS)
修改后代码如下:
include $(CLEAR_VARS)SILK := silkLOCAL_MODULE := silkcommonLOCAL_SRC_FILES := $(SILK)/src/SKP_Silk_A2NLSF.c \$(SILK)/src/SKP_Silk_CNG.c \$(SILK)/src/SKP_Silk_HP_variable_cutoff_FIX.c \$(SILK)/src/SKP_Silk_LBRR_reset.c \$(SILK)/src/SKP_Silk_LPC_inv_pred_gain.c \$(SILK)/src/SKP_Silk_LPC_stabilize.c \$(SILK)/src/SKP_Silk_LPC_synthesis_filter.c \$(SILK)/src/SKP_Silk_LPC_synthesis_order16.c \$(SILK)/src/SKP_Silk_LP_variable_cutoff.c \
---------------------------
编译过程中我就遇到过这两个错误,网上还看到有人遇到的一个错误,但是我没有遇到,如下:
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文件中:
1、解决办法来源:http://blog.csdn.net/harry_helei/article/details/7400338
APP_PROJECT_PATH := $(call my-dir)这一行,
将其修改为:APP_PROJECT_PATH := $(call my-dir)/..
2、解决办法来源:http://hi.baidu.com/justtmiss/item/d5d16b354c725b25b2c0c5a6
修改Application.mk
#APP_PROJECT_PATH := $(call my-dir)LOCAL_PATH := $(call my-dir)
- sipdroid的编译以及导入Eclipse环境
- 解决关于sipdroid导入eclipse后编译完成,发布的apk安装之后出现音频解码器出现问题的情况!
- windows 下导入sipdroid源码到eclipse出错的问题
- 解决SipDroid导入Eclipse报错问题
- 导入Sipdroid到eclipse出错问题解决
- 关于如何将Sipdroid导入到eclipse的教程(解决出错问题)
- [sipdroid]SipDroid的研究
- sipdroid在ubuntu下的编译
- ant: 编译 sipdroid
- sipdroid编译运行
- Opendaylight源码编译相关问题以及导入eclipse
- [sipdroid]搭建Sipdroid本地开发环境
- eclipse+Pydev编译环境下导入PIL库
- eclipse中导入android工程时因源工程java编译环境不同导致编译错误的解决方法
- eclipse 编译Java的编译环境问题
- Eclipse导入项目的步骤以及常见问题
- FBReader编译导入eclipse
- ubuntu下安装eclipse以及配置python编译环境
- Oracle 11g 中的自动数据库维护任务管理
- Spring AOP进行日志记录(转载)
- 高手速成android开源项目【View篇】
- Qt5.2连接Mysql数据库,并将数据读取到页面上
- WPF党旗和国徽!
- sipdroid的编译以及导入Eclipse环境
- MFC 错误归类
- Automatic Statistics Gathering
- Linux命令实践:特殊Linux命令补充
- Python Membership Operators
- 12306刷票脚本
- android bluetooth 移植相关注意事项
- Linux那些事儿之我是SCSI硬盘(2)依然probe
- DBGrid 各属性的设置