android dynamodb中的错误 - NoClassDefFoundError logging.LogFactory

时间:2016-04-05 09:27:06

标签: android amazon-web-services amazon-dynamodb logfactory

我正在开发一个应用程序,我使用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' } 

1 个答案:

答案 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。