2011-04-27 4 views
3

Android 2.3.3에서 JAIN-SIP (J-SIP) 라이브러리를 사용하려고합니다. (http://jsip.java.net/) 따라서 SIP-Stack과 함께 제공되는 매우 기본적인 SIP 예제 응용 프로그램을 사용했습니다. 이 예제는 Android 기기에서 완벽하게 실행됩니다 < = Android 2.2.Android 2.3 | Classpath

문제는 안드로이드 2.3.3은 약간의 수정 된 버전의 JAIN-SIP 스택 인 인 시스템 라이브러리가있는 SIP-Strack을 가져옵니다. Android 2.3.3 장치에서 APK와 함께 제공되는 JAIN-SIP 대신 내부 SIP 스택이로드되므로 (패키지/라이브러리 이름이 동일하기 때문에) 응용 프로그램이 "함수를 찾을 수 없음"예외로 인해 충돌합니다 (일부 안드로이드 2.3.3 SIP-Stack에 존재하지 않는 기능).

내가 알지 못하는 것은 어떻게 APK와 함께 제공되는 JAIN-SIP 스택을 "우선 순위 화"하고 Android 시스템 SIP-Stack을 무시할 수 있는지입니다.

하나의 솔루션은 내부 SIP-Stack directyl을 사용합니다. 다음 안드로이드 버전으로 더 이상 수정되지 않는다는 것을 아무도 모르기 때문에 강력하게 권장하지 않습니다.

다른 해결책은 "내"JAIN-SIP 스택의 패키지 이름을 내부 SIP 스택과 섞지 않도록 변경하는 것입니다.

내부 SDK-libs/SDK-Addons에만 해당되므로 manifest.xml의 uses-library 선언이 작동하지 않습니다.

더 이상의 아이디어가 있습니까?

+0

당신은 당신이 어떻게했는지 나를 이해하는 데 도움이 시겠어요보고 난 내 프로 요 스택에 같은 일에 대해 어떻게 가져올 수 있습니까? – Sen

+0

Eclipse IDE의 리팩토링 기능을 사용했습니다. Refactor-> SIP-API 및 SIP-RI의 기본 패키지 이름을 바꿉니다. 그 후에는 전체 API & RI에서 "gov.nist"를 검색해야합니다. Eclipse가 감지하지 못한 하드 코드 된 패키지 이름이있는 ~ 5 개의 문자열이 있습니다. 그리고 마지막으로 * .core.PackageNames.java에 상수를 수정하면 완료됩니다. BTW : Android 2.2 이하에서는 J-SIP (JAIN-SIP) API 및 RI가 기본적으로 실행됩니다. –

+0

J-SIP를 다운로드하려했지만 svn 같은 페이지로 연결됩니다. 어디에서 소스를 얻을 수 있습니까? – Sen

답변

2

제안 된 솔루션을 적용하고 Eclipse 리팩토링 기능을 통해 JSIP 스택의 패키지 이름을 변경했으며 Android 2.3.3 에뮬레이터 및 장치에서 작동하는 JSIp 스택을 얻었다. 샘플 및 새로운 "패키지 경로"에 직접 이름을 변경 (찾기/바꾸기)해야하는 "SipStackImpl.java"클래스에 패키지 경로 문자열이 있습니다.

JSIP 스택의 shootist 및 shootme 샘플로 테스트했습니다.

에뮬레이터의 Android 2.2에서도 실행되었습니다.

누군가 더 나은 해결책을 제시 할 수 있다면 좋겠다.

+1

죄송합니다. 구현에 시간이 걸렸으나 이제는 준비가 완료되었습니다. http://www.telestax.com/jain-sip-stack-for-android/에서 게시판을 보시면 충돌없이 안드로이드에 최신 JAIN SIP를 통합 할 수 있습니다. 게시물은 채팅 메시징 응용 프로그램 예를 들어 사용합니다 – jeand

+1

오랫동안 후회 해 주셔서 감사합니다. @jeand –

4

포스트 변환 도구를 사용하여 모든 javax 클래스의 이름을 바꾸고 일반 jsip jar와 함께 jar를 게시하여 JSIP 스택을 모든 Android 장치에 포함시킬 수있는 운송 항아리를 고려하고 있습니다. https://groups.google.com/d/topic/mobicents-public/UD7ZTX74Yrk/discussion

+0

Thx jeand, 훌륭한 아이디어. 내 의견으로는, 그게 뭔가를 Google 플랫폼에 포함하기 전에해야 할 일이야 :) 같은 가려진 BouncyCastle 도서관에 포함되어 있습니다 ... –

+0

죄송합니다 그것을 구현하는 데 걸렸습니다하지만 지금은 준비가 볼 우리의 게시물은 http://www.telestax.com/jain-sip-stack-for-android/에서 충돌없이 안드로이드에 최신 JAIN SIP를 통합 할 수있게 해줍니다. 이 게시물은 채팅 메시징 응용 프로그램의 예를 사용합니다. – jeand