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
,工程會直接報錯。
方法一:過來,根據實際情況修改下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環境即可。
jni編譯環境搭配完整後,可切換到sipdroid工程的jni目錄下執行:ndk-build
在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)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.
解決辦法: