React NativeでAndroidアプリをリリースした際に起きたエラーをまとめる
3ヶ月くらい前からReact Nativeをさわりはじめ、つい最近、Androidアプリをリリースした。
React Nativeを使うことで開発はしやすくなったが、依存パッケージのバージョン問題やサポートしているgradleのバージョンのしばりなど、やはり面倒なことが増えた。
特に厄介だったリリースビルドのエラーの問題だけ記録する。
■apkファイルのアプリが起動しないエラー
React Nativeで作成したAndroidアプリは下記の手順で、apkファイルを作り、リリースする。
https://facebook.github.io/react-native/docs/signed-apk-android
このapkファイルをplayストアに公開した後、起動時、何かしらのエラーをおこし、アプリが落ちるという現象が確認された。
react-native run-android --variant=release
と、ログを表示するコマンド
react-native log-android
でapkファイルのアプリを起動した際のエラーを確認した。
エラー文で検索をかけ、調べてみると、どうやらビルドで、jsファイルをandroidアプリの形式に変更するindex.android.bundleが上手く作成できていない様子。
参考:https://qiita.com/diskshima/items/5a457c6ebaa2aba592c8
確かに
unzip -l app-release.apk
で見ると、index.android.bundleファイルが含まれていない。
ただ、このビルドが上手くいっていない原因が謎だった。
react.gradleを自分で修正できる人は多分問題にはならないが、私はわからなかった。
結局わかったのは、自分の使用しているgradleのバージョンが、上手く動作している人のgradleのバージョンと一致しないことだけだった。仕方ないのでgradleのバージョンを変更した。
classpath 'com.android.tools.build:gradle:3.4.0'
↓
classpath 'com.android.tools.build:gradle:3.3.1'
変更したところ、上手くいった。
react-nativeは、現状まだgradle3.4.xに対応できていないと思われる。