映入眼帘!
我正在开发(尝试开发)Android的VoIP SIP应用程序,经过两周与mjsip,pjsip和sdk的库之间的争吵之后,我已经选择了JAIN-SIP.从理论上讲,这些库看起来很棒.无需学习任何Android原生代码,大量文档(但还不够,因为我在这里),等等.
我的第一次尝试是使用Android SDK的SIP库(是的,我知道它们基于JSIP),并且在SipManager.open()拒绝打开与服务器通信的配置文件后失败,没有例外或任何排序输出,以帮助我诊断问题. (如果你有一个潜在的解决方案,请查看here)在使用mjsip和pjsip后,我决定按照计划,花费太多时间来计算本机代码,因此JAIN似乎是完美的解决方案……或者是吗?
问题是 – JAIN SIP库在包装中使用与java核心库相同的名称,因此导致dalvik出现dex问题.但是,确定一个“ant make all-android”解决方案将sip堆栈源构建为为android准备的单个.jar.错误.只有“gov.nist”包被重构,留下“javax”包,就像之前一样,导致相同的dalvik dex问题.但是等等! – theres JarJar,一个重新打包jar并重构包的工具,解决了dex冲突.错误.使用JarJar重新打包还会重命名对堆栈所需的实际javax.net包的引用以进行加密等等,从而导致异常和崩溃以及各种问题.所以我昨天花了大部分时间手工重构javax库,这导致了
...Caused by: java.lang.Error: Unresolved compilation problem:
所以这是我的问题……
>有没有人遇到任何准备好Android的jain-sip库,它们开箱即用,无需重命名,重新打包和重构?
>也许我的JarJar规则错了?有人可以为我提供规则来重命名所有包和对“javax.sip”和“javax.sdp”的引用,但不是“javax.net”吗?
>还有其他用于Android的SIP库(不需要任何NDK知识或本机代码)吗?
>为什么2014年这种情况仍然如此痛苦?
附:在向我指向谷歌页面或其他*问题之前,请考虑我已经坚持了两个星期,除了尝试解决问题之外别无其他 – 我可以向您保证,互联网已经彻底搜索并且解决方案要么不申请,要么不工作.
编辑2016年5月 – 已接受的答案现已过期,请参阅下面的joelpatrol对新解决方案的回复. HERE
解决方法:
接受的答案已过时.官方版本现在包括适用于Android的版本,从主页链接:https://jsip.java.net/
我现在正在使用它们并且可以确认它们正常工作.