MENU

expo+react nativeでadmobを導入するもエラー!解決法とは

スマホアプリ第3弾となるクイズアプリにadombを導入し、ビルドも問題なく成功しました。
しかし、今回新たに作成した文章生成アプリでは、なぜかうまく動作しません。
すべてChatGPTに任せて開発しているため、エラーの原因や解決方法を見つけるのが難航していました。

Kotlin バージョンの不一致によるビルドエラーについて

何度も ChatGPT などで解決策を模索しましたが、なかなかうまくいかず、ついにはフリープランでのビルド時間制限にも達してしまいました……。

しかし、ようやく原因と解決策が判明しました。

とりあえず、解決策がようやくわかった気がします。

❌ Kotlin 1.7.20 → Expo SDK 52.x とは不一致✅ 今後は 1.9.24 に変更すればOK
❌ Expo 52.0.46 → 安定版ではなかった✅ 52.0.19 にすれば安定ビルドが期待できる

Expo SDK のアップデートにより Kotlin バージョンも自動で上がった
しかし Compose Compiler 側がまだ対応できていない(互換性のズレ)
Expo チームはパッチをリリースしているが、一部のバージョン間で齟齬がある

バージョンアップでエラーが出るのは良くあることらしい。
とにかく、解決策が見つからな過ぎて、コードも書けない初心者には難しすぎる問題でした。

で、またエラー地獄。1時間30分待ち・・・。
次のエラーは、

・最新の play-services-ads(Googleの広告SDK)が Kotlin 2.1.0 でビルドされてる

・だけど、Expoのビルドサーバーではまだ Kotlin 2.1.x をサポートしてない1.9.24 まで)

・つまり、ライブラリ側とExpo側のKotlinのバージョンが合ってない

ようするに、Googleが急にライブラリのKotlinバージョンを上げたせいExpoがまだ対応してない

play-services-ads-24.2.0 は Kotlin 2.1.0 でビルドされているが、Expo(Kotlin 1.9.0〜1.9.24)とは互換性がない

Google Mobile Ads SDK のバージョン(play-services-ads)を 少し前の安定バージョンに戻す ことで、Kotlinバージョンの不一致を防ぐ。

対応策は、
app.jsonに”googleMobileAdsVersion”: “22.6.0” これを記載。


chatgpt 💬 次のビルドは 成功率めちゃ高いです

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次