java.lang.NoClassDefFoundError:android中的javax.activation.DataHandler
我正在使用android手机发送电子邮件应用程序。 为此我包含了两个jar文件activation. jar
activation. jar
和mail.jar
。 但是,当我运行这个应用程序,并尝试发送邮件,我有以下LogCat
错误。
java.lang.NoClassDefFoundError: javax.activation.DataHandler
我是新来的android。 所以我无法弄清楚这个问题。 请帮帮我。 谢谢
有一个Android友好的javamail端口 ,你应该使用。 有三个库,你需要包括在你的应用程序:mail.jar,activation.jar和additionnal.jar(原文如此)。 看起来你错过了激活库依赖的东西,这可能是因为你没有使用这个库的Android端口。
我已经在一个项目中成功地使用了易于使用的Android版本的javamail,而且工作得很好。
JavaMail API参考实现版本1.5.5及更高版本内置了对Android的支持,并包含对OAuth2的支持。
根据文档:
Android不提供Java Compatible运行时,所以不能运行标准的JavaMail发行版。 相反,JavaMail的特殊版本可用于Android。 JavaMail的这个特殊版本依赖于特殊版本的JavaBeans Activation Framework。
您可以通过将以下内容添加到您的Android应用程序的build.gradle文件来试用此版本:
android { packagingOptions { pickFirst 'META-INF/LICENSE.txt' // picks the JavaMail license file } } repositories { jcenter() maven { url "https://maven.java.net/content/groups/public/" } } dependencies { compile 'com.sun.mail:android-mail:1.5.5' compile 'com.sun.mail:android-activation:1.5.5' }
从JavaMail 1.6.0开始:
用于Android的JavaMail至less需要Android API级别19,其对应于Android KitKat,它是当前最早支持的Android版本。
- 如何在Android中获得独特的设备硬件ID?
- 玩短的声音Android的正确方法?
- AndroidRuntime错误:包裹:无法编组值
- Mac上debug.keystore的默认path是什么?
- Android:API等级VS. Android版本
- 如何使用Retrofit-Androidlogin请求和响应正文?
- Facebook SDK 4.10上的NPE:尝试调用空对象引用上的接口方法java.lang.Object com.facebook.inject.Lazy.get()
- Google Play商店为什么说我的Android应用与我的设备不兼容?
- Android Studio是否具有层次结构查看器?