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

时间:2018-10-31 06:50:40

标签: android reactjs react-native react-native-navigation

使用React本机 0.56.0 和React本机导航 v2 ,生成的调试APK不在其他网络上运行,它在屏幕上显示开发服务器未连接错误。没有开发服务器,如何在另一个网络中运行app-debug.apk?看到很多答案,据说都是创建发行版/未签名的APK。

是否需要创建Keystore才能在另一个网络上运行? 我不会分发游戏商店,因此我认为无需生成签名的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后,重新加载应用程序运行正常

2 个答案:

答案 0 :(得分:0)

您为什么要分发调试APK?

默认情况下,React Native在进行调试时不会捆绑JS,因此debug APK是一个空的shell。 调试是针对开发人员的,它有望在您的计算机上本地运行,并且JS捆绑包不在APK中,而是由ReactNative捆绑包(Metro)动态提供,该包提供热重载,调试菜单,错误的红框和所有功能我们爱...

看看您的app文件夹中的build.gradle文件,那里有很多注释,这些注释提示如何更改此行为,请阅读project.ext.react= [行下面的注释。例如,

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

但是,再一次,你为什么要这么做?...发行不够好吗?如果不是,则可以创建其他版本的构建...(Alpha,Beta,任何需要)

答案 1 :(得分:-2)

生成签名的Apk。它可以正常工作