個人で開発してるアプリを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にダウングレードさせた
これは↓のブログを参考に解決できました🙏
何やらDaggerのバージョンによってはうまくビルドが出来ないようで、バージョンをダウングレードされることで対応できるようになりました。
ちなみに1週間くらい前にでた最新版(2.18)でもエラーが出てくるようです。
Daggerは複雑すぎるので、個人アプリならDaggerじゃなくて他のDIライブラリを試すのもありだなぁと思いました。
Epoxyを3.0.0-rc1にアップデートさせた
Epoxyを使っているのですが、2系だとAndroidXに対応してないようで、3系のRCとして3.0.0-rc1が出ていたのでそれにアップデートさせたら大丈夫でした。
AndroidXはこれらの対応でビルドも出来、動作も問題ないようでした。
使っているライブラリによってもっと問題がおきるのかなと思いますが、個人の小規模アプリだったので意外とすんなり対応出来ました。
Android App Bundle対応でやったこと
FacebookのSDK(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にダウングレードさせることで問題なく行きました。
AndroidXはこれだけでAndroid App Bundle形式でPlay Consoleにupできるようになりました。
まとめ
AndroidX対応とAndroid App Bundle対応を記載しました。
思いの外すんなり対応出来たのかなぁと思います。
個人のアプリでこういうのを試して、問題なければ業務のアプリとかで試すとかやっていけたらいいのかなと思っています。