web-dev-qa-db-ja.com

Android Studio 3.6.1とGradle Pluginバージョン3.6.1およびGradleバージョン5.6.4が機能しない

私のアプリケーションは非常にうまく機能しています。更新しましたAndroid Studio 3.6.1

Android Studioを更新した後、このダイアログが表示され、Gradleプラグインのバージョンを以下のように更新します。

enter image description here

更新後、アプリケーションがクラッシュし、次のエラーが発生します。

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であると考えています。

何か助けは?私は何をすべきか?

4
Pratik Butani

可能な解決策:

トップレベル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.jarRクラスを処理しないようですが、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"
    }
0
Symeon Chen

まだこれを見ている場合は、3.6.2にアップデートしました。再起動直後に、Firebaseに関連するアップデート(コードではFirebaseを使用していません)を具体的に行いました。

0
user153822

gradle 5.6.4に同期の問題があります。 gradle-wrapper.propertiesに移動し、URLを次のように変更します

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

0
Rahul Hazra

私は、stackoverflow(こちら)、githubフォーラムなどから多くの提案を試みました。互換性の問題がある場合は、gradleとgradleプラグインのバージョンを確認しました。のみ機能しました:.ideaファイルと.gradleファイルをクリーンアップし、AndroidSを終了して、Android studioで自分の反応ネイティブプロジェクトを開いたところ、fileから開きましたAndroidフォルダー、その後待機しましたAndroidスタジオはインデックス作成を終了します(今回は本当に待機しました)、ビルドのためにhammerアイコンを押して、辛抱強くもう一度待ってビルドを実行します正常にシミュレータ。

私は前に待っていませんでした、Android studioがindex-run-buildに非常に時間がかかるとは想像していませんでした

誰かがまだ立ち往生していて、キーが私を待っていた場合、私は幸運を共有しています

0
greenridinghood

私は同じエラーに遭遇しました。しかし、私は以下の方法で構築することに成功しました。

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

古い生地と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'
0
gOnZo