简单明了地说就是更新依赖插件,使用高版本的android-mail。
背景我的as版本2021.1.1, 当前android-email版本1.5.5, 更新后版本 1.6.7
1.5.5版本的email在安卓7.1.1 运行正常,堪称完美;
而在安卓10, 安卓11 就直接闪退了,调试工具捕获到的错误信息大致是:
java.lang.VerifyError: Rejecting class com.sun.mail.handlers.text_plain that...
不确定是不是这个错误信息了,懒得去还原了,只知道虽然加了异常捕获,依然是闪退了就行。
只要你不是在主线程运行了发送消息指令而闪退的。
下面是详细步骤
一、更新插件的步骤 方法1.直接更改app级别下的build.gradle
文件
双击打开后,直接将email版本修改为1.6.7。
dependencies{
// ...
implementation 'com.sun.mail:android-mail:1.6.7'
//...
}
修改完成后保存,并同步gradle。
即:Sync Project with Gradle Files
使用Android Studio自带的project structure工具
使用快捷键 Ctrl + Alt + Shift + s
打开project Structure工具,点击左侧的 依赖选项,并在右侧找到 并点击 ‘android-email’ 依赖
如果依赖项不是最新的,会提示你进行更新, 并提供你可选版本。
然后点击ok即可自动同步。
之后再次编译运行,如果没有报错,即可成功发送邮件了。
如果编译报错了什么两个文件重复的问题,那就在 build.gradle
文件中添加下属配置。
packagingOptions {
exclude 'META-INF/NOTICE.md'
exclude 'META-INF/LICENSE.md'
// ...
}
重新同步、编译、运行、预祝发送邮件成功!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)