为什么在React Native中创建的android应用无法打开?

时间:2018-11-27 08:49:35

标签: android android-studio react-native

本月我从Angular 7切换到了React Native。与这个有趣的框架相比,我的主要吸引力是组件之间的快速交互(由babel为jsx提供支持)不同于Angular 7中.ts控制的HTML模板,有时需要刷新以更新GUI。 js代码中HTML的功能是此框架过渡的顶峰。

我希望在这里找到我需要的相关帮助。

但是,我正在努力使用Android Studio从React Native项目创建apk文件。我成功创建了一个签名的apk,该apk已正确安装在我的Techno W2设备上;但该应用程序无法打开,也没有可见的启动图标。尽管它在设置中已安装的应用程序中列出。安装后,“打开”按钮无效。

在此方面的任何帮助将不胜感激,因为除非解决此问题,否则我无法继续我的React Native开发。我想在本地创建我的apk文件,而不要使用会产生巨大文件大小的Expo服务。 注意:我的React Native Project是由“ expo init项目名称”生成的,然后由“ expo弹出”弹出,以重新生成android&iOS目录。

谢谢。

2 个答案:

答案 0 :(得分:0)

要使用react-native项目制作android apk,您需要先捆绑JS,然后进行apk捆绑过程。

要捆绑该应用,请先在RN项目的根目录中使用以下命令:

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

此过程完成后,创建一个签名的apk,您应该能够成功运行您的应用。

从学习的角度:我会说“不使用博览会”。由于文档很差,因此它使事情看起来很简单,然后当您需要使用本机依赖项来处理复杂的事情时,您会发现自己陷入了无人区。从官方文档中学习并尝试坚持使用react-native init

答案 1 :(得分:0)

首先,我不建议您使用EXPO。代替在EXPO中创建项目,请使用一般方法通过react-native init YouProject创建项目

在运行项目之前,请确保正确设置了所有节点模块。
要安装节点模块,请运行 <div class="col-sm-6">

使用
运行项目 npm install --save 对于Android
react-native run-android (适用于iOS)

Genarate unsigned APK的说明

  1. 确保已删除以前的生成文件。
  2. YourProject> android> app>构建上删除构建文件夹
  3. 从终端运行此脚本命令以生成输出apk。

react-native run-ios

  1. YourProject> android> app> build>输出> apk>调试
  2. 中获取输出apk

要获得签名的APK,请使用this instrctions