适用于Android的JAIN-SIP 1.2:缺少javax.SIP.STACK\u NAME属性
我正在尝试在Android设备(4.0.2)上运行JAIN-SIP堆栈。 我能够重新打包所需的jar文件(jain-sip-api-1.2-src.jar、jain-sip-src-1.2.1111.jar、concurrent.jar、log4j-1.2.8.jar) 这是我使用的build.xml文件:适用于Android的JAIN-SIP 1.2:缺少javax.SIP.STACK\u NAME属性,android,sip,jain-sip,jarjar,Android,Sip,Jain Sip,Jarjar,我正在尝试在Android设备(4.0.2)上运行JAIN-SIP堆栈。 我能够重新打包所需的jar文件(jain-sip-api-1.2-src.jar、jain-sip-src-1.2.1111.jar、concurrent.jar、log4j-1.2.8.jar) 这是我使用的build.xml文件: <!-- Converts this project's .class files into .dex files --> <target name="-jar
<!-- Converts this project's .class files into .dex files -->
<target name="-jarjar" depends="-compile">
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
classpath="buildtools/jarjar-1.4.jar"/>
<jarjar jarfile="${out.absolute.dir}/JainSipApi1.2_re.jar">
<zipgroupfileset dir="mylib" includes="jain-sip-api-1.2-src.jar" />
<rule pattern="javax.sip.**" result="sipper.sip.@1"/>
</jarjar>
<jarjar jarfile="${out.absolute.dir}/JainSipRi1.2_re.jar">
<zipgroupfileset dir="mylib" includes="jain-sip-src-1.2.1111.jar" />
<rule pattern="gov.nist.**" result="sipper.nist.@1"/>
</jarjar>
<jarjar jarfile="${out.absolute.dir}/concurrent_re.jar">
<zipgroupfileset dir="mylib" includes="concurrent.jar" />
<rule pattern="EDU.**" result="sipper.EDU.@1"/>
</jarjar>
<jarjar jarfile="${out.absolute.dir}/log4j-1.2.8_re.jar">
<zipgroupfileset dir="mylib" includes="log4j-1.2.8.jar" />
<rule pattern="org.apache.log4j.**" result="sipper.org.apache.log4j.@1"/>
</jarjar>
</target>
当我尝试运行此代码时,出现以下错误:
Problem initializing the SIP stack.
sipper.sip.PeerUnavailableException: Missing javax.sip.STACK_NAME property
at sipper.sip.SipFactory.createSipStack(SipFactory.java:144)
at SipLayer.<init>(SipLayer.java:86)
at SipperClient.main(SipperClient.java:51)
现在我的问题是,有没有合适的方法/解决方案让JAIN-SIP在Android下工作
提前感谢您的帮助:-)
丹尼尔我刚刚看到这篇文章,遇到了同样的问题 几分钟后,我成功地将jain sip堆栈移植到Nexus 7 Android 4.1 问题的主要原因是“Jar”包名。 由于Android不支持从包名“javax.*”导入库, 将jsip移植到Android平台的第一项工作是更改导入包的名称 您已经使用以下脚本将其中一个包名javax.sip更改为sipper.sip
<rule pattern="javax.sip.**" result="sipper.sip.@1"/>
因此jsip只需找到属性即可获得sip堆栈名。
最后,这个问题的答案。
请在jsip应用程序中添加这些代码
Properties properties = new Properties();
properties.setProperty("sipper.sip.STACK_NAME", "stack");
希望这可以帮助你和观众从互联网上 我刚刚看到这篇文章,遇到了同样的问题 几分钟后,我成功地将jain sip堆栈移植到Nexus 7 Android 4.1 问题的主要原因是“Jar”包名。 由于Android不支持从包名“javax.*”导入库, 将jsip移植到Android平台的第一项工作是更改导入包的名称 您已经使用以下脚本将其中一个包名javax.sip更改为sipper.sip
<rule pattern="javax.sip.**" result="sipper.sip.@1"/>
因此jsip只需找到属性即可获得sip堆栈名。
最后,这个问题的答案。
请在jsip应用程序中添加这些代码
Properties properties = new Properties();
properties.setProperty("sipper.sip.STACK_NAME", "stack");
希望这可以帮助你和观众从互联网上 现在有一个受JAIN SIP支持的Android端口,由编写大部分原始JAIN SIP堆栈的人提供:
现在,编写大部分原始JAIN SIP堆栈的人都支持Android端口的JAIN SIP:
Properties properties = new Properties();
properties.setProperty("sipper.sip.STACK_NAME", "stack");