java.lang.Ошибка в noclassdeffounder: com.amazonaws.mobileconnectors.apigateway.ApiResponse

#android #aws-sdk #aws-api-gateway

#Android #aws-sdk #aws-api-шлюз

Вопрос:

Я внес несколько изменений в свое приложение для Android, и теперь я получаю это. Я думаю, это может быть вызвано обновлением автоматически созданного APIGateway SDK, который я использую в своем приложении. Но, может быть, это что-то еще? Я даже не уверен, с чего начать отладку.

build.gradle:

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '24.0.2'
    defaultConfig {
        applicationId "com.johndoe.supercoolsoftware"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //    compile fileTree(include: ['*.jar'], dir: 'app/libs')
    testCompile 'junit:junit:4.12'
    compile 'com.google.android.gms:play-services:9.2.0'
    compile 'com.google.android.gms:play-services-auth:9.2.0'
    compile 'com.facebook.android:facebook-android-sdk:4.14.1'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.amazonaws:aws-android-sdk-core:2.2.22'
    compile 'com.amazonaws:aws-android-sdk-s3:2.2.22'
    compile 'com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.2.22'
    compile 'com.amazonaws:aws-android-sdk-cognito:2.2.22'
    compile 'com.amazonaws:aws-android-sdk-apigateway-core:2.2.22'
    compile 'com.google.code.gson:gson:2.2.4'
    //used for API Gateway SDK generated classes
    compile files('libs/Api-alpha-0.51.jar') #<- autogenerated SDK
}

apply plugin: 'com.google.gms.google-services'
  

Комментарии:

1. Я только что обновил свой сгенерированный SDK и получил ту же ошибку. Вы нашли решение?

2. Похоже, что недавно созданные sdk-пакеты API имеют ApiResponse execute(ApiRequest var1); в качестве первого метода. Похоже, именно это приводит к сбою приложения

3. @TedEriksson Нет, я еще не нашел решения, но у меня больше не было времени изучать его с тех пор, как я опубликовал это. Если я что-то найду, я обязательно напишу здесь ответ (и вы тоже сделайте то же самое, пожалуйста: D)

Ответ №1:

Хорошо, я понял это. AWS только что обновил свое ядро Android. Итак, теперь при сборке используется более новая версия (v2.3.2 сейчас), где старая версия была v2.22.2. Как только я обновил свое приложение для Android, чтобы использовать v2.3.2, изменив свой файл gradel, все заработало.

 compile 'com.amazonaws:aws-android-sdk-core:2.3.2'
compile 'com.amazonaws:aws-android-sdk-s3:2.3.2'
compile 'com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.3.2'
compile 'com.amazonaws:aws-android-sdk-cognito:2.3.2'
compile 'com.amazonaws:aws-android-sdk-apigateway-core:2.3.2'
  

Комментарии:

1. Спасибо … после всех поисков в Google, только это решило проблему.