如何从我的 react-native 项目构建 android apk?

Posted

技术标签:

【中文标题】如何从我的 react-native 项目构建 android apk?【英文标题】:How to build android apk from my react-native project? 【发布时间】:2016-05-28 19:22:51 【问题描述】:

此命令“react-native run-android”在文件夹 android\app\build\outputs\apk\ 上创建 app-debug.apk 但是当我在手机上安装它时,我收到一个错误“无法下载 JS 包”。当我第一次在模拟器上启动时,我使用命令来解决这个问题:

react-native start curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

【问题讨论】:

【参考方案1】:

生成 APK

为调试构建手动创建包:

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

打包后构建APK

cd android ./gradlew assembleDebug ./gradlew assembleRelease

【讨论】:

那么我在哪里可以找到该应用程序? assets-dest ./android/app/src/main/res【参考方案2】:

您可以从此链接下载 Android Studio 设置:Android Studio Setup Link

如果你有一些 Android Studio 使用,更简单的方法是 + “安卓”过往经历,

即使你没有任何Android Studio的经验,我也给出了 进行构建的逐步解决方法,上面还提到的是 Android Studio 设置链接:

    打开您的 Android Studio。 点击顶部菜单栏中的“文件”。 点击“新建选项”和“导入项目”。 导航到您的 React Native 项目的文件夹 -> android -> 应用程序 5.点击对话框底部的“确定”按钮。 现在等待几分钟,Android Studio 将完成其进程。 完成后,单击顶部菜单栏中的“构建”。 单击“生成签名的 APK”选项。 现在,如果您有一个现有的密钥存储路径,那么您就可以开始了,如果没有,请单击“新建”按钮,然后在字段中输入数据。 填写“密钥存储密码”、“密钥别名”和“密钥密码”,然后单击对话框底部的“下一步”按钮。 从下拉菜单中选择构建类型,“调试”或“发布”。 根据您的要求检查签名版本 v1、v2(通常在构建时检查 v1、v2 两者 安卓)。 点击完成。

    现在等待几分钟,Android Studio 会完成为您的应用制作 Android APK 的过程。

    一旦完成,您可以在“YOURPROJECT/android/app/debug”文件夹中找到您的 React Native App 的 Android APK 文件,或者在以下情况下 在“YOURPROJECT/android/app/release”文件夹中发布构建。

【讨论】:

【参考方案3】:

都是here写的。

您需要先生成签名密钥,然后将它们设置为变量,使用它们来配置您的应用程序,然后创建一个签名的 apk。

如果您在此过程的某个具体点上需要任何帮助,我很乐意为您提供帮助。但是请查看文档,它们写得很好。

【讨论】:

我做到了,但是在我的智能手机上运行这个 apk 后,apk 强制关闭。 检查this ReactNative Doc 已经完全过时了,不是一个实用的解决方案。 2017 年 4 月 12 日

以上是关于如何从我的 react-native 项目构建 android apk?的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的项目构建 jar 文件?

如何使用 Xcode 12 Beta 4 构建 React-Native 项目?

如何从我的项目访问我的MongoDB实例到我的xunit测试项目类?

如何在 Eclipse 中从我的 Android 项目中删除依赖项

对于 React-Native iOS XCode 版本 12.5 的旧项目,构建失败

从我的 react-native 应用程序调用 UPI 应用程序在 iOS 中有效,但在 Android 中无效