我正在开发一个应用程序,我使用DynamoDBmapper使用Amazon DynamoDB。我收到以下错误。
以下是logcat:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.amazonaws.org.apache.commons.logging.LogFactory
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.
即使我做了所有建议的here之后,我也没有摆脱错误。
有人可以帮助我吗?
我正在使用Android Studio。我在libs文件夹中添加了commons-logging.jar。
我不确定我在这里还提到了什么。如果您可以提出具体问题,我可以回复。
伙计们......请帮忙。已经浪费了一周时间试图找到解决方案而没有任何运气。
AWS Android SDK:2.2.13
的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
defaultConfig {
applicationId "com.example.lenovo.dynamodb6"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
resources.srcDirs = ['src/main/java']
}
}
productFlavors {
}
repositories {
jcenter()
} }
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile files('libs/commons-logging-1.2.jar')
compile files('libs/commons-codec-1.6.jar')
compile files('libs/jackson-core-2.5.3.jar')
compile files('libs/httpcore-4.3.3.jar')
compile files('libs/httpclient-4.3.6.jar')
compile files('libs/jackson-annotations-2.5.0.jar')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.amazonaws:aws-android-sdk-core:2.2.13'
compile 'com.amazonaws:aws-android-sdk-ddb:2.2.13'
compile 'com.amazonaws:aws-android-sdk-ddb-mapper:2.1.8' }
答案 0 :(得分:0)
问题是DynamoDB映射器的版本不正确。请将com.amazonaws:aws-android-sdk-ddb-mapper
发送到2.2.13或更高版本。 AWS Android SDK库的结构已从2.1.x更改为2.2.x.请不要混淆它们。
PS:在Android项目中使用Apache HttpClient 4.3可能会带来麻烦,因为Android有其旧版本的HttpClient。