首页 > 解决方案 > 为什么在 React Native 中创建的 android 应用程序无法打开?

问题描述

我本月从 Angular 7 切换到 React Native。我对这个迷人框架的主要吸引力在于组件的快速交互(由 babel for jsx 提供支持),这与 Angular 7 中的 .ts 控制的 HTML 模板不同,后者有时需要刷新才能更新图形用户界面。js代码中HTML的能力是这个框架转型的顶峰。

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

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

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

谢谢你。

标签: androidandroid-studioreact-native

解决方案


首先我不推荐使用EXPO。不要在 EXPO 中创建项目,而是使用常规方法使用 react-native init YouProject 创建项目

在运行您的项目之前,请确保所有节点模块都已正确设置。
安装节点模块运行npm install --save


react-native run-android使用for android
react-native run-iosfor iOS运行您的项目

生成未签名 APK 的说明

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

mkdir -p android/app/src/main/assets && rm -rf android/app/build && 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 && cd android && ./gradlew assembleDebug

  1. YourProject > android > app > build > outputs > apk > debug获取输出 apk

要获得签名的 apk,请使用此说明


推荐阅读