Sipdroid是开源的一款SIP协议网络电话,由谷歌和其他公司共同研发而成。以下我会介绍如何在Windows系统编译运行该项目。

前提条件:

eclipse,jdk,sdk安装成功,并配置好相应的环境变量,构成android开发环境

一、下载sipdroid项目源代码

sipdroid项目是托管在SVN服务器上的,所以要拿到sipdroid源代码,那么就要使用SVN插件检测出该项目。在eclipse中,需要按照下面的步骤进行:

(1)在eclipse中安装subclipse
a.sublipse的网站地址是http://subclipse.tigris.org/
b.选择Download and Install,根据自己eclipse的版本获取相应的subclipse
c.我下载的subclipse的地址是:http://subclipse.tigris.org/update_1.10.x,或者下载压缩包,压缩包地址为:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240

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

更新安装完后重启

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

a. eclipse->window->open perspective中选择SVN资源库研究

b.切换到svn视图,添加新的SVN资源库,在URL输入http://sipdroid.googlecode.com/svn/trunk

c.点击Finish进行下载,然后对项目右键检出,存到自己的workspace

(当然你也可以直接在Eclipse中File->import->Git->Projects from Git->URI输入sipdroid项目在github托管的相应网址,只不过这样下载下来的源码可能经过他人修改或不全,因而需慎重选择)

二、配置sipdroid源代码编译环境

(1)切换回java视图,发现下载下来的sipdroid项目在eclipse中名为SipUA(项目出现红色大叹号),这时提示缺少project.properties文件,可从其他项目复制该文件到此项目里,更改target,而后对本项目右键->android tools->and support library。另一种方法是使用android update project -p -t android-i命令升级项目。其中-p后面带的是sipdroid项目的绝对路径,i表示的是android api版本。我的sipdroid的路径是F:\Android\SipUA,所以此命令为:
android update project -p  F:\Android\SipUA -t android-16正确情况下会生成project.properties文件,控制窗口如下图:

注意: Android api 要至少为16,通用的15会出现import错

如果出现Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.只要右键项目选择properties,设置一下Java编译器就行了。具体如下图:

(2)下载NDK:sipdroid项目的编译需要使用NDK来编译。NDK是ANDROID项目中的JAVA层能够调用C/C++代码编写的.SO库,现在最新版本是R10。NDK的下载地址为:http://developer.android.com/tools/sdk/ndk/index.html

下载后解压就可以使用了,在解压时注意应避免路径有中文字符或者空格,而后最好进行相应的环境变量设置,这样的话方便在命令行下进行NDK编译

三.编译运行sipdroid项目

1.右键SipUA选择Properties,然后选择Builder,新建一个Builder


2.选择Program然后点击OK

3.为Builder起一个名字,选择Main选项,点击Browse File System,选择NDK目录下的ndk-build.cmd,点击Browse Workspace,选中SipUA项目,最后点击Apply。

4.选择Refresh选项,勾选Refresh resourcces upon completion.点击Apply。

5.选择Build Options,勾选During auto builds,During a Clen,Specify working set of relevant resources...。点击Specify Resources选择SipUA项目,最后点击Apply。

到此,设置NDK编译的工作已经完成。是不是觉得特别繁琐呢?还有一种简单的方法是直接在命令行进入该工程目录下,运行ndk-build即可编译成功,如图所示:

最后在eclipse中运行此项目,进行真机调试,打开后的软件界面类似右图:

              

转载于:https://www.cnblogs.com/xlwm/p/4390657.html

Sipdroid项目的编译运行相关推荐

  1. 02-eclipse中构建ant项目和编译运行ant

    Eclipse中已经集成了Ant,我们可以直接在Eclipse中运行Ant. 1.用 Ant 来构建简单系统 新建一个 Java project, 命名为Hello Hello .java 文件内容 ...

  2. Eric6最简单的应用(创建一个项目-窗体-编译-运行)

    1.创建项目 2.创建一个窗体 自动弹出Qt designer 工具,可视化窗体界面: 创建一个关闭按钮,关闭这个窗体: 保存后,选择ui文件,进行编译ui文件: 然后执行该脚本,即可: 以上是eri ...

  3. Windows10+VS2017下GSL1.8_x86和sundials2.5.0配置及GITHUB项目schneider_et_al_2016_animaldiversity编译运行

    一.GSL库下载 GSL简介及下载地址:GSL - GNU Scientific Library GSL FTP下载地址:GSL FTP GSL for Windows地址:Gsl for Windo ...

  4. 在idea项目中的android包不能识别_项目调试编译和部署运行

    项目调试 Logcat日志 顾名思义,logcat是android系统的日志包,提供给开发者供调试程序时使用.logcat一共有Verbose.Debug.Info.Warn.Error等不同级别的日 ...

  5. linux eclipse-JAVA_从 Linux 终端编译运行 Eclipse Java 项目

    假如你在linux系统下使用Eclipse开发一个Java项目,你可能会有从其他地方远程连接这个项目的需求.或许 你可以使用teamviewer远程连接linux桌面,但那经常会非常龟速.你也可以从常 ...

  6. 使用 docker 编译运行 abp 项目

    在前面的两篇文章中,介绍了如何在华为鲲鹏架构及其Euler系统上运行dotnet core, 使用docker运行了默认的mvc模板项目,这篇文章继续介绍在docker中运行更复杂的dotnet co ...

  7. maven java版本过低_maven项目编译运行时提示jdk版本过低问题解决方法

    明明使用的是1.8jdk,但是运行项目时提示使用的是java版本是1.5,版本过低. 修改pom.xml,添加如下: maven-compiler-plugin 3.6.1 1.8 1.8 UTF-8 ...

  8. go项目编译运行期间遇到的部分问题与解决方案【图文式小白教程】

    go项目编译运行期间遇到的部分问题与解决方案[图文式小白教程] 文章目录 go: github.com/axgle/mahonia@v0.0.0-20180208002826-3358181d7394 ...

  9. VS code 如何编译运行web项目教程

    一.使用vs code开发运行web 项目 由于 Visual Studio 体积大,对于性能不好的电脑的来说,简直是种不友好的开发体验.所以vs code 轻量级开发工具的出现,简直是不要太好了. ...

  10. [笔记]用VS2010编译运行项目时报“LINK : fatal error LNK1104:...

    为什么80%的码农都做不了架构师?>>>    参考:http://hi.baidu.com/%CE%C2%BF%AA%D4%B4/blog/item/e92c0e82c9ae4ec ...

最新文章

  1. Idea不能新建package的解决
  2. 如何用计算机画立方体,画立方体-计算机图形学实验.doc
  3. QT解决方案中新建动态链接库工程,且继承于QObject,解决无法生成moc_XXX.cpp文件的问题,解决工程之间的引用问题
  4. Javascript之旅——第四站:parseInt中要注意的坑
  5. 怎么快速了解自己的MySQL服务器?
  6. GetItemValue、Itemname使用方法
  7. 信息学奥赛一本通(1003:对齐输出)
  8. spring事务浅析
  9. flink int序列化
  10. dqn在训练过程中loss越来越大_强化学习笔记:OpenAI Gym+DQN+Tensorflow2实现
  11. CCNP精粹系列之十七--路由映射实战,博主推荐
  12. 禾川plc编程软件_HCP Works(禾川PLC编程工具)V2.26.01.92013 免费版
  13. 另存为fdf或xps加载项_2007 Microsoft Office加载项:Microsoft另存为PDF或XPS
  14. 视频截图 使用ffmpeg_mencoder
  15. Cisco防火墙基础介绍及配置
  16. 【something】简单的平均脸制作
  17. Android实现NFC芯片制造商识别
  18. 使用vue+elementUI页面实现前端做分页
  19. speedoffice(Excel)表格中如何插入百分比符号
  20. python绘制饼图

热门文章

  1. PHP 动态设置数组索引的值
  2. Python3.8.0中string与byte相互转换
  3. 基于Java的webapp_第一个 JAVA WEB 应用
  4. i7-9700与E5 2667 V2空载功耗对比
  5. 晶体管制程极限之后,多层CPU是否可能?
  6. NWT内斗:为了还不值钱的股份
  7. 错误解决办法:_ZNSaIcED1Ev@@GLIBCXX_3.4
  8. 手机无启动抓拍的想法
  9. ubuntu启动virtualbox出错解决办法:RTR3InitEx failed with rc=-1912 (rc=-1912)
  10. ImportError: libcudart.so.9.2: cannot open shared object file: No such file or directory