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

问题描述

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

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

有用过的大神能使用的吗?求源码!!!

这是我的代码,就是按官方介绍打出来的:
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;
    }

解决方案

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

解决方案二:

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

再看看 混淆问题。

解决方案三:

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

解决方案四:

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

解决方案五:

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

解决方案六:

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

解决方案七:

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

解决方案八:

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

解决方案九:

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

时间: 2024-08-07 22:22:29

xmpp-Smack4.1 android 找不到包异常(NoClassDefFoundError)的相关文章

android找不到jar包,androidstudio项目移植到eclipse

问题描述 android找不到jar包,androidstudio项目移植到eclipse import io.codetail.animation.SupportAnimator;import io.codetail.animation.ViewAnimationUtils; 用别人的androidstudio的开源框架的时候,找不到这两个类所在的jar包这两个类是在哪个jar包里? 解决方案 尽量不要用eclipse

android-linux下编译Android,提示找不到包

问题描述 linux下编译Android,提示找不到包 我这个项目在eclipse中编译都能够编译成功,但是将项目放到Linux下编译的时候,就出现找不到android-support-v4.jar这个包

android-关于eclipse中Android项目导入jar包的问题

问题描述 关于eclipse中Android项目导入jar包的问题 本人刚刚开始自学Android robotium自动化测试. 学习写一个计算器测试的例子, 可是新建完Android Test Project(已导入源代码), 在工程下创建了libs文件夹,可是右键Build Path这一项中没有"add to build path"这一项 另外有人告诉了我右键工程也可以直接添加jar包,我想知道右键直接在工程中添加跟新建文件夹添加有何区别? 求大神指教!!! 解决方案 eclips

gradle-android 依赖 提示找不到 包

问题描述 android 依赖 提示找不到 包 用gradle运行的时候 发现提示找不到包. 结构是 android项目 依赖A项目,A项目依赖B项目 运行的时候提示找不到 B项目里面的class. android 不能智能点依赖么 output都勾选了的. 因为B项目不是跟android项目直接依赖. 我也不想直接依赖. 因为本身就没什么关系 只是A项目用到了这些东西. 请问 打包的时候如何能在android 项目里面 不配置任何跟b项目有关的东西 让能正确导出依赖关系?

jar包导入-关于在android中导入jar包

问题描述 关于在android中导入jar包 1,右键工程, Build path, java build path, 2,选择libraries在右边的按钮中点击"Add Library" 3,选择"User library",点击"下一步" 4,点击"User librarys"按钮在出现的界面中点击"New.."按钮 在弹出的界面中随便起一个名字,点击"确定" 5,点击"

android 不能自动导包怎么回事

问题描述 android 不能自动导包怎么回事 不知道怎么回事,导入的包都没有了,而且也不能自动导包,求个大神指点一下 解决方案 换个路径试试,我上次换了一下路径,就导进去了 解决方案二: 看看你jdk的版本,重新导入一次. 创建一个新的项目,如果还不行,那就是环境问题,重新安装下android sdk和eclipse 解决方案三: 找不到类了啊...你的android.jar还在吗? 解决方案四: 可能是你的IDE或JDK的问题 解决方案五: import android.widget.But

包名替换-android 项目替换了包名却不能同时安装,报错如下 求大神

问题描述 android 项目替换了包名却不能同时安装,报错如下 求大神 Can't install because provider name com.yitie.tuxingsun (in package com.yitie.ZhengZhouGDJT) is already used by com.yitie.tuxingsun 解决方案 设置下mainfest下的package属性 解决方案二: 已经设置了 前一个项目这么设置可以同时安装 这个却报错了

格式-关于Android项目中不同包之间的类相互调用

问题描述 关于Android项目中不同包之间的类相互调用 在同一个项目中我创建了几个包,然后在包 com.g.zxing.client.android中创建了类文件数据库MySQLiteOpenHelper我想在包com.g.zxing.client.android.result中的TextResultHandler.java调用MySQLiteOpenHelper格式如下import com.g.zxing.client.android.MySQLiteOpenHelper; public M

cpp-关于 cocos2d-x 接入android的第三方jar包

问题描述 关于 cocos2d-x 接入android的第三方jar包 cocos2d-x 3.1 的 想接入android的第三方jar包 接入后 要去调用cocos里面游戏的cpp文件里面的方法 该怎么去调用啊 有没有做过类似的大神啊 求讲解啊 !!先谢过了 很急!!!! 有个想法 就是能不能通过自己写一个native的方法 然后生成cpp文件 在这个cpp文件里面去调用cocos游戏cpp文件里面的方法啊