The software I produce on Android isn't an app at all. It's a mathematical modelling library, built entirely with the NDK, which is tested with a command-line test harness in the ADB shell. It is licensed to ISVs, who produce apps based on it.

The library (and test harness) are only produced in aarch64 form, so I need a 64-bit device to test them on. I need something that runs as quickly as possible, with at least 10GB RAM and 256GB of internal storage for the test data I push onto it. The device needs to be able to run tests continuously for several days at a time (there are a lot of test cases) without running out of power. It can stay plugged into a host computer the whole time - there's no need for it to be used as a personal device.

1 Answer 1


The simplest solution is to use a 'phone based on a SoC that uses sufficiently little power that it can stay fully charged while running its CPU full-time. This is much easier if there's no need for the screen to be powered on.

As of early 2023, 'phones based on the Qualcomm Snapdragon 870 5G can meet this need. The one I've been using is a Vivo X60 Pro, with 12GB RAM and 256GB storage. You can monitor the battery state through USB via adb shell dumpsys battery. The advantage of the 870 over the high-end 700 models is that the 800 models have twice the memory bandwidth.

I previously tried doing this with 'phones based on the Snapdragon 888, but with no success. I was unable to find one that could accept enough power to keep the battery from draining while both running at full speed and plugged into a computer via USB. Of the devices I tried:

  • One had two USB ports, with different charge capacities. If you plugged the high-capacity port into the custom charger, the low-capacity port would not talk to the computer. If you plugged the charger into the low-capacity port, the high-capacity port would talk to the computer OK, but the low-capacity port could not keep the battery charged.
  • The other had a single USB port and wireless charging. However, putting the device on the charging cradle immediately cut off communication through the USB port.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .