Home » Android » java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string;

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string;

Posted by: admin May 14, 2020 Leave a comment

Questions:

I tried out many things, but it does not solve my problem.

Full Error Code (kompletter Error Code):

05-16 09:59:53.428 25010-25010/main.faseflex.de.fgnapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: main.faseflex.de.fgnapp, PID: 25010
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string;
    at com.google.android.gms.common.internal.StringResourceValueReader.<init>(Unknown Source:14)
    at com.google.firebase.FirebaseOptions.fromResource(Unknown Source:2)
    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:19)
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source:4)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1925)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1900)
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:23)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6578)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043)
    at android.app.ActivityThread.-wrap1(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList[[zip file "/data/app/main.faseflex.de.fgnapp-C4iBOV7sIO2cNc4pfCATmA==/base.apk"],nativeLibraryDirectories=[/data/app/main.faseflex.de.fgnapp-C4iBOV7sIO2cNc4pfCATmA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at com.google.android.gms.common.internal.StringResourceValueReader.<init>(Unknown Source:14) 
    at com.google.firebase.FirebaseOptions.fromResource(Unknown Source:2) 
    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:19) 
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source:4) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1925) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1900) 
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:23) 
    at android.app.ActivityThread.installProvider(ActivityThread.java:6578) 
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043) 
    at android.app.ActivityThread.-wrap1(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6944) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 

build.gradle app:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    //buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "main.faseflex.de.fgnapp"
        minSdkVersion 21
        targetSdkVersion 25
        multiDexEnabled true
        dexOptions {
            preDexLibraries true
        }
        versionCode 1
        versionName "0.98.41"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            multiDexKeepFile file('multidex-config.txt')
        }

    }
    productFlavors {
    }
}

dependencies {
    implementation 'com.android.support:support-v4:25.4.0'
    implementation 'com.android.support:support-vector-drawable:25.4.0'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.google.firebase:firebase-core:15.0.2'
    implementation 'com.google.firebase:firebase-messaging:15.0.2'
    implementation 'com.google.firebase:firebase-database:15.0.1'
    implementation 'com.google.firebase:firebase-auth:15.1.0'
    implementation 'com.android.support:appcompat-v7:25.4.0'
    implementation 'com.android.support:design:25.4.0'
    implementation 'com.android.support:preference-v7:25.4.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.github.SHashank02051997:FancyToast-Android:0.1.3'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    testImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}

build.gradle project:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

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

AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="main.faseflex.de.fgnapp"
tools:node="replace">
<supports-screens
android:anyDensity="true"
android:compatibleWidthLimitDp="50"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="false"
android:smallScreens="false"
android:xlargeScreens="false" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/fgn_icon"
android:label="@string/app_name"
android:resizeableActivity="false"
android:roundIcon="@mipmap/fgn_icon"
android:supportsRtl="true"
android:theme="@style/AppTheme">
------------------------------------------------
MAIN ACTIVITY
------------------------------------------------
<activity
android:name=".FGNmainActivity"
android:label="FGN-App"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
------------------------------------------------
STUNDENPLAN
------------------------------------------------
<activity
android:name=".activity_timetable"
android:label="FGN-App | Stundenplan"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
ESSENSBESTELLUNG
------------------------------------------------
<activity
android:name=".activity_food"
android:label="FGN-App | Essenplan"
android:parentActivityName=".FGNmainActivity"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
MDV
------------------------------------------------
<activity
android:name=".activity_mdv"
android:label="FGN-App | Verkehrsverbund"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
DOKUMENTE
------------------------------------------------
<activity
android:name=".activity_documents"
android:label="FGN-App | Dokumente"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
NEWS
------------------------------------------------
<activity
android:name=".activity_news"
android:label="FGN-App | News"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
LEHRER
------------------------------------------------
<activity
android:name=".activity_teachers"
android:label="FGN-App | Lehrer"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
MOODLE
------------------------------------------------
<activity
android:name=".activity_moodle"
android:label="FGN-App | Moodle"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
OFFICE 365
------------------------------------------------
<activity
android:name=".activity_office"
android:label="FGN-App | Office 365"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
KONTAKT
------------------------------------------------
<activity
android:name=".activity_contact"
android:label="FGN-App | Kontakt"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
TERMINE
------------------------------------------------
<activity
android:name=".activity_termine"
android:label="FGN-App | Termine"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
MITTAGSBAND
------------------------------------------------
<activity
android:name=".activity_mittagsband"
android:label="FGN-App | Mittagsband"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.APP_BROWSER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
FEEDBACK
------------------------------------------------
<activity
android:name=".activity_menu_feedback"
android:label="FGN-App | Feedback"
android:parentActivityName=".SettingsActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
IMPRESSUM
------------------------------------------------
<activity
android:name=".activity_menu_impressum"
android:label="FGN-App | Impressum"
android:parentActivityName=".FGNmainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
------------------------------------------------
FIREBASE
------------------------------------------------
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".FirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service android:name=".MyInstanceIDListenerService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
------------------------------------------------
EINSTELLUNGEN
------------------------------------------------
<activity
android:name=".SettingsActivity"
android:label="FGN-App | Einstellungen"
android:parentActivityName=".FGNmainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="main.faseflex.de.fgnapp.FGNmainActivity" />
</activity>
------------------------------------------------
SPLASH SCREEN
------------------------------------------------
<activity
android:name=".SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
------------------------------------------------
CHANGELOG
------------------------------------------------
<activity
android:name=".ChangelogActivity"
android:label="FGN-App | Changelog"
android:parentActivityName=".SettingsActivity"></activity>
</application>
</manifest>

I know what the NoClassDefFoundError does, but I did not find the problem. Ask if you need more files for solving the problem.

How to&Answers:

I faced similar issue after updating Android Studio to 3.6 with Gradle 3.6.0.



I downgraded my Gradle to 3.5.3 in-order to resolve this issue until it gets fixed in future.


Steps:

  • Open build.gradle(Project: Project_name_here) file.
  • Replace classpath of android tools build gradle under dependencies with the following:
  • classpath 'com.android.tools.build:gradle:3.5.3'





Please Note: This is a temporary fix. It may get fixed in future, so until then downgrade and continue with app development.




OR



If you are using Realm plugin in your app, then you could try
upgrading your plugin as it was one of the reason why app crashed while
running.


Steps to update realm plugin:

  • Open build.gradle(Project: Project_name_here) file.
  • Replace classpath of realm gradle plugin with the latest stable version as follows:
  • classpath "io.realm:realm-gradle-plugin:6.0.2"



Also, please check for any outdated plugins within build.gradle file as it may be one of the reason why the app crashes.

Answer:

If you have just updated your project to Gradle 3.6.0 and are using Realm there is a very high chance that this issue was caused by the Realm plugin.
Accordingly to this comment, this issue happens for older Realm plugin versions, less than 5.13.1.
So just updating to the latest Realm version will most likely solve the problem.

As of the time of writing it was:
classpath "io.realm:realm-gradle-plugin:6.1.0"

Answer:

Just ran into this due to realm-db

It was on an alpha build of gradle and a few other project-specific circumstances (AndroidX, Kotlin) so this isn’t a general issue, but another thing to check

Answer:

i remove all of the firebase and gms dependencies from my project and error happens with leakcanary and so remove this. and again error happens with calligraphy3 and so on …
i think its multidex bug.

Answer:

I had same problem, so be sure for class which is extending application to have below :

@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } 

Otherwise you need to make clean – rebuild.

Answer:

If the problem persists after adding multidex also,

Try deleting your .gradle and .idea files under Project structure and do a rebuild.