使用外部JAIN-SIP(J-SIP)堆栈的Android 2.3类路径

| 我正在尝试在Android 2.3.3上使用JAIN-SIP(J-SIP)库。 (http://jsip.java.net/) 因此,我利用了SIP-Stack附带的一个非常基本的SIP示例应用程序。 此示例可在<= Android 2.2的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版本中进一步修改。 我想到的另一个解决方案是更改\“ my \” JAIN-SIP堆栈的程序包名称,使其不与内部SIP堆栈混淆。 manifest.xml中的uses-library声明不起作用,因为它仅用于内部SDK-libs / SDK-Addons。 还有其他想法吗?     
已邀请:
我们正在考虑运输jar,这将允许通过使用后期转换工具重命名所有javax类并将JSIP堆栈嵌入到任何Android设备中,并将jar与常规jsip jar一起发布。 参见https://groups.google.com/d/topic/mobicents-public/UD7ZTX74Yrk/discussion 吉恩     
我应用了我提出的解决方案,并通过Eclipse重构功能重命名了JSIP堆栈的程序包,并使JSIp堆栈在Android 2.3.3模拟器和设备上运行。 示例和类“ SipStackImpl.java \”中都有程序包路径字符串,应将其手动重命名(查找/替换)为新的新程序包路径。 我用JSIP堆栈中的Shootist和Shootme样本对其进行了测试。 它还在模拟器上的Android 2.2上运行。 如果有人可以提出更好的解决方案,我会很感激。     

要回复问题请先登录注册