【问题标题】:Android 2.3 using external JAIN-SIP(J-SIP) Stack | ClasspathAndroid 2.3 使用外部 JAIN-SIP(J-SIP) 堆栈 |类路径
【发布时间】:2011-04-27 08:09:16
【问题描述】:

我正在尝试在 Android 2.3.3 上使用 JAIN-SIP (J-SIP) 库。 (http://jsip.java.net/) 因此,我使用了 SIP-Stack 附带的一个非常基本的 SIP 示例应用程序。 此示例在 Android 设备

问题在于,Android 2.3.3 带来了一个带有系统库的 SIP-Strack, 这是 JAIN-SIP 堆栈的略微修改版本。 所以在 Android 2.3.3 设备上,内部 SIP-Stack 被加载(因为相同的包/库名称)而不是 APK 附带的 JAIN-SIP,并且应用程序崩溃并出现“找不到函数”异常(由于事实上,这个内部的 Android 2.3.3 SIP-Stack 中不存在某些功能。

我想知道的是,我如何“优先”我的 APK 附带的 JAIN-SIP 堆栈并忽略 Android 系统 SIP-Stack。

一种解决方案是使用内部 SIP-Stack directyl,强烈建议不要这样做,因为没有人知道它是否不会在下一个 Android 版本中进一步修改。

我想到的另一个解决方案是更改“我的”JAIN-SIP 堆栈的包名称,使其不与内部 SIP 堆栈混淆。

manifest.xml 中的 uses-library 声明不起作用,因为它仅适用于内部 SDK-libs / SDK-Addons。

还有什么想法吗?

【问题讨论】:

  • 能否请您帮助我了解您是如何做到这一点的,以及我如何将同样的东西带入我的 Froyo 堆栈?
  • 我使用了 Eclipse IDE 的重构功能。只需重构->重命名 SIP-API 和 SIP-RI 的基本包。之后,您必须在整个 API 和 RI 中搜索“gov.nist”。 Eclipse 没有检测到大约 5 个带有硬编码包名的字符串。最后修复 *.core.PackageNames.java 中的常量,你就完成了。顺便说一句:在 Android 2.2 及更低版本上,J-SIP (JAIN-SIP) API 和 RI 开箱即用。
  • 我尝试下载 J-SIP,但它引导我进入类似 svn 的页面。从哪里可以得到源代码?
  • svn co https://svn.java.net/svn/jsip~svn

标签: android sip


【解决方案1】:

我们正在考虑通过使用后转换工具重命名所有 javax 类并将 jar 与常规 jsip jar 一起发布,从而允许将 JSIP Stack 嵌入到任何 Android 设备中的 jar。 见https://groups.google.com/d/topic/mobicents-public/UD7ZTX74Yrk/discussion

【讨论】:

  • 谢谢,好主意。在我看来,这是谷歌在将它包含在平台上之前应该做的事情:) 残废的 BouncyCastle 库也是如此,它被包含在内......
  • 很抱歉,实施它花费了时间,但它现在已经准备好了,请参阅我们在telestax.com/jain-sip-stack-for-android 的帖子,它允许您将最新的 JAIN SIP 集成到 android 中而不会发生冲突。该帖子以聊天消息应用程序为例
【解决方案2】:

我应用了我提出的解决方案并通过 Eclipse 重构功能重命名了 JSIP 堆栈的包,并使 JSIp 堆栈在 Android 2.3.3 模拟器和设备上运行。 示例和“SipStackImpl.java”类中有包路径字符串,应手动将其重命名(查找/替换)为新的新包路径。

我使用 JSIP 堆栈中的 shootist 和 shootme 样本对其进行了测试。

它还在模拟器中的 Android 2.2 上运行。

如果有人能提出更好的解决方案,我将不胜感激。

【讨论】:

  • 很抱歉,实施它花费了时间,但它现在已经准备好了,请参阅我们在telestax.com/jain-sip-stack-for-android 的帖子,它允许您将最新的 JAIN SIP 集成到 android 中而不会发生冲突。该帖子以聊天消息应用程序为例
  • 感谢@jeand 长期以来的跟进
猜你喜欢
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
相关资源
最近更新 更多