使用Cygwin编译Sipdroid后,在ADT中运行

相关资源:

1、windows平台上的unix模拟环境软件 CygWin,具体安装见博文  windows下安装cygwin及配置  (http://blog.csdn.net/lotusyangjun/article/details/17258357 )

2、Android工具NDK  android-ndk-r9b-windows-x86     http://developer.android.com/tools/sdk/ndk/index.html




3、集成Android开发插件的Eclipse http://developer.android.com/sdk/index.html




4、通过Eclipse下载Sipdroid源码

官网选择下载的连接

打开eclipse->help->install new software->add

更新安装完后重启

 

使用eclipse从code.google下载sipdroid源码

eclipse->window->open perspective中选择

 

切换到svn视图

 

对项目右键检出为,存到自己的workspace(项目出现红色大叹号)

切换回java视图,对项目右键->team->断开连接

从其他项目出复制project.properties到本项目里面,更改target

对本项目右键->android tools->andd support library(刷新项目,至此大叹号消除)



5、通过NDK编译sipdroid源码

首先添加NDK的根目录到系统环境变量中,例如 NDK= /cygdrive/f/android/android-ndk-r9b,   注意必须用“/” ,这是UNIX风格


打开cygwin,使用cd命令进入到sipdroid项目的jni文件夹,例如

cd       /cygdrive/C/Users/Administrator/Desktop/TempWorkSpace/VoIP/jni,

然后输入命令: $ndk/ndk-build,提示出错,错误以及解决办法如下

参考博客:http://blog.csdn.net/harry_helei/article/details/7400338

错误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目录下

ndk-build编译成功~~~~

编译成功,提示信息如下:

$ cd  /cygdrive/C/Users/Administrator/Desktop/TempWorkSpace/VoIP/jni


Administrator@Thinking /cygdrive/C/Users/Administrator/Desktop/TempWorkSpace/VoIP/jni
$ $ndk/ndk-build
Android NDK: WARNING: APP_PLATFORM android-18 is larger than android:minSdkVersion 3 in /cygdrive/C/Users/Administrator/Desktop/TempWorkSpace/VoIP/jni/../AndroidManifest.xml
Android NDK: WARNING:/cygdrive/C/Users/Administrator/Desktop/TempWorkSpace/VoIP/jni/../jni/Android.mk:silkcommon: LOCAL_LDLIBS is always ignored for static libraries
[armeabi] Cygwin         : Generating dependency file converter script
[armeabi] Compile++ thumb: OSNetworkSystem <= OSNetworkSystem.cpp
[armeabi] StaticLibrary  : libstdc++.a
[armeabi] SharedLibrary  : libOSNetworkSystem.so
[armeabi] Install        : libOSNetworkSystem.so => libs/armeabi/libOSNetworkSystem.so
[armeabi] Compile++ thumb: speex_jni <= speex_jni.cpp
[armeabi] Compile thumb  : speex_jni <= speex.c
[armeabi] Compile thumb  : speex_jni <= speex_callbacks.c
[armeabi] Compile thumb  : speex_jni <= bits.c
[armeabi] Compile thumb  : speex_jni <= modes.c
[armeabi] Compile thumb  : speex_jni <= nb_celp.c

。。。


6、编译成功后,使用ADT,以android application,运行sipdroid工程,即可出现sipdroid的模拟软件界面



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值