今天写了一个javamail Demo准备用于我的Android程序

我用junit和mian方法都可以顺利发出邮件

后来把它加入android程序中就出现了异常NoClassDefFoundError

我第一反应就是jar包问题 反复排查jar包 没有发现问题 最奇怪的地方是

(我调用main方法执行程序是可以成功发送邮件的,就是在Android 程序中调用会有这个异常)

最后把additionnal.jar 引入项目 这时异常改变了 NetworkOnMainThreadException

然后把这段程序放入线程中执行 这时就不再有问题

总结:

NoClassDefFoundError 虽然编译时没用到某jar包 但是运行时可能会需要

NetworkOnMainThreadException 如果在主线程中请求网络操作,将会抛出此异常

new Thread(new Runnable(){ @Override public void run() { //.. } }).start();

javamail怎么回复邮件(javamail发送QQ邮件)(1)

,