Didn't find class "androidx.core.app.CoreComponentFactory"

JavaAndroid

Java Problem Overview


I don't know what to do about the following errors, I've searched the web but not found anything:

java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[],nativeLibraryDirectories=[/data/app/com.example.padmw-CXElJ_vfrfm3y7py3CPsJw==/lib/x86, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.app.LoadedApk.createAppFactory(LoadedApk.java:226)
    at android.app.LoadedApk.updateApplicationInfo(LoadedApk.java:338)
    at android.app.ActivityThread.handleDispatchPackageBroadcast(ActivityThread.java:5388)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1733)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at com.android.server.SystemServer.run(SystemServer.java:454)
    at com.android.server.SystemServer.main(SystemServer.java:294)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:838)

and :

2019-08-29 00:19:24.071 1853-1853/? E/LoadedApk: Unable to instantiate appComponentFactory
java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[],nativeLibraryDirectories=[/data/app/com.example.padmw-CXElJ_vfrfm3y7py3CPsJw==/lib/x86, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.app.LoadedApk.createAppFactory(LoadedApk.java:226)
    at android.app.LoadedApk.updateApplicationInfo(LoadedApk.java:338)
    at android.app.ActivityThread.handleDispatchPackageBroadcast(ActivityThread.java:5388)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1733)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at com.android.server.SystemServer.run(SystemServer.java:454)
    at com.android.server.SystemServer.main(SystemServer.java:294)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:838)

my dependencies in gradle app :

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.firebase:firebase-core:17.1.0'
implementation 'com.google.firebase:firebase-database:19.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.navigation:navigation-fragment:2.0.0'
implementation 'androidx.navigation:navigation-ui:2.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.firebaseui:firebase-ui-database:1.2.0'
}
apply plugin: 'com.google.gms.google-services'

Java Solutions


Solution 1 - Java

Adding Java 1.8 compatibility to my module-level build.gradle fixed this for me (non-release build with multidex enabled).

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
    jvmTarget = "1.8"
}

Unfortunately I'm not sure why :)

Solution 2 - Java

This error message is caused on API level 28+ by:
AppComponentFactory extends android.app.AppComponentFactory

This means that on API 28+ one can use tools:remove ...

tools:remove="android:appComponentFactory"
tools:targetApi="p"

Solution 3 - Java

In my case, the code works on one of my teammates' machine. These steps made it work for me too:

  1. Close project
  2. Remove the project from the list in the welcome screen
  3. Open the project again

This is a solution to another problem, that I also found here in SO. It's worth a try when Invalidate and Restart doesn't solve it for you.

Solution 4 - Java

It may sound totally unrelated, but I have seen this problem also when by mistake I have overridden wrong on Activity#onCreate() method i.e.

public void onCreate(@Nullable Bundle savedInstanceState,
        @Nullable PersistableBundle persistentState)

Instead of

protected void onCreate(@Nullable Bundle savedInstanceState)

So, please check that also. The second one is the one that you probably need.

Please refer to documentation for the details of these two methods.

Solution 5 - Java

Seems to be a bug, check the next link in the issue tracker:

https://issuetracker.google.com/issues/137646829

Solution 6 - Java

See https://stackoverflow.com/questions/57438312/java-lang-classnotfoundexception-didnt-find-class-com-my-app-name-androidx.

Remove from AndroidManifest:

<application
    ...
    android:appComponentFactory="androidx"
    tools:replace="android:appComponentFactory"
>

These lines appeared a year ago after migrating to AndroidX. I removed them, now it doesn't show the exception.

Solution 7 - Java

For Xamarin folks running into this problem: I started to see this problem when upgrading from Xamarin.Forms 4.x to 5.0. With AndroidX changes that I wasn't aware when I've done the upgrade the min SDK version needs to be changed to 29 on the android manifest file, something like: <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30" />

Solution 8 - Java

If you are using an emulator, try the wipe data option. This worked for me.

Solution 9 - Java

In my case, I was using a library that has an interface that was inheriting a View.OnClickListener interface.

Solution 10 - Java

In my case ,that was because of a little mistake in one of my layouts.

I removed one > at the end of a view tag accidentlly.

Check your

> xml

files.

Solution 11 - Java

After reviewing the Android Issue Tracker bug report mentioned previously, I saw a mention about multidex support. I had no multidex flags specified in my project, so I tried setting the flag to false on all modules in my project, and the exception went away.

This was not a permanent solution; the problem returned a few builds later.

Solution 12 - Java

add below code to gradle.properties

android.enableJetifier=true
android.useAndroidX=true

or you can choose migrate to androidX in refactor -> Migrate to androidX.

Solution 13 - Java

In my case, add android.enableR8=false in the gradle.properties.

Solution 14 - Java

did u create fragments? ok if you create fragments with classes and after that you have to create a class to call those fragments. and if you use switch this cane be like this

`public Fragment getItem(int i) {

    // you have create a switch to get positions using i.
    switch (i) {
        case 0:
            ChatsFragment chatsFragment = new ChatsFragment();
            return chatsFragment;

        case 1:
            GroupsFragment groupsFragment = new GroupsFragment();
            return groupsFragment;

        case 2:
            ContactsFragment contactsFragment = new ContactsFragment();
            return contactsFragment;
        default:
            return null;
    }

}

@Override
public int getCount() {
    return 3;//error can be happen if u use default 0, use fragment counts in here.
}`

in this case you can see 3 cases in switch and the public int getCount() the return value should be 3 not default value 0.

See your error must be close to this one. i got same kind of error and i solved it.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChris911View Question on Stackoverflow
Solution 1 - JavaTomView Answer on Stackoverflow
Solution 2 - JavaMartin ZeitlerView Answer on Stackoverflow
Solution 3 - JavaAguragornView Answer on Stackoverflow
Solution 4 - JavaTomaszView Answer on Stackoverflow
Solution 5 - JavaPerracoLabsView Answer on Stackoverflow
Solution 6 - JavaCoolMindView Answer on Stackoverflow
Solution 7 - JavaCarla CamargoView Answer on Stackoverflow
Solution 8 - JavaCosminPetrescuView Answer on Stackoverflow
Solution 9 - JavaKristy WelshView Answer on Stackoverflow
Solution 10 - JavaZimaView Answer on Stackoverflow
Solution 11 - Javamike47View Answer on Stackoverflow
Solution 12 - JavaMohammad Mahdi HeidariView Answer on Stackoverflow
Solution 13 - JavajackView Answer on Stackoverflow
Solution 14 - JavaHeshanHHView Answer on Stackoverflow