アウトプッツ

育児・おでかけ・アプリ開発

個人アプリをAndroidX対応した&Android App Bundleでupした

個人で開発してるアプリをAndroidXに対応させて、Android App Bundleでupも試してみたのでメモです。

AndroidX対応でやったこと

  • 「Migrate to AndroidX」でゴリッと変えた
  • Daggerを2.16にダウングレードさせた
  • Epoxyを3.0.0-rc1にアップデートさせた

「Migrate to AndroidX」でゴリッと変えた

Supportライブラリを使っているところを、AndroidX用に書き換えるために実行しました。アプリ全体で行うのでアプリ規模によっては時間がかかりそうですね。

変換ミスとかもなく書き換えが出来たので精度?は良さそう。

Daggerを2.16にダウングレードさせた

これは↓のブログを参考に解決できました🙏

rei19.hatenablog.com

 

何やらDaggerのバージョンによってはうまくビルドが出来ないようで、バージョンをダウングレードされることで対応できるようになりました。

ちなみに1週間くらい前にでた最新版(2.18)でもエラーが出てくるようです。

 

Daggerは複雑すぎるので、個人アプリならDaggerじゃなくて他のDIライブラリを試すのもありだなぁと思いました。

 

Epoxyを3.0.0-rc1にアップデートさせた

Epoxyを使っているのですが、2系だとAndroidXに対応してないようで、3系のRCとして3.0.0-rc1が出ていたのでそれにアップデートさせたら大丈夫でした。

github.com

 

 

AndroidXはこれらの対応でビルドも出来、動作も問題ないようでした。

使っているライブラリによってもっと問題がおきるのかなと思いますが、個人の小規模アプリだったので意外とすんなり対応出来ました。

Android App Bundle対応でやったこと

  • FacebookSDK(audience-network-sdk)を4.99.3にダウングレードさせた

FacebookSDK(audience-network-sdk)を4.99.3にダウングレードさせた

Facebookの広告SDKなのですが、最新版(5.0.1)を使っていた場合

File 'root/AndroidManifest.xml' uses reserved file or directory name 'AndroidManifest.xml'.

というエラーが発生するようで4.99.3にダウングレードさせることで問題なく行きました。

stackoverflow.com

 

AndroidXはこれだけでAndroid App Bundle形式でPlay Consoleにupできるようになりました。

まとめ

AndroidX対応とAndroid App Bundle対応を記載しました。

思いの外すんなり対応出来たのかなぁと思います。

個人のアプリでこういうのを試して、問題なければ業務のアプリとかで試すとかやっていけたらいいのかなと思っています。