Android 2.3 с использованием внешнего стека JAIN-SIP (J-SIP) |Classpath - PullRequest
3 голосов
/ 27 апреля 2011

Я пытаюсь использовать библиотеку JAIN-SIP (J-SIP) на Android 2.3.3.(http://jsip.java.net/) Поэтому я использовал очень простое приложение на примере SIP, которое поставляется с SIP-стеком. Этот пример отлично работает на устройствах Android <= Android 2.2. </p>

Проблема в том, что Android 2.3.3 приноситSIP-Strack с его системными библиотеками, который является слегка измененной версией стека JAIN-SIP, поэтому на устройствах с Android 2.3.3 загружается внутренний SIP-стек (из-за одинаковых имен пакетов / библиотек) вместоJAIN-SIP, поставляемый с APK, и приложение вылетает с исключениями «функция не найдена» (из-за того, что некоторые функции не существуют во внутреннем SIP-стеке Android 2.3.3).

ЧтоЯ не хочу знать, как я могу «расставить приоритеты» моего стека JAIN-SIP, который поставляется вместе с APK, и игнорировать SIP-стек системы Android.

Одно из решений - это использование внутреннего директила SIP-стекаэто крайне обескураживает, потому что никто не знает, не изменится ли он в следующих версиях Android.

Другое решение, которое пришло мне в голову, меняетсяимена пакетов «моего» стека JAIN-SIP, которые не перепутаны с внутренним SIP-стеком.

Объявление библиотеки использовании в manifest.xml не работает, поскольку оно только для внутреннего SDK-libs / SDK-Addons.

Есть еще идеи?

Ответы [ 2 ]

4 голосов
/ 20 декабря 2012

Мы рассматриваем доставку jar-файлов, которые позволили бы встраивать JSIP-стек в любые устройства Android, переименовывая все классы javax с помощью инструмента пост-конвертации и публикуя jar вместе с обычными jsip-jar-файлами. Смотри https://groups.google.com/d/topic/mobicents-public/UD7ZTX74Yrk/discussion

Жан * * 1004

2 голосов
/ 18 мая 2011

Я применил предложенное мной решение и переименовал пакеты JSIP-стека с помощью функции Eclipse Refactoring и получил стек JSIp, работающий на эмуляторе Android 2.3.3 и устройстве. В примерах и в классе "SipStackImpl.java" есть строки пути к пакетам, которые должны быть переименованы (найдены / заменены) вручную для новых путей к новым пакетам.

Я проверил это с помощью стрелка и образцов стрелка из стека JSIP.

Он также работал на Android 2.2 в эмуляторе.

Если бы кто-то мог придумать лучшее решение, я бы оценил его.

...