【cordova】No resource identifier found for attribute ‘appComponentFactory’ in package ‘android’の解決法

最近は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.+で解決

 

参考にさせていただいたサイト

https://github.com/android/android-ktx/issues/551

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG