0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

自前でビルドしたReactNativeを使う

Last updated at Posted at 2020-08-17

やりたいこと

↑ここにやり方が記載してあるが、ちょっと説明が足りない感じだったので補足するための記事です。

ステップ1

$ cd {cloneしてきたdirectory}
$ git checkout -d {リリースに利用したいブランチ名}
$ npm i # ドキュメントにはこれが無い

ステップ2

cloneしてきた時点ではReactNativeのバージョンがセットされていないので、手動でセットする必要がある。

このcommitを参考に、これらのファイルのバージョンを書き換えていく。

どのバージョンをセットすべきなのかよくわかっていないのだが、

  • こういうcommit
  • ブランチを眺めて最も近いstableのバージョンを探す

という感じでバージョンをセットした。

ステップ3

npm installしたときに今回ビルドするバイナリをダウンロードできるように、package.jsonに下記のように追記する。

   "files": [
+    "android",
     "!template/node_modules",

この追記をすることで、./android/ 以下のファイルがnpm install時に落ちてくるようになる。

ステップ4

以降はドキュメント通り

# このビルドはめちゃくちゃ時間かかる。手元のマシンだと40分かかった
$ docker run --rm --name rn-build -v $PWD:/pwd -w /pwd reactnativecommunity/react-native-android /bin/sh -c "./gradlew installArchives" 

$ git add android --force
$ git commit -a -m 'my react native forked release'
$ git push

参考例

// package.json

  "react-native": "github:abeyuya/react-native#dist",

その他

  • ドキュメントに記載してあるのはAndroid用にビルドしたライブラリを生成する方法
  • もしiOSのソースコードにのみ手を加えたい場合は、patch-packageを使うほうがお手軽だったりする
    • iOSのライブラリ部分のソースコードはアプリビルド時に一緒にビルドされるので、Androidのように事前にビルドしたバイナリを配布しておく必要がない
    • そのためローカルでビルド前にpatchをあてる運用が可能
  • jsのソースコードにのみ手を加えたい場合も、iOSと同じくpatch-packageを使うほうがお手軽そう
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?