今天写了一个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();
,