React Native Android:./ gradlew assembleRelease打破了

时间:2017-07-18 18:30:45

标签: android react-native apk gradlew

我正在使用haul作为我正在构建的React Native应用程序的开发服务器/ bundler,因为我需要访问sym链接,而标准的React Native bundler并不能访问它们

我按照文档添加了:

project.ext.react = [
    cliPath: "node_modules/haul/bin/cli.js"
]

到我的android/app/build.gradle文件并生成以下wepack.haul.js文件。

const path = require("path");

module.exports = ({ platform, root }, defaults) => {
    return {
      entry: `./index.${platform}.js`,
      resolve: {
          ...defaults.resolve,
          alias: {
              ...defaults.resolve.alias,
              config: path.join(root, 'config.js')
          }
      }
    }
};

当我在项目目录的android文件夹中运行./gradlew assembleRelease以生成.apk文件时,我收到以下错误:它无法跟随符号链接。

* What went wrong:
Could not list contents of '/Users/brendan/Projects/<project-name>/node_modules/<team-name>/mart-redux/node_modules/node-pre-gyp/node_modules/.bin/nopt'. Couldn't follow symbolic link.

我还收到错误消息,我的webpack.haul文件中的配置别名没有解决,但我相信这两个问题都是相关的。

我认为./gradlew assembleRelease调用正在使用标准的RN打包程序,而不是运输,这就是sym链接和别名解析无法正常工作的原因。

如何让./gradlew assembleRelease使用拖运?

1 个答案:

答案 0 :(得分:1)

我不确定这是否是解决问题的正确方法,但我在本地环境中工作并通过在 project.ext.react = [ cliPath: "node_modules/haul/bin/cli.js" ] // apply from: "../../node_modules/react-native/react.gradle" 中注释下面的行来构建.apk文件。

   <div class="otsenka-bottom-c ">
     <div class="otsenka-bottom-cl">
       <h3><b>ОБРАЩАЙТЕСЬ К НАМ, ЕСЛИ</b></h3>
       </div>
       <div class="border-black"></div>
        <div class="otsenka-bottom-cb">
            <div class="otsenka-bottom-block" >
            <div class="otsenka-bottom-block-p an-1" style="position:relative; left:-200%">
            <div class="align-middle" style="text-align:right;width:65%;">
               <h3><b>LOREM IPSUM</b></h3>
                <ul><li style="text-align:right; color:#000;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima itaque neque fugit rem, in praesentium, est. </li></ul>
            </div>
            <div class="align-middle" id="ellipse">
                <img src="assets/img/ellipse.png" class="img-responsive">
            </div>              
            </div>
       </div>
     </div>
   </div>