React native:我可以 运行 另一个网络中的 assembleDebug APK 吗?

React native : Can I run the assembleDebug APK in another network?

使用 React native 0.56.0 和 React native 导航 v2,生成的调试 APK 不会 运行 在另一个网络上,它在屏幕上显示开发服务器未连接错误。我如何在没有开发服务器的情况下在另一个网络中 运行 app-debug.apk?看了很多回答,都说是创建release/unsigned APK.

是否需要为另一个网络创建 Keystore 到 运行? 我不会分发到 Play 商店,所以我认为不需要生成 签名的 APK

注意:没有npm start无法打开应用程序。 npm start 会捆绑。我该如何解决?

通过以下步骤创建了 APK:

  1. 捆绑应用程序

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

  1. 创建调试 APK:

cd ./android && ./gradlew app:assembleDebug // 不会 运行 在另一个网络上

  1. 创建发布 APK:

cd ./android && ./gradlew app:assembleRelease // 应用未安装

  1. 在 运行 npm start 从项目根目录重新加载应用后 运行 没问题

生成签名的 Apk。一切正常

为什么要分发调试 APK?

默认情况下,React Native 在调试构建时不会捆绑 JS,因此调试 APK 是空的 shell。 Debug 是为开发者准备的,它应该在你的电脑上 运行 本地,JS bundle 不在 APK 中,而是由 ReactNative bundler (Metro) 动态提供的,它提供了热重载、调试菜单、错误的红框,以及我们喜欢的所有功能...

查看您的应用程序文件夹中的 build.gradle 文件,那里有很多注释提示您如何更改此行为,请阅读 project.ext.react= [ 行下方的注释.例如,

*   // whether to bundle JS and assets in debug mode
*   bundleInDebug: false,`

但是,再一次,你为什么要这样做?...发布还不够好吗?如果不是,您可以创建其他构建变体...(alpha、beta,无论您需要什么)