我正在处理的gmail客户端出现异常。例外情况是
java.lang.在getDefaultInstance行上触发的NoClassDefFind
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
我将javax jar包括在内,如下所示:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.google.api-client:google-api-client:1.20.0'
compile 'com.google.api-client:google-api-client-android:1.20.0'
compile 'com.google.api-client:google-api-client-gson:1.20.0'
compile 'com.google.apis:google-api-services-gmail:v1-rev29-1.20.0'
compile 'javax.mail:javax.mail-api:1.5.2'
}
我已经谷歌了这个,但不太确定如何解决这个问题。我尝试了清理和重建,在这两种情况下,异常仍然被抛出。任何帮助都将不胜感激。
执行细节消息:
Didn't find class "com.sun.mail.util.MailLogger" on path: DexPathList[[zip file "/data/app/com.android.application.androidgmailclient-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
更新
我发现缺少的类“MailLogger”不是javax的一部分。邮件api,而它是“javax”的一部分。邮件:mail:1.5.0-b01'jar,其中1.5.0-b01是最新版本:
http://mvnrepository.com/artifact/javax.mail/mail/1.5.0-b01
所以我将compile'javax.mail: mail: 1.5.0-b01'
包含到我的gradle文件中,然后我在外部库中找到了jar。我将jar复制到app/libs中,然后点击“添加为库”。我可以看到MailLogger类现在存在,这就是异常中被轰炸的内容。我的gradle文件现在如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc2"
packagingOptions{
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
defaultConfig {
applicationId "com.android.app.androidgmailclient"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.google.api-client:google-api-client:1.20.0'
compile 'com.google.api-client:google-api-client-android:1.20.0'
compile 'com.google.api-client:google-api-client-gson:1.20.0'
compile 'com.google.apis:google-api-services-gmail:v1-rev29-1.20.0'
compile 'javax.mail:mail:1.5.0-b01'
compile files('libs/mail-1.5.0-b01.jar')
}
但是,当我现在开始构建项目时,会出现以下构建错误:
错误:任务“:app:dexDebug”的执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/系统/库/Java /JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java"以非零退出值结束2
有什么想法吗?
我假设您已经成功编译了代码,但遇到了运行时异常。您需要在最终包中包含jar文件。看看这个和这个。
发生此错误是因为您两次添加相同的库。
compile 'javax.mail:mail:1.5.0-b01'
compile files('libs/mail-1.5.0-b01.jar')
删除其中一行,然后我认为它应该可以正常工作。
不确定您是否已经解决了这个问题,但我发现您需要使用特定于Android的Java邮件库。
compile 'com.sun.mail:android-mail:1.5.5'
compile 'com.sun.mail:android-activation:1.5.5'
我遇到了你的错误和其他类似的使用最新的Java邮件库,但切换到这些修复了所有这些。
https://java.net/projects/javamail/pages/Android
Android Studio:NoClassDefFoundError
问题内容: 我有一个简单的Java程序,它无法按照我认为的方式运行。 为什么这不打印出2.5? 问题答案: 5/2是整数除法(您甚至将其存储在整数变量中),如果希望将其设为2.5,则需要使用浮点除法: 整数除法总是等于四舍五入到最接近整数的普通数学除法。
问题内容: 安装最新的Mac OSX 64位Anaconda Python发行版后,尝试启动时,我始终收到。 启动ipython可以正常工作: 但是启动ipython笔记本: 结果出现(带有回溯): locale从终端运行命令: 问题答案: 我将这些行添加到我的.: 我重新加载了个人资料: 然后我又跑ipython了: 变更地区 以上内容适用于美国语言环境中的英语。可能需要不同的设置。 为了发现明
而我不断收到消息“断言错误”。我不知道为什么。如果我将更改为它工作得很好,那么为什么它不能与getPageSource一起工作呢?
它是一个命令行程序。试图使用java.net.http模块发送POST调用,但我一直收到以下错误。 Intellij project SDK-java 11.0.10版 代码-
当godownname和itemname匹配时,我想从表中获取最后可用的余额。 我试了一些代码。但是我对Oracle中的函数有一个问题。 我得到了错误: 严重:空java。sql。SQLSyntaxerRorexException:ORA-00907:oracle缺少右括号。jdbc。驾驶员t4cttiore。oracle的processError(t4cttiore.java:450) 。jdb
问题内容: 我对Swift的了解还不够多,但是我注意到的一件事是没有例外。那么如何在Swift中进行错误处理呢?有没有人发现任何与错误处理相关的信息? 问题答案: 斯威夫特2&3 Swift 2中的情况有所变化,因为有了新的错误处理机制,该机制与异常有些相似,但在细节上有所不同。 1.指示错误可能性 如果函数/方法想要表明它可能抛出错误,则应包含这样的关键字 注意:函数没有实际抛出的错误类型的规范