web-dev-qa-db-fra.com

Android Studio 3.6.1 avec Gradle Plugin Version 3.6.1 et Gradle Version 5.6.4 ne fonctionne pas

Mon application fonctionne très bien. Je viens de mettre à jour Android Studio 3.6.1 ,

Après la mise à jour Android Studio, j'ai obtenu cette boîte de dialogue et je vais mettre à jour la version du plugin Gradle comme ci-dessous.

enter image description here

Après la mise à jour, mon application plante et obtient les erreurs suivantes.

Java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/Android/gms/common/R$string;
        at com.google.Android.gms.common.internal.StringResourceValueReader.<init>(Unknown Source:4)
        at com.google.firebase.FirebaseOptions.fromResource(com.google.firebase:firebase-common@@19.3.0:156)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@19.3.0:244)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@19.3.0:51)
        at Android.content.ContentProvider.attachInfo(ContentProvider.Java:1940)
        at Android.content.ContentProvider.attachInfo(ContentProvider.Java:1915)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@19.3.0:45)
        at Android.app.ActivityThread.installProvider(ActivityThread.Java:6770)
        at Android.app.ActivityThread.installContentProviders(ActivityThread.Java:6317)
        at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:6232)
        at Android.app.ActivityThread.access$1200(ActivityThread.Java:237)
        at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1792)
        at Android.os.Handler.dispatchMessage(Handler.Java:106)
        at Android.os.Looper.loop(Looper.Java:214)
        at Android.app.ActivityThread.main(ActivityThread.Java:7078)
        at Java.lang.reflect.Method.invoke(Native Method)
        at com.Android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.Java:494)
        at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:974)

Mon niveau de projet build.gradle est:

buildscript {
    ext.objectboxVersion = '2.5.0'
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.6.1'
        classpath 'com.google.gms:google-services:4.3.3'

        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.2.1"
        classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        // Add dependency
        classpath 'io.fabric.tools:gradle:1.31.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

et Mon niveau d'application build.gradle est:

apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'
apply plugin: "androidx.navigation.safeargs"

Android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.sohamerp.marsremedies"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled true
    }
    dataBinding {
        enabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

dependencies {
    //implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.navigation:navigation-fragment:2.2.1'
    implementation 'androidx.navigation:navigation-ui:2.2.1'

    implementation 'androidx.multidex:multidex:2.0.1'

    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.Android.material:material:1.2.0-alpha05'

    implementation 'com.github.mukeshsolanki:Android-otpview-pinview:2.1.0'

    implementation 'com.squareup.retrofit2:retrofit:2.7.1'
    implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.4.0'

    implementation 'com.google.Android.gms:play-services-location:17.0.0'
    implementation 'com.google.firebase:firebase-core:17.2.2'
    implementation 'com.google.firebase:firebase-auth:19.2.0'
    implementation 'com.google.firebase:firebase-messaging:20.1.0'
    implementation 'com.crashlytics.sdk.Android:crashlytics:2.10.1'

    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
    annotationProcessor 'androidx.annotation:annotation:1.1.0'

    implementation "com.github.firdausmaulan:GlideSlider:1.5.1"

    implementation 'com.theartofdev.edmodo:Android-image-cropper:2.8.0'

    implementation 'org.greenrobot:eventbus:3.1.1'

    debugImplementation "io.objectbox:objectbox-Android-objectbrowser:$objectboxVersion"
    releaseImplementation "io.objectbox:objectbox-Android:$objectboxVersion"

    implementation 'com.intuit.sdp:sdp-Android:1.0.6'
}
// apply the plugin after the dependencies block

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

Il n'y a qu'une seule solution que j'ai essayée est de revenir à la version de Gradle que j'ai mise à jour, mais que faire si je veux utiliser les dernières versions.

Mettre à jour:

Un de mes projets fonctionne avec une version de Android Studio et Gradle. Voici Firebase SDK est différent dans les deux projets, donc je pense que Firebase est Project .

De l'aide? Que devrais-je faire?

4
Pratik Butani

Solution possible:

Mettez à niveau la version des plugins dans Top-level build.gradle.

Détail:

J'ai mis à niveau la version Gradle de 5.4.1 à 5.6.4 et la version du plugin de 3.5.3 à 3.6.2, puis j'ai rencontré un problème que la classe n'a pas pu trouver.

J'ai utilisé Realm dans le projet et le niveau supérieur build.gradle est:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    /.../
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.6.2'
        classpath "io.realm:realm-gradle-plugin:5.8.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

Ce problème semble que certaines bibliothèques/plugins ne traitent pas les classes R dans R.jar mais en R.Java après la version du plugin Gradle supérieure à 3.6.0. Voir ici pour plus de détails.

Et la solution est de mettre à niveau Realm vers une version plus récente, pour moi c'est 6.0.2. Voir ici pour plus de détails.

    dependencies {
        classpath 'com.Android.tools.build:gradle:3.6.2'
        classpath "io.realm:realm-gradle-plugin:6.0.2" // <- modify
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
0
Symeon Chen

Si vous êtes toujours à la recherche de cela, je viens de recevoir une mise à jour de la version 3.6.2 et elle a spécifiquement fait une mise à jour liée à Firebase (bien que mon code n'utilise pas Firebase ..) immédiatement après le redémarrage.

0
user153822

gradle 5.6.4 ayant un problème de synchronisation. allez dans le gradle-wrapper.properties et changez l'url en ceci

distributionUrl = https: //services.gradle.org/distributions/gradle-6.0-all.Zip

0
Rahul Hazra

J'ai essayé de nombreuses suggestions de stackoverflow (ici), de forums github, etc. Vérifié les versions des plugins gradle et gradle s'il y a des problèmes de compatibilité. Seulement fonctionné: je nettoie les fichiers .idea et .gradle, quitte AndroidS et j'ouvre mon projet natif de réaction sur Android studio et je l'ai ouvert depuis file choose Android, après cela a attendu Android studio terminer l'indexation (vraiment attendu cette fois) et appuyez sur l'icône hammer pour la construction et attendez à nouveau patiemment et exécutez la construction sur simulateur avec succès.

Je n'ai pas attendu avant, je suppose que je n'imaginais pas que Android studio prend tellement de temps à index-run-build

Je partage si quelqu'un est toujours coincé, la clé m'attendait, bonne chance

0
greenridinghood

J'ai rencontré la même erreur. Cependant, j'ai réussi à construire de la manière suivante.

- classpath 'com.google.firebase:firebase-plugins:1.1.1'
+ classpath 'com.google.firebase:firebase-plugins:1.2.0'
0
tichise

Il semble que vous mélangez l'ancien tissu et les crashlytics avec de nouveaux firebase et crashlytics. Essayer:

Niveau du projet build.gradle:

buildscript {
    ext.objectboxVersion = '2.5.0'
    repositories {
        google()
        jcenter()
//        maven {
//            url 'https://maven.fabric.io/public'
//        }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.6.1'
        classpath 'com.google.gms:google-services:4.3.3'

        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.2.1"
        classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        // Add dependency
//        classpath 'io.fabric.tools:gradle:1.31.0'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Build.gradle au niveau de l'application:

apply plugin: 'com.Android.application'
apply plugin: "androidx.navigation.safeargs"
//apply plugin: 'io.fabric'
apply plugin: 'com.google.firebase.crashlytics'

Android {
    compileSdkVersion 29
//    buildToolsVersion "29.0.2"    // buildtools is now automatically determined, based on compileSDKVersion
    defaultConfig {
        applicationId "com.sohamerp.marsremedies"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled true
    }
    dataBinding {
        enabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

dependencies {
    //implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.navigation:navigation-fragment:2.2.1'
    implementation 'androidx.navigation:navigation-ui:2.2.1'

    implementation 'androidx.multidex:multidex:2.0.1'

    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.Android.material:material:1.2.0-alpha05'

    implementation 'com.github.mukeshsolanki:Android-otpview-pinview:2.1.0'

    implementation 'com.squareup.retrofit2:retrofit:2.7.1'
    implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.4.0'

    implementation 'com.google.Android.gms:play-services-location:17.0.0'
    implementation 'com.google.firebase:firebase-core:17.2.2'
    implementation 'com.google.firebase:firebase-auth:19.2.0'
    implementation 'com.google.firebase:firebase-messaging:20.1.0'
//    implementation 'com.crashlytics.sdk.Android:crashlytics:2.10.1'
    implementation 'com.google.firebase:firebase-crashlytics:17.0.0'

    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
    annotationProcessor 'androidx.annotation:annotation:1.1.0'

    implementation "com.github.firdausmaulan:GlideSlider:1.5.1"

    implementation 'com.theartofdev.edmodo:Android-image-cropper:2.8.0'

    implementation 'org.greenrobot:eventbus:3.1.1'

    debugImplementation "io.objectbox:objectbox-Android-objectbrowser:$objectboxVersion"
    releaseImplementation "io.objectbox:objectbox-Android:$objectboxVersion"

    implementation 'com.intuit.sdp:sdp-Android:1.0.6'
}
// apply the plugin after the dependencies block

apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.objectbox'
0
gOnZo