我正在嘗試在Android 2.3.3上使用JAIN-SIP(J-SIP)庫。 (http://jsip.java.net/) 因此我使用了SIP-Stack附帶的一個非常基本的SIP示例應用程序。 這個例子在Android設備上完美運行< = Android 2.2。Android 2.3使用外部JAIN-SIP(J-SIP)堆棧|類路徑
問題在於,Android 2.3.3帶來了一個SIP-Strack及其系統庫, 這是JAIN-SIP堆棧的稍微修改版本。 因此,在Android 2.3.3設備上,加載了內部SIP堆棧(因爲包名/庫名相同)而不是APK附帶的JAIN-SIP,並且應用程序因「功能未找到」異常而崩潰(歸因於在這個內部的Android 2.3.3 SIP-Stack中不存在某些函數的事實)。
我想知道的是,我如何「優先」我的APK附帶的JAIN-SIP堆棧,並忽略Android系統SIP堆棧。
一個解決方案是使用內部SIP-Stack directyl,因爲沒有人知道它是否未在下一個Android版本中進行進一步修改,所以強烈建議不要這樣做。
我想到的另一個解決方案是更改「我的」JAIN-SIP堆棧的包名稱,使其不與內部SIP堆棧混淆。
manifest.xml中的uses-library聲明不起作用,因爲它僅適用於內部SDK-libs/SDK-Addons。
還有什麼想法?
能否請你幫我明白你是如何做到這一點,我怎麼能帶來同樣的東西放在我的Froyo棧? – Sen 2011-06-30 06:21:01
我使用了Eclipse IDE的重構功能。 Just Refactor->重命名SIP-API和SIP-RI的基礎包。 之後,您必須在整個API和RI中搜索「gov.nist」。 有〜5個字符串,硬編碼的軟件包名稱是Eclipse未檢測到的。 最後,在* .core.PackageNames.java中修復常量並完成。 BTW:在Android 2.2或更低版本上,J-SIP(JAIN-SIP)API和RI即用即用。 – 2011-07-01 07:58:13
我試圖下載J-SIP,但它導致我像一個svn頁面。我從哪裏可以獲得源代碼? – Sen 2011-07-01 09:52:30