在create-react-native-app之后构建app

时间:2017-11-18 15:41:46

标签: android react-native build runtime-error

好的,这是我的问题......

使用命令create-react-native-app myApp创建反应原生应用后,我编辑了文件App.js并能够使用npm start和应用 Expo在我的Android手机上运行它

之后,我使用npm run eject 弹出项目。

我试图以树的方式让项目从那里运行:

  1. 正在运行npm run android
  2. 正在运行react-native run-android
  3. 并使用 Android Studio myApp/android下打开项目,并在那里构建。
  4. 每次我在手机上都会收到相同的错误消息(Samsung Galaxy S2):

      

    无法从资源&index; android.bundle'加载脚本。确保捆绑包正确包装或您正在运行打包服务器。

    现在,在查看此错误消息后,我找到了以下"解决方案":

    1. mkdir android/app/src/main/assets
    2. react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    3. 这导致了以下错误:Cannot find entry file index.android.js,因为我使用的create-react-native-app仅提供了文件App.js

      所以我改为运行命令:react-native bundle --platform android --dev false --entry-file App.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/,它将文件index.android.bundleindex.android.bundle.meta添加到assets文件夹。

      最后我跑了:  3.再次react-native run-android

      现在我收到以下错误消息:

        

      模块AppRegistry不是注册模块(调用runApplication)

      我没有想法。有没有人遇到类似的问题/知道如何处理这个?

      谢谢, Buugy

1 个答案:

答案 0 :(得分:0)

问题解决了:

react-native 0.49.5有一个index.js文件,需要在react-native bundle命令中使用。

  1. mkdir android/app/src/main/assets
  2. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
  3. react-native run-android