在没有运行包装管理器的情况下在实际设备上进行本地反应测试

时间:2017-10-17 18:04:11

标签: react-native react-native-android

我正在为我的Android手机开发一个小型的本机应用程序。在开发过程中,我已经在我的计算机上运行了打包管理器,并在我的设备上测试了该应用程序。

我还发布了一个版本,并将apk文件复制到我的设备上并将其安装在那里,以便我可以在后台运行打包服务器来测试应用程序。

后者非常繁琐,所以我想在我的设备上测试应用程序的方法,并带上我的设备,而无需通过构建应用程序并将apk文件复制到我的设备上安装。

其他人如何做到这一点,您如何在远离计算机(和打包管理器)的情况下测试您的应用程序?

5 个答案:

答案 0 :(得分:2)

我在没有世博会的情况下工作(由于使用了优秀的Ignite工具,但尚未支持Expo),只需按照以下步骤操作:

  1. 将设备连接到计算机
  2. 运行“adb reverse tcp:8081 tcp:8081”
  3. 运行“react-native run-android”
  4. 在应用程序中启用Live Reload
  5. 这样我可以随时断开设备与计算机的连接,应用程序仍可正常运行。

答案 1 :(得分:1)

我发现Fabric + Fastlane + Beta + Crashlytics对此很有帮助。听起来可能相当复杂但the docs很棒,甚至还有a page that creates the initial config for you

通过上述工具的组合,您可以将应用分发给任何人,并收集测试人员可能遇到的任何错误。

如果您仅在Android之后,则可能需要跳过测试版并直接使用Google Play beta track

答案 2 :(得分:0)

您可以使用Expo执行此操作,但需要对您的应用进行一些修改。 Expo允许您通过Internet访问包管理器并将包发布到云端。

此外,官方React Native网站现在recommends creating new apps using Expo

将您的软件包发布到Expo的云后,您无需运行软件包管理器即可使用您的应用程序。但是,您的移动设备需要连接到互联网才能从云端下载软件包。当您准备部署到应用程序商店时,Expo将允许您使用包含的React Native javascript编译您的应用程序。最初编译的应用程序需要互联网连接才能下载资产(图像和字体)。但是,在第一次加载后,可以从缓存中检索资产。

Expo还允许您在本地计算机上运行程序包管理器,并通过Internet连接该连接。这使您的移动设备可以从任何地方在线连接到本地包管理器。

世博并不适合所有人,而且肯定存在一些局限性。但是,它允许您从任何地方测试您的应用程序。

答案 3 :(得分:0)

如果你正在使用wifi网络点你的电脑的IP端口(默认8081)为开发人员菜单=>开发设置=>调试服务器主机&设备端口。 如果你的后端运行在同一台电脑上。你不得不在不使用localhost的情况下做同样的事情。

答案 4 :(得分:0)

您可以通过生成签名的apk( app-release.apk )来测试您的应用程序/与没有共享包管理器的朋友共享应用程序。