gpt4 book ai didi

java - Android 发送自动电子邮件问题

转载 作者:行者123 更新时间:2023-12-02 04:25:46 25 4
gpt4 key购买 nike

我正在尝试编写一个应用程序,通过 Android 应用程序中的按钮推送自动发送电子邮件。

我意识到这个问题已经被问过多次,但我仍然没有找到适合我的案例的最终解决方案。

我遵循的代码示例来自这里:

http://macmaker.blogspot.com/2012/04/send-emails-in-background-in.html

GMailSender 类完全相同。 MainActivity 类也是如此,只是我使用自己的电子邮件来测试它是否正确发送。

我研究过的两个主要问题如下:

Android sending emails java.lang.NoClassDefFoundError: javax.activation.DataHandler

java.lang.NoClassDefFoundError: javax.activation.DataHandler in android

我已将所有三个文件(activation.jar、additionnal.jar、mail.jar)作为模块放入我的项目中。这是通过遵循此 YouTube 视频中的示例来完成的:

https://www.youtube.com/watch?v=dpuJPoXkFG4

但是,我仍然不断收到此错误:

08-25 14:10:24.968  29531-29531/com.example.mailapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.mailapp, PID: 29531
java.lang.NoClassDefFoundError: javax.activation.DataHandler
at com.example.mailapp.GMail.send(GMail.java:103)
at com.example.mailapp.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

我不确定我所遵循的 YouTube 视频中的步骤是否是其无法正常工作的原因,或者总体代码是否存在问题。

如果您有任何建议,请帮忙。

编辑:我还尝试将所有 .jar 文件放入 libs 文件夹中,并确保它们位于依赖项下的 build.gradle 文件中,如下所示:

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.2.0'
compile project(':activation')
compile project(':additionnal')
compile project(':mail')
compile files('libs/activation.jar')
compile files('libs/additionnal.jar')
compile files('libs/mail.jar')
}

我通过查看这个问题来做到这一点:

Android Studio: Add jar as library?

但是错误仍然存​​在。

编辑2:当 .jar 文件位于我的 libs 文件夹(和模块中)时,我可以找到 DataHandler 类。但是,当我单击它查看它时,屏幕顶部会出现一条消息,显示“反编译的 .class 文件,字节码版本:48.0 (Java 1.4)”

不确定这对该网站上的任何人是否有用。另外,该文件被锁定,因为我无法编辑它,这正是我所期望的。

最佳答案

无论出于何种原因,我下载的activation.jar 文件第一次无法运行。我一直发现它是反编译的.class文件,字节码版本:48.0(Java 1.4)

然后我删除了从以下链接获得的所有文件:

https://code.google.com/p/javamail-android/downloads/list

然后再次重新下载所有这些文件。然后我完成了将它们作为库添加回我的应用程序中的整个过程。

现在一切工作正常,当从activation.jar查看DataHandler类时,它显示“反编译的.class文件,字节码版本:49.0(Java 5.0)”

我仍然不知道为什么当我第一次下载它时,它不起作用,但现在可以正常工作了。

关于java - Android 发送自动电子邮件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32213897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com