我正在创建一个 Android 应用程序,该应用程序允许主机设备承担其收集、共享或处理信息的众多角色之一。鉴于应用程序的性质,不仅需要独立测试角色,还需要模拟组件之间的交互。是否存在允许在网络中模拟多个 android 设备的平台?
我很难找到有意义的搜索结果,因为大多数结果似乎都适用于测试多种类型设备,而不是同时模拟多个通信设备。
按照建议here ,可以运行多个通过套接字通信的 Android Studio 模拟器实例,但这似乎不是模拟大量设备的合适策略。
最佳答案
My advisor has requested that I find a platform that allows for the simulation of thousands of devices, but I would be happy to find something suitable for hundreds
如果您有数万美元的预算,请购买一堆 Android 设备并将它们联网。
如果您有数千美元的预算,请购买一堆计算机并在每台计算机上运行一些模拟器。
如果您在系统管理和 Android 开发方面拥有丰富的经验,则可以考虑租用大量 Amazon EC2 实例,也许每个实例都带有一个 headless Android 模拟器。这限制了前期费用,但管理起来并不容易。
恕我直言,最好的解决方案是暂时忽略 Android。抽象您的代码,以便“它收集、共享或处理信息的许多角色”以纯 Java(或纯 C/C++,如果您正在使用的话)实现。然后您可以在常规 PC 硬件上测试该代码,而不是受限于 Android 硬件或模拟器及其固有功能。为数百或数千个交互“设备”创建测试用例将很困难,但结果应该能够在一台 PC 上运行,尽管可能是一台强大的 PC。然后,对使用此代码的 Android 应用程序执行较小规模的交互测试。即使这看起来可能不在单个学生项目的范围内,但它比我上面概述的替代方案更接近。
关于android - 模拟多个安卓设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46206486/