错误:Gradle:错误:包 javax.mail 不存在

cja*_*m13 5 java android jakarta-mail intellij-idea android-gradle-plugin

如何从 javamail 获取 .jar 文件?

我正在使用 intelliJ IDEA IDE 并尝试转到项目结构 - 库 - 添加 - 位于 .jar 文件并保存。然后我去了模块并检查了导出下的框,因为我用于片段等的支持库也被检查了。

使用 JavaMail API 在 Android 中发送电子邮件中的代码没有使用默认/内置应用程序,但没有使用。

我尝试使用完整的 .jar 文件以及在提取后使用,但都因相同的错误而失败。

我在代码编辑模式下没有收到错误,只有在编译时 gradle 构建失败并显示错误,“错误(3,6):Gradle:错误:包 javax.mail 不存在。请帮忙!

我还尝试按照如何在 Android 项目中使用外部 JAR 的说明进行操作但我认为这些方向与 Eclipse IDE 有关。

edt: gradle-build:

Information:Compilation completed with 25 errors and 0 warnings in 25 sec
Information:25 errors
Information:0 warnings
Error:Gradle: Execution failed for task ':app:compileDebugJava'.
Run Code Online (Sandbox Code Playgroud)

编译失败;有关详细信息,请参阅编译器错误输出。C:\Users\Marcus\Documents\IdeaProjects\Android\TestProjects\TestMailFeature3\app\src\main\java\com\majorwit\testmailfeature3\app\GMailSender.java

Error:(3, 24) Gradle: error: package javax.activation does not exist

Error:(4, 24) Gradle: error: package javax.activation does not exist

Error:(5, 18) Gradle: error: package javax.mail does not exist

Error:(6, 18) Gradle: error: package javax.mail does not exist

Error:(7, 18) Gradle: error: package javax.mail does not exist

Error:(8, 18) Gradle: error: package javax.mail does not exist

Error:(9, 27) Gradle: error: package javax.mail.internet does not exist

Error:(10, 27) Gradle: error: package javax.mail.internet does not exist

Error:(18, 44) Gradle: error: package javax.mail does not exist

Error:(22, 13) Gradle: error: cannot find symbol class Session

Error:(46, 15) Gradle: error: cannot find symbol class PasswordAuthentication

Error:(67, 49) Gradle: error: cannot find symbol class DataSource    

Error:(43, 19) Gradle: error: cannot find symbol variable Session

Error:(47, 20) Gradle: error: cannot find symbol class PasswordAuthentication

Error:(52, 13) Gradle: error: cannot find symbol class MimeMessage

Error:(52, 39) Gradle: error: cannot find symbol class MimeMessage

Error:(53, 13) Gradle: error: cannot find symbol class DataHandler

Error:(53, 39) Gradle: error: cannot find symbol class DataHandler

Error:(54, 35) Gradle: error: cannot find symbol class InternetAddress

Error:(58, 46) Gradle: error: package Message does not exist

Error:(58, 65) Gradle: error: cannot find symbol variable InternetAddress

Error:(60, 45) Gradle: error: package Message does not exist

Error:(60, 68) Gradle: error: cannot find symbol class InternetAddress

Error:(61, 13) Gradle: error: cannot find symbol variable Transport
Run Code Online (Sandbox Code Playgroud)

use*_*191 2

javax.activation 和 javax.mail 包不是标准 android 包的一部分 ( http://developer.android.com/reference/packages.html )。

幸运的是,JavaMail 的 Android 版本已经发布(https://java.net/projects/javamail/pages/Android)。我遵循了在 Android Studio 中修改项目的 build.gradle 文件的建议,并且能够成功编译,而无需手动下载任何 jar 文件。

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'
}
Run Code Online (Sandbox Code Playgroud)