title: After migration to AndroidX, exception at start up: java.lang.ClassNotFoundException: "Didn't find class androidx.core.app.CoreComponentFactory"
body: <p>After migration to AndroidX i have the following exception at startup:</p>
  
  <pre><code>LoadedApk: Unable to instantiate appComponentFactory
      java.lang.ClassNotFoundException: Didn't find class               "androidx.core.app.CoreComponentFactory" on path: DexPathList[[],nativeLibraryDirectories=[/data/app/com.apps.entertainmentsolutions.offhole-yUKw5A4ysDVrPyO-DpnhKg==/lib/arm64, /system/lib64, /system/vendor/lib64]]
          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:217)
          at android.app.LoadedApk.updateApplicationInfo(LoadedApk.java:329)
          at android.app.ActivityThread.handleDispatchPackageBroadcast(ActivityThread.java:5410)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1743)
          at android.os.Handler.dispatchMessage(Handler.java:106)
          at android.os.Looper.loop(Looper.java:193)
          at com.android.server.SystemServer.run(SystemServer.java:460)
          at com.android.server.SystemServer.main(SystemServer.java:300)
          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)
  </code></pre>
  
  <p>I´m using Android Studio 3.4.1 in Windows 10.</p>
  
  <p>I tried all solutions that I could find, but the problem persists:</p>
  
  <p><a href="https://stackoverflow.com/questions/50782435/android-design-support-library-for-api-28-p-not-working">Android design support library for API 28 (P) not working</a></p>
  
  <p><a href="https://stackoverflow.com/questions/51006967/androidx-build-fails-in-release-mode-regarding-appcomponentfactory">AndroidX Build Fails in Release Mode regarding appComponentFactory</a></p>
  
  <p>I added  -keep class androidx.core.app.CoreComponentFactory { *; } to proguard-rules.pro, i added android.useAndroidX=true and android.enableJetifier=true to gradle.properties... clean, re-built, invalidate chaches and restart...</p>
  
  <p>Disable instant run, too...</p>
  
  <p>Another curious fact, is that I can import the class without problems (import androidx.core.app.CoreComponentFactory;) from other classes.</p>
  
  <p>My gradle files. Project gradle:</p>
  
  <pre><code>// Top-level build file where you can add configuration options common to all sub-projects/modules.
  
      buildscript {
  
          repositories {
              jcenter()
              maven {
                  url 'https://maven.fabric.io/public'
              }
              google()
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:3.4.1'
              classpath 'com.google.gms:google-services:4.2.0'
              classpath 'io.fabric.tools:gradle:1.28.0'
          }
      }
  
      allprojects {
          repositories {
              maven {
                  url "https://maven.google.com" // Google's Maven repository
              }
              jcenter()
              google()
          }
      }
  
      task clean(type: Delete) {
          delete rootProject.buildDir
      }
  </code></pre>
  
  <p>App gradle:</p>
  
  <pre><code>apply plugin: 'com.android.application'
      apply plugin: 'io.fabric'
  
      android {
          compileSdkVersion 28
          defaultConfig {
              applicationId "co.offtime.kit"
  
              minSdkVersion 24
              targetSdkVersion 28
              versionCode 1
              versionName "4.0"
              testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
              vectorDrawables.useSupportLibrary = true
          }
          buildTypes {
              beta {
                  versionNameSuffix ".beta"
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                  zipAlignEnabled true
                  signingConfig signingConfigs.debug
              }
              debug {
                  versionNameSuffix ".debug"
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                  zipAlignEnabled true
                  signingConfig signingConfigs.debug
              }
              release {
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt' ), 'proguard-rules.pro'
                  signingConfig signingConfigs.debug
              }
          }
          productFlavors {
              //main application
              kit {
                  applicationId "co.offtime.kit"
                  dimension "release"
                  versionName "v.kit.4.0"
                  versionCode 236
              }
          }
  
          packagingOptions {
              exclude 'META-INF/DEPENDENCIES'
              exclude 'META-INF/LICENSE'
              exclude 'META-INF/LICENSE.txt'
              exclude 'META-INF/license.txt'
              exclude 'META-INF/NOTICE'
              exclude 'META-INF/NOTICE.txt'
              exclude 'META-INF/notice.txt'
              exclude 'META-INF/ASL2.0'
          }
      }
  
      def AAVersion = '4.6.0'
      dependencies {
          implementation fileTree(dir: 'libs', include: ['*.jar'])
  
          implementation 'androidx.appcompat:appcompat:1.0.2'
          implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
          implementation 'com.google.android.material:material:1.0.0'
          implementation 'androidx.vectordrawable:vectordrawable:1.0.0'
          testImplementation 'junit:junit:4.12'
          androidTestImplementation 'androidx.test:runner:1.1.1'
          androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
  
          annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
          implementation "org.androidannotations:androidannotations-api:$AAVersion"
  
          implementation 'org.springframework.android:spring-android-rest-template:2.0.0.M3'
  
          implementation 'com.fasterxml.jackson.core:jackson-core:2.4.1'
          implementation 'com.fasterxml.jackson.core:jackson-annotations:2.4.1'
          implementation 'com.fasterxml.jackson.core:jackson-databind:2.4.1'
  
          implementation 'com.google.firebase:firebase-core:16.0.9'
          implementation 'com.google.firebase:firebase-messaging:18.0.0'
  
          implementation 'com.google.firebase:firebase-core:16.0.9'
          implementation 'com.crashlytics.sdk.android:crashlytics:2.10.0'
  
          implementation 'com.google.android.gms:play-services-gcm:16.1.0'
  
          repositories {
              maven {
                  url 'https://repo.spring.io/libs-milestone'
              }
          }
      }
  
      apply plugin: 'com.google.gms.google-services'
  </code></pre>
  
  <p>Gradle properties:</p>
  
  <pre><code>org.gradle.jvmargs=-Xmx1536m
  android.useAndroidX=true
  android.enableJetifier=true
  </code></pre>
  
  <p>Proguard:</p>
  
  <pre><code> -keep class androidx.core.app.CoreComponentFactory { *; }
  </code></pre>
  
  <p>Manifest:</p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /&gt;
  
  &lt;uses-permission android:name="android.permission.BLUETOOTH" /&gt;
  &lt;uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /&gt;
  
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
  
  &lt;uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /&gt;
  
  &lt;uses-permission android:name="android.permission.VIBRATE" /&gt;
  
  &lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /&gt;
  &lt;uses-permission android:name="android.permission.CALL_PHONE" /&gt;
  
  &lt;uses-permission android:name="android.permission.CAMERA" /&gt;
  
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  
  &lt;uses-permission android:name="android.permission.REORDER_TASKS" /&gt;
  &lt;uses-permission android:name="android.permission.WAKE_LOCK" /&gt;
  &lt;uses-permission android:name="android.permission.DISABLE_KEYGUARD" /&gt;
  &lt;uses-permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND" /&gt;
  
  &lt;uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /&gt;
  &lt;uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /&gt;
  &lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /&gt;
  
  &lt;uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /&gt;
  
  &lt;uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /&gt;
  
  &lt;application
      android:name="co.offtime.kit.core.AppGlobals_"
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher"
      android:supportsRtl="true"
      android:theme="@style/AppTheme"&gt;
  
      &lt;activity
          android:name="co.offtime.kit.SplashScreen_"
          android:label="@string/app_name"
          android:theme="@style/Theme.AppCompat.Light.NoActionBar"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
  
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.VIEW" /&gt;
  
              &lt;category android:name="android.intent.category.DEFAULT" /&gt;
              &lt;category android:name="android.intent.category.BROWSABLE" /&gt;
  
              &lt;data
                  android:host="www.offtime.app"
                  android:scheme="http" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
  
      &lt;activity
          android:name=".ParentActivity_"
          android:label="parentActivity" /&gt;
  
      &lt;activity
          android:name="co.offtime.kit.InitialDataLoadActivity_"
          android:parentActivityName=".ParentActivity_" /&gt;
  
      &lt;activity
          android:name="co.offtime.kit.LoginActivity_"
          android:configChanges="orientation|screenSize"
          android:label="@string/login_title"
          android:theme="@style/Theme.AppCompat.Light.NoActionBar" /&gt;
      &lt;activity
          android:name="co.offtime.kit.NewUserFormActivity_"
          android:configChanges="orientation|screenSize"
          android:label="@string/new_user_form_title"
          android:theme="@style/Theme.AppCompat.Light.NoActionBar" /&gt;
      &lt;activity
          android:name="co.offtime.kit.TestButtonsActivity_"
          android:label="@string/app_name"
          android:parentActivityName="co.offtime.kit.DisableHardwareButtonsActivity_"&gt;          
      &lt;/activity&gt;
      &lt;activity
          android:name="co.offtime.kit.DisableHardwareButtonsActivity_"
          android:label="disableHardwareButtonsActivity" /&gt;
      &lt;activity
          android:name="co.offtime.kit.EventListActivity_"
          android:label="@string/event_list_title" /&gt;
      &lt;activity
          android:name="co.offtime.kit.EventDetailFormActivity_"
          android:label="@string/new_event_title" /&gt;
  
      &lt;!-- ACTIVITIES --&gt;
  
      &lt;activity
          android:name="co.offtime.kit.BlockActivity_"
          android:configChanges="orientation|screenSize"
          android:launchMode="singleTask"
          android:parentActivityName="co.offtime.kit.DisableHardwareButtonsActivity_"
          android:screenOrientation="portrait" /&gt;
  
      &lt;service            android:name="co.offtime.kit.core.services.ClosingAppWatcherService_"
          android:stopWithTask="false" /&gt;
  
      &lt;receiver            android:name="co.offtime.kit.core.AvoidCameraUseDeviceAdminReceiver"
          android:permission="android.permission.BIND_DEVICE_ADMIN"&gt;
          &lt;meta-data
              android:name="android.app.device_admin"
              android:resource="@xml/device_policies" /&gt;
  
          &lt;meta-data android:name="com.google.firebase.messaging.default_notification_icon"
              android:resource="@drawable/ic_notifications_white_24dp" /&gt;
  
          &lt;intent-filter&gt;
              &lt;action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /&gt;
              &lt;action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" /&gt;
              &lt;action android:name="android.app.action.DEVICE_ADMIN_DISABLED" /&gt;
          &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  
      &lt;receiver android:name="co.offtime.kit.core.broadcastreceiver.CallBlockerReceiver_"&gt;
          &lt;intent-filter android:priority="9999"&gt;
              &lt;action android:name="android.intent.action.PHONE_STATE" /&gt;
              &lt;action android:name="android.intent.action.NEW_OUTGOING_CALL" /&gt;
          &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  
      &lt;receiver
          android:name="co.offtime.kit.core.broadcastreceiver.BootCompleteDeviceBroadcastReceiver_"
          android:enabled="true"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.BOOT_COMPLETED" /&gt;
              &lt;action android:name="android.intent.action.QUICKBOOT_POWERON" /&gt;
  
              &lt;category android:name="android.intent.category.DEFAULT" /&gt;
          &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  
      &lt;service
          android:name="co.offtime.kit.core.services.LaunchBlockJobService"
          android:label="LaunchBlockJobService"
          android:permission="android.permission.BIND_JOB_SERVICE" /&gt;
  
      &lt;service            android:name="co.offtime.kit.core.services.EventExecutorService_"
          android:enabled="true"
          android:exported="true"
          android:stopWithTask="false" /&gt;
  
      &lt;service android:name="co.offtime.kit.core.fcmpushnotifications.MyFirebaseMessagingService"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="com.google.firebase.MESSAGING_EVENT" /&gt;
              &lt;action android:name="com.google.firebase.INSTANCE_ID_EVENT" /&gt;
          &lt;/intent-filter&gt;
      &lt;/service&gt;
  
      &lt;service            android:name="co.offtime.kit.core.fcmpushnotifications.FcmTokenUpdateService_"
          android:enabled="true"
          android:exported="true"
          android:stopWithTask="false" /&gt;
  &lt;/application&gt;
  </code></pre>
  
  <p>For now this doesn't cause an ANR, the app starts and works normally, but i'm afraid it will cause problems in the future, and i would like to know why that's happening.</p>
  
  <p>Has anyone had this problem? How was it solved?</p>