在react-native中运行脚本预构建

时间:2017-03-30 17:04:43

标签: android ios react-native

我有一些资源文件需要在构建时从/app/resources复制到/android/app/src/main/ress/raw/ios/<project>/resources。我假设有一种方法可以做到这一点,但我不熟悉react-native / Gradle / XCode的构建方式。

对于gradle,我尝试添加到/android/app/build.gradle

task copySounds(type: Copy) {
    from '../../app/resources/sounds/*'
    into 'src/main/res/raw/'
}

/android/.idea/workspace.xml

<project version="4">
  // ...
  <component name="GradleLocalSettings">
    // ...
    <option name="availableTasks">
      <map>
        <entry>
          // ...
          <value>
            <list>
              // ...
              <ExternalTaskPojo>
                <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
                <option name="name" value="copySounds" />
              </ExternalTaskPojo>
              // ...
            </list>
          </value>
        </entry>
        // ...
      </map>
    </option>
    // ...
  </component>
</project>

但它似乎没有做任何事情。我的猜测是我需要在某处添加第三个参考,但我无法弄清楚在哪里。

1 个答案:

答案 0 :(得分:2)

这可以在项目根目录下的package.json的scripts部分中完成。

例如,在调用React Native packager执行构建之前,我正在运行./scripts/script-to-run-before-RN-build.sh。

"scripts": {
      "start": "npm run pre-packager && node node_modules/react-native/local-cli/cli.js start",
      "pre-packager": "./scripts/script-to-run-before-RN-build.sh"
}