【Android】「java.lang.ClassNotFoundException: Didn’t find class “android.support.v4.animation.AnimatorCompatHelper” on path: DexPathList」エラーの対処法

村上 著者:村上

【Android】「java.lang.ClassNotFoundException: Didn’t find class “android.support.v4.animation.AnimatorCompatHelper” on path: DexPathList」エラーの対処法

長々しいタイトルですが、今回は Cordova アプリを開発中に遭遇したエラーについて。
なお、プラットフォームは Android です。
Android 9 で、Adobe の画像加工機能がクラッシュする不具合が発生しており、それを修正している最中に遭遇しました。
一部のみ抜粋ですが「java.lang.ClassNotFoundException: Didn’t find class “android.support.v4.animation.AnimatorCompatHelper” on path: DexPathList」とのことでしたので、そのまま「“android.support.v4.animation.AnimatorCompatHelper”ファイルが見つかりません」という意味のようです。

 

そして今回参考にさせていただいた記事はこちらから。

AnimatorCompatHelper Class Not Found Exception using AppCompat 26.0.0 · Issue #396 · h6ah4i/android-advancedrecyclerview · GitHub
https://github.com/h6ah4i/android-advancedrecyclerview/issues/396

compile 'com.github.h6ah4i:android-advancedrecyclerview:feature~support_libraries_v26-SNAPSHOT'

記事内には上記コードを追加するという方法もありましたが、私の環境ではエラーが発生してうまくいきませんでした。

そのため、下記のコードを build.gradle の最後に下記を追加する方法を採用しました。

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

あとは、Sync Now を実行します。
なお、以前の投稿記事で紹介したように、AsyncTaskCompat.javaAsyncTaskCompatHoneycomb.java を手動で追加していたのですが、ファイルが既に存在しているとのエラーが発生したので、こちらの 2ファイルは削除しました。
で、エラーが発生したので Try Again を実行後、Build → Run したところ、問題なく動作しました。
「効果」のオプションを選択するとそこでクラッシュしていたのですが、再現しなくなりました。
一通り、追加したオプションを使ってみましたがそちらも問題なしでした。

 

以上、Android アプリで「java.lang.ClassNotFoundException: Didn’t find class “android.support.v4.animation.AnimatorCompatHelper” on path: DexPathList」エラーが発生した時の対処法でした。
どなたかの参考になれば幸いです。

  • この記事いいね! (0)

著者について

村上

村上 administrator