私のアプリケーションは非常にうまく機能しています。更新しましたAndroid Studio 3.6.1、
Android Studioを更新した後、このダイアログが表示され、Gradleプラグインのバージョンを以下のように更新します。
更新後、アプリケーションがクラッシュし、次のエラーが発生します。
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)
私のプロジェクトレベル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'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
そして私のアプリレベルbuild.gradleは:
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'
私が試した解決策は、更新したGradleのバージョンを元に戻すことだけですが、最新バージョンを使用したい場合はどうすればよいですか。
私のプロジェクトの1つは、Android StudioとGradleの一部のバージョンで動作しています。これは、Firebase SDKが両方のプロジェクトで異なるため、FirebaseがProjectであると考えています。
何か助けは?私は何をすべきか?
可能な解決策:
トップレベルbuild.gradle
のプラグインのバージョンをアップグレードします。
詳細:
Gradleのバージョンを5.4.1
から5.6.4
に、プラグインのバージョンを3.5.3
から3.6.2
にアップグレードしたところ、クラスが見つからないという問題が発生しました。
私はプロジェクトでRealm
を使用しており、トップレベルのbuild.gradle
は次のとおりです。
// 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"
}
}
この問題は、一部のライブラリ/プラグインがR.jar
のR
クラスを処理しないようですが、R.Java
以降のGradleプラグインバージョン以降では3.6.0
で処理されます。詳細は here を参照してください。
そして、解決策はRealm
を新しいバージョンにアップグレードすることです。私にとっては6.0.2
です。詳細は here を参照してください。
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"
}
まだこれを見ている場合は、3.6.2にアップデートしました。再起動直後に、Firebaseに関連するアップデート(コードではFirebaseを使用していません)を具体的に行いました。
gradle 5.6.4に同期の問題があります。 gradle-wrapper.propertiesに移動し、URLを次のように変更します
distributionUrl = https://services.gradle.org/distributions/gradle-6.0-all.Zip
私は、stackoverflow(こちら)、githubフォーラムなどから多くの提案を試みました。互換性の問題がある場合は、gradleとgradleプラグインのバージョンを確認しました。のみ機能しました:.ideaファイルと.gradleファイルをクリーンアップし、AndroidSを終了して、Android studioで自分の反応ネイティブプロジェクトを開いたところ、file
から開きましたAndroidフォルダー、その後待機しましたAndroidスタジオはインデックス作成を終了します(今回は本当に待機しました)、ビルドのためにhammer
アイコンを押して、辛抱強くもう一度待ってビルドを実行します正常にシミュレータ。
私は前に待っていませんでした、Android studioがindex-run-buildに非常に時間がかかるとは想像していませんでした
誰かがまだ立ち往生していて、キーが私を待っていた場合、私は幸運を共有しています
私は同じエラーに遭遇しました。しかし、私は以下の方法で構築することに成功しました。
- classpath 'com.google.firebase:firebase-plugins:1.1.1'
+ classpath 'com.google.firebase:firebase-plugins:1.2.0'
古い生地とcrashlyticsを新しいfirebase&crashlyticsと混ぜているようです。試してください:
プロジェクトレベル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:
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'