我正在为Unity做一个android插件,我需要将XMPP集成到Unity中,因此首先我要尝试创建XMPP的连接并发送和接收消息.它在android中工作正常,我能够发送和接收消息,但是当我导出.jar文件并在Unity中使用时,在创建连接时出现以下错误

SmackInitialization: Could not determine Smack version

java.lang.NullPointerException: lock == null

at java.io.Reader.(Reader.java:64)

at java.io.InputStreamReader.(InputStreamReader.java:122)

at java.io.InputStreamReader.(InputStreamReader.java:57)

at org.jivesoftware.smack.SmackInitialization.(SmackInitialization.java:61)

at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)

at org.jivesoftware.smack.ConnectionConfiguration.(ConnectionConfiguration.java:38)

at com.arvaan.myplugins.ToastExample.connectXMPP(ToastExample.java:99)

at com.unity3d.player.UnityPlayer.nativeRender(Native Method)

at com.unity3d.player.UnityPlayer.a(Unknown Source)

at com.unity3d.player.UnityPlayer$b$1.handleMessage(Unknown Source)

at android.os.Handler.dispatchMessage(Handler.java:98)

at android.os.Looper.loop(Looper.java:234)

at com.unity3d.player.UnityPlayer$b.run(Unknown Source)

我不知道Smack的问题是什么,我是Unity的新手,我知道如何在Unity中创建插件和调用方法,但是不知道这是怎么回事.

请检查代码:

public class ToastExample extends UnityPlayerActivity implements ConnectionListener, ChatManagerListener, RosterListener, PingFailedListener, StanzaListener, MessageListener, ChatMessageListener {

private static final String TAG = ToastExample.class.getSimpleName();

private AbstractXMPPConnection mConnection = null;

private ChatManager chatManager;

private Chat chat;

private Context context;

private String userName = "";

private String passWord = "";

private String objectName = "";

private static ToastExample instance;

public ToastExample() {

this.instance = this;

}

public static ToastExample instance() {

if (instance == null) {

instance = new ToastExample();

}

return instance;

}

public void setContext(Context context) { // This is also working fine

Log.e(TAG, "setContext called");

this.context = context;

}

public void showMessage(String message) { // I can able to see toast

Toast.makeText(this.context, message, Toast.LENGTH_SHORT).show();

}

public void connectXMPP(String host, int port, String userName, String passWord) {

Log.e(TAG, "_connectXMPP called");

XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); // Here i got error

configBuilder.setUsernameAndPassword(userName, passWord);

...............

...............

}

我在我的插件和Unity中使用以下.Jar文件

smack-core-4.1.4.jar

smack-extensions-4.1.4.jar

smack-im-4.1.4.jar

smack-android-4.1.4.jar

smack-android-extensions-4.1.4.jar

smack-tcp-4.1.4.jar

jxmpp-util-cache-0.4.2.jar

jxmpp-core-0.4.2.jar

jxmpp-jid-0.4.2.jar

jxmpp-stringprep-libidn-0.4.2.jar

minidns-core-0.2.0.jar**

有人也面临此问题,但未找到Check more

请帮助我解决此问题,在此先感谢.

java smack jar_android-SmackInitialization:无法确定Smack版本相关推荐

  1. hook java android_Android Hook Java的的一個改進版本

    Hook Java的的一個改進版本 <注入安卓進程,並Hook java世界的方法>這篇好文相信大家都看這,里面所提到的方法估計大家也都試過.不過里面的所用的方法,我發現有兩個可以改進的地 ...

  2. java jdk 环境不一致_jdk(多版本)安装注意!

    4.第二步,开始安装Jdk的运行环境,我将它安装在..../java_jdk1.8/jre8下: 5.安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA ...

  3. java 获取apk版本号_纯JAVA环境获取APK信息:包名,版本,版本号,大小,权限...

    [实例简介] 纯JAVA环境获取APK信息:包名,版本,版本号,大小,权限... 代码讲解地址:http://blog.csdn.net/chillax_li/article/details/4185 ...

  4. IDEA 运行maven项目时出错:Error java:错误: 不支持发行版本 XXX 5,12,14等

    IDEA 运行maven项目时出错:Error : java:错误: 不支持发行版本 5 java学习笔记 报错截图 错误说明 [Error : java:错误: 不支持发行版本 5]错误是因为jav ...

  5. Java JDK中几个经典的版本

    Java JDK中几个经典的版本 1. 1995年05月23日 JDK 1.0 版发布,于1996年JDK正式提供下载,标志着Java的诞生. 2. 1998年12月04日 JDK 1.2 版发布,而 ...

  6. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  7. Word处理控件Aspose.Words功能演示:使用 Java 处理 Word 文档的原始版本或修订版本

    Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word. A ...

  8. java运行平台的3个版本,目前 Java 平台主要分为哪3个版本?

    目前 Java 平台主要分为哪3个版本? 更多相关问题 FusionInsight LibrA完全继承了PostgreSQL的用户和角色的. E-105与C-101连通的物料线上各有一手阀. 足够大的 ...

  9. java xmpp smack_【XMPP】Smack源码之初步认识

    Smack 概述 Smack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天. Smack主要优势 非常简单易用,并且有十分强大的 API.只需三行代码就可以向用户发关文本消息: XM ...

最新文章

  1. 用python快速画小猪佩奇
  2. Redis初学:9(Zset类型)
  3. 中国牙科用人工骨替代材料市场供需态势与未来投资方向分析报告2022年
  4. 自然语言12_Tokenizing Words and Sentences with NLTK
  5. 2016 China Collegiate Programming Contest Final
  6. consul的安装配置 一centos7环境
  7. Android中用OpenGL ES Tracer分析绘制过程
  8. Kotlin入门(10)七十二变的输入参数
  9. windows7 iis安装 Windows Modules Installer服务无法启动
  10. php usort的用法,PHP usort()用法及代码示例
  11. POJ 1365 Prime Land
  12. 推荐个51CTO家园的活动哈
  13. 打车界的“拼多多”?
  14. vue文件的三大组成部分
  15. 黑马程序员视频加源码
  16. SocksCap64应用程序通过SOCKS代理
  17. 【PR】一看就会的常用视频效果
  18. SCSI 设备热插拔
  19. lob 索引 oracle,oracle 12c lob索引
  20. ThreeJS自带网格线

热门文章

  1. springboot学习文档
  2. 惠普召回16万块笔记本电池 存在安全隐患
  3. 二叉搜索树--基础篇
  4. 计算机辅助实验圆弧连接画法,机械制图常识:圆弧连接画法
  5. react项目启动报错”无法使用 JSX,除非提供了 “--jsx“ 标志。ts(17004)“
  6. 弹性盒模型实现两栏布局
  7. fr4走线宽度_如何调整PCB中走线宽度的大小
  8. STM32-NUCLEO-F411RE-USART_串口
  9. 调用第三方接口报java.net.UnknownHostException
  10. 286型计算机什么知识,那个向往