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.
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.
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?
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"
}
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.
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
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
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'
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'