ysn003 2015-06-05 09:52 采纳率: 100%
浏览 3899
已采纳

Smack4.1 android 找不到包异常(NoClassDefFoundError)

想使用最新的Smack4.1.0 在我的项目当中,就先搞一个单独的,希望能跑起来。结果就是简单的都弄不起来。导入所有包后,可以编译通过。
但是一使用到它的包,就抛个异常给我。整了半天也没弄明白是包的原因还是哪配置的问题。
在网上找到这个资料:https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-Upgrade-Guide
也不会弄,又是phython又是maven又是Ant的,英语也不好,不知道怎么弄。
![图片说明](https://img-ask.csdn.net/upload/201506/05/1433497785_180037.png)图片说明
有用过的大神能使用的吗?求源码!!!

这是我的代码,就是按官方介绍打出来的:
public void onClick(View v){
    new Thread(new Runnable() {

        @Override
        public void run() {
            try {


                XMPPTCPConnection connection = getConnection();
                connection.connect();
                connection.login("anytime_eeeeee","qq123456","ubuntu");
            } catch (SmackException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (XMPPException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }).start();
}
 private XMPPTCPConnection getConnection(){

        XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder();
        builder.setServiceName("ubuntu");
        builder.setHost("58.64.162.184");
        builder.setPort(5222);
        builder.setCompressionEnabled(false);
        builder.setDebuggerEnabled(false);
        builder.setSendPresence(true);
        builder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);

        XMPPTCPConnection connection = new XMPPTCPConnection(builder.build());
        return connection;
    }
  • 写回答

9条回答 默认 最新

  • ysn003 2015-06-09 01:27
    关注

    重新建了个工程,导入了相应的包,在官网的论坛上找到了一个例子,按着例子做就可以运行并跑起来了。
    https://community.igniterealtime.org/thread/55618,当然这个是有问题的,他没有使用到server name
    我把我的代码放上来,希望新来的学员不要被这恶心的搭环境被搞怕了。
    代码地址:http://download.csdn.net/detail/ysn003/8786987

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 千本摩的 2015-06-05 10:19
    关注

    是否在gradle里使用了混淆??????

    评论
  • LogicTeamLeader 2015-06-05 11:42
    关注

    你用的IDE是ADT还是Android Studio?这个就是没有找到相关的类,还是导入的包有问题。

    评论
  • 程序猿小亮 Java领域优质创作者 2015-06-06 01:01
    关注

    找不到包异常(NoClassDefFoundError) Didn't find class "org.jivesoftw"你可以上网查一下包含这个类的包

    评论
  • windsunmoon 2015-06-06 10:49
    关注

    android客户端一般使用asmack,你可以换成这个jar试试。

    评论
  • windsunmoon 2015-06-08 09:36
    关注

    肯定是依赖路径的问题。看看order an export 有没有把smack的包导出。另外可以反编译 apk,看看 反编译后 到底有没有 那个类。

    再看看 混淆问题。

    评论
  • ysn003 2015-06-10 01:14
    关注

    终于找到真正原因了!
    因为之前弄的是测试项目,所以又把所有的smack jar 包制作成 library.结果问题再次出现,
    解决方法是:
    右键你的项目->Build path ->Configure Build path ->Order and Export
    把你制作 的User library 勾选上即可!
    图片说明
    其实那个勾选不选上到底是什么原理,搞不懂,有哪位懂的分享一下,谢谢

    评论
  • 请叫我头头哥 2015-06-10 07:26
    关注

    看看order an export 有没有把smack的包导出

    评论
  • windsunmoon 2015-06-11 03:37
    关注

    export and order 勾选上,意思就是 导出apk的时候,一起打包到apk中

    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥50 burgers方程求逆
  • ¥15 matlab最小二乘法拟合非线性曲线提问
  • ¥15 电脑锁屏时vba运行SAP,excel数据不能复制到SAP
  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题