LoginSignup
0

More than 1 year has passed since last update.

ReactNativeでビルド時にスクリプトを実行させる方法

Posted at

やりたいこと

  • ビルド時にビルド日時やコミットハッシュなどの情報を何かしらのファイルに吐かせたい

やり方

やり方は色々あるのだが、Xcode/AndroidStudioからのビルド・実行、コマンドラインからのビルド・実行両方で必ず実行したい場合、方法は限られると思う。

Xcode

  • Build Phasesでスクリプトを実行する方法

image.png

上記のようにBuild PhasesでNew Run Script Phaseを行いスクリプト実行を行わせる。ここはXcode、コマンドライン共に実行される箇所なので、ビルドすれば必ず行われる。${PROJECT_DIR}でiosディレクトリを取得できるので、それ経由でpackage.jsonがあるディレクトリに移動し、npm scriptsを実行すると良い。

  • SchemeのPre-actionsで実行させる方法

image.png

ビルド前に実行させるスクリプトをPre-actionsに書く事が出来る。react-native-configなんかはここでenvファイルをコピーするようにしていると思う。ここにも任意のスクリプトが書けるので方法としてはありなのだが、全てのSchemeに書かないといけないのでやや面倒くさい。

Android Studio

  • Gradleで実行させる方法

android/app/build.gradleに下記のような記述を追加する。

task runAnyScript(type: Exec, description: 'Run any script') {
    workingDir "$rootDir/../"
    commandLine 'yarn', '...'
}
preBuild.dependsOn runAnyScript

これでビルド前に任意の処理を挟めるようになる。Gradleの処理として書く事で、AndroidStudio、コマンドライン共に実行するようにできる。

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