最近はnpmをいじる機会がなかったのですが、新たにマージしたブランチで開発にかかろうと思ったときにこの「No resource identifier
found for attribute ‘appComponentFactory’ in package ‘android’」というエラーに遭遇。調べてみると、プラグインと今使っているエンド
ポイントのバージョンが合っていないと起きるエラーみたいです。
ここで真っ先に疑われるであろうコルドバプラットフォームの中のマニフェストに書いてあるandroidSDKのバージョンを下げてみても
ダメでした。他のブランチでは動いていたので同じバージョンに直せばまた動いてくれると感じたのですがただの思い込みでした・・・。
どのサイトを探しても具体的な対処法が書いていなかったのですが、githubにてcordova-android-support-gradle-releaseを使えば
治るよという情報を発見したので試してみました。すると、今まで悩んでいたことがむなしく思えたほどあっさりと解決。
</pre> cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION=27.+ <pre>
なんでもこのプラグインは、異なるバージョンのサポートライブラリを含めることによって引き起こされるビルド失敗を防ぐことができるみたいです。
具体的に言うと、既存のプラグインを現行のgradleのバージョンに合わせてくれるので、このプラグインは古すぎるからダウングレードし
ようとかいうハイブリッドアプリを作る時のあるあるエラーを解消することができるのです。実機のapiが低かったりしたときはこのプラ
グインを使って調整をしてみてください。
修正方法はこれだけですが、いちいちプラットフォームを入れ直したりバージョンを上げ下げする必要がなくなるのはありがたいですね。
cordova plugin add cordova-android-support-gradle-release –variable ANDROID_SUPPORT_VERSION=27.+で解決
参考にさせていただいたサイト↓