Jou*_*los 5 android jakarta-mail android-studio
我刚刚将Android Studio更新到了版本3.1,但我惊讶于未知的错误消息:程序类型已存在:com.sun.activation.registries.LineTokenizer
> :testeapn:transformClassesWithDexBuilderForDebug AGPBI:
> {"kind":"error","text":"Program type already present: com.sun.activation.registries.LineTokenizer","sources":[{}],"tool":"D8"}
> :testeapn:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
>
> FAILURE: Build failed with an exception.
>
> * What went wrong: Execution failed for task ':testeapn:transformDexArchiveWithExternalLibsDexMergerForDebug'.
Run Code Online (Sandbox Code Playgroud)
经过大量研究后,我意识到问题出在javax.mail库。因此,在删除该库的每个.jar和每个引用之后,我可以再次构建,但是我删除了我的应用程序的此功能。
现在,我必须使我的应用程序能够再次发送邮件,但是我找不到如何执行此操作的方法,因此请您提供帮助。
我在Google上搜索了很多东西,并在https://javaee.github.io/javamail/Android中找到了新信息(至少对我来说):我们不应该再添加additionalnal.jar,mail.jar和activation.jar。我们必须添加新的依赖项:
Run Code Online (Sandbox Code Playgroud)implementation 'com.sun.mail:android-mail:1.6.1' implementation 'com.sun.mail:android-activation:1.6.1'
但是,在我的app.gradle中添加了这些行并且没有编写任何代码后,我再次遇到了以上错误。
有人知道此消息的含义和做什么吗?
additionnal.jar
从 3 个 jars (mail.jar
和activation.jar
) 升级到com.sun.mail:android-mail:1.6.1
和后,我遇到了与您完全相同的问题com.sun.mail:android-activation:1.6.1
。我也在使用Android Studio 3.1。
我的解决方案是,不使用 1.6.1,而是使用稍旧的版本 1.6.0。错误消失,应用程序重新构建并运行。
implementation 'com.sun.mail:android-mail:1.6.0' implementation 'com.sun.mail:android-activation:1.6.0'
一些细节
我在那里做了一些挖掘。问题似乎在于com.sun.mail:android-activation:1.6.1
依赖于javax.activation:activation:1.1
,并且这两个包都包含com.sun.activation.registries.*
类。它导致构建失败。
相反,依赖关系不存在于com.sun.mail:android-activation:1.6.0
.
依赖图是通过运行生成的gradlew :app:dependencies --configuration debugRuntimeClasspath
。
1.6.0
debugRuntimeClasspath - Resolved configuration for runtime for variant: debug +--- com.sun.mail:android-mail:1.6.1 | +--- com.sun.mail:android-activation:1.6.1 | | \--- javax.activation:activation:1.1 | \--- javax.activation:activation:1.1 +--- com.sun.mail:android-activation:1.6.1 (*) +---
1.6.0
debugRuntimeClasspath - Resolved configuration for runtime for variant: debug +--- com.sun.mail:android-mail:1.6.0 | \--- com.sun.mail:android-activation:1.6.0 +--- com.sun.mail:android-activation:1.6.0
您也可以在下面的屏幕截图中看到它。
使用版本 1.6.1 时的 Android Studio 屏幕截图
尽管我想向他们的开发人员发布错误报告。他们的旧问题跟踪器页面 ( https://github.com/javaee/javamail/issues ) 已关闭,而他们在 Eclipse Foundation 上的新项目页面 ( https://projects.eclipse.org/projects/ee4j.javamail ) 非常慢到我几乎无法打开它。
归档时间: |
|
查看次数: |
1478 次 |
最近记录: |