今天写了一个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();
程序失灵:
第二天我运行程序 发送了一条邮件之后发现这个程序失灵了 ,后台无异常. 想到可能是邮箱有问题
最后发现是因为我用QQ安全中心开启了邮箱登录保护 如下图:
此时用电脑QQ打开邮箱就可以正常使用了