業務で開発しているプロジェクトで Android Gradle Plugin を 7.0.1 に更新したのですが、ビルドしてアプリを起動するとアプリが強制終了してしまいました。
その際に以下のようなログ(一部抜粋)が出力されていました。
E/LoadedApk: Unable to instantiate appComponentFactory
java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[...]
Google Issue Tracker で検索してみたところ、どうやら こちら が該当の問題のようでした。
どうやら R8 の問題のようで https://issuetracker.google.com/issues/196406764#comment22 のコメントにあるように、以下のように R8 のバージョンを明示的に指定することでアプリが強制終了することがなくなりました。
build.gradle
buildscript {
repositories {
maven {
url 'https://storage.googleapis.com/r8-releases/raw'
}
...
}
dependencies {
classpath 'com.android.tools:r8:3.0.68' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:7.0.1'
}
}
注意点としては R8 のクラスパスは Android Gradle Plugin より前に宣言する必要があります。
暫定的な対応かと思いますが、同じようなエラーで困っている方の手助けになれば幸いです。