Search code examples
androidclassnotfoundexception

java.lang.ClassNotFoundException in android 4.0 After Adding the Ad Mob in App


After Adding the Ad Mob in App , its working in higher version above 5.0 but its not working in 4.0 , i am getting the following exception

 java.lang.RuntimeException: Unable to instantiate service g2eandroid.srs.service.MyFirebaseInstanceIDService: java.lang.ClassNotFoundException: Didn't find class "g2eandroid.srs.service.MyFirebaseInstanceIDService" on path: DexPathList[[zip file "/data/app/g2eandroid.srs-2.apk"],nativeLibraryDirectories=[/data/app-lib/g2eandroid.srs-2, /vendor/lib, /system/lib]]
                                                                at android.app.ActivityThread.handleCreateService(ActivityThread.java:2570)
                                                                at android.app.ActivityThread.access$1800(ActivityThread.java:139)
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:136)
                                                                at android.app.ActivityThread.main(ActivityThread.java:5086)
                                                                at java.lang.reflect.Method.invokeNative(Native Method)
                                                                at java.lang.reflect.Method.invoke(Method.java:515)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                                                                at dalvik.system.NativeStart.main(Native Method)
               Caused by: java.lang.ClassNotFoundException: Didn't find class "g2eandroid.srs.service.MyFirebaseInstanceIDService" on path: DexPathList[[zip file "/data/app/g2eandroid.srs-2.apk"],nativeLibraryDirectories=[/data/app-lib/g2eandroid.srs-2, /vendor/lib, /system/lib]]
                                                                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
                                                                at android.app.ActivityThread.handleCreateService(ActivityThread.java:2567)
                                                                at android.app.ActivityThread.access$1800(ActivityThread.java:139) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:136) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5086) 
                                                                at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
                                                                at dalvik.system.NativeStart.main(Native Method) 

Solution

  • Please create a class

    import android.content.Context;
    import android.support.multidex.MultiDexApplication;
    
        public class EnableMultiDex extends MultiDexApplication {
            private static EnableMultiDex enableMultiDex;
            public static Context context;
    
            public EnableMultiDex(){
                enableMultiDex=this;
            }
    
            public static EnableMultiDex getEnableMultiDexApp() {
                return enableMultiDex;
            }
    
            @Override
            public void onCreate() {
                super.onCreate();
                context = getApplicationContext();
    
            }
        }
    

    and in your manifest give android:name="packagename.EnableMultiDex"

    eg:

    <application
        android:name="YourPakageName.EnableMultiDex"
        android:hardwareAccelerated="true"
        android:icon="@drawable/wowio_launch_logo"
        android:label="@string/app_name"
        android:largeHeap="true"
        tools:node="replace">
    

    Let me know whether it solved your issue.