我刚刚将我的Android更新到了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'.在深入挖掘之后,我意识到问题是javax.mail库。所以,在删除了所有的.jar和对库的每一个提及之后,我可以重新构建,但是我删除了我的应用程序的这个功能。
现在我必须让我的应用再次发送邮件,但我找不到如何做到这一点,我请求你的帮助。
我在https://javaee.github.io/javamail/Android上搜索了很多信息(至少对我来说是这样):我们不应该再添加additionnal.jar,mail.jar和activation.jar了。我们必须添加新的依赖项:
实现'com.sun.mail:android-mail:1.6.1‘实现’com.sun.mail:android-激活:1.6.1‘
但是,在我的app.gradle中添加了这些行之后,并且没有编写一行代码,我再次得到了上面的错误。
有人知道这条信息意味着什么吗?该怎么做?
发布于 2018-04-11 08:00:26
在从3 jars (additionnal.jar、mail.jar和activation.jar)升级到com.sun.mail:android-mail:1.6.1和com.sun.mail:android-activation:1.6.1之后,我遇到了与您完全相同的问题。我也在使用AndroidStudio3.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时您也可以在下面的屏幕截图中看到它。
不过,我想向他们的开发人员发布一个bug报告。他们的旧问题跟踪器页面(https://github.com/javaee/javamail/issues)已经关闭,他们在Eclipse (https://projects.eclipse.org/projects/ee4j.javamail)上的新项目页面非常慢,我几乎无法打开它。
https://stackoverflow.com/questions/49575982
复制相似问题