简单明了地说就是更新依赖插件,使用高版本的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
方法2.
使用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'
}
重新同步、编译、运行、预祝发送邮件成功!!!
|