What is the best phone or tablet to use when developing Delphi apps for Android?
This is a recurring question on conferences and workshops. My short answer is “any of the Google Nexus phones or tablets”. These are Google’s developer devices with special features.
Please note that the choice of devices for end-users of the app you write in Delphi just about spans the entire Android market, and is in no way limited to Nexus or Pixel devices. You can basically run Delphi Android apps on almost any modern Android device; more about that later.
The best Delphi Android development device should have the following characteristics:
- must support debugging
- should have access to pre-release and old versions of the Android OS
- should be a reference design without quirks
The Nexus / Pixel line of devices supports all of the above, whilst also pushing ahead with the latest hardware features.
Does this mean I cannot use my own phone or tablet?
No, you can probably also use that for development, as long as it supports debugging. However you will probably have no access to multiple Android OS versions and the Android OS is likely modified in some way.
What do I need to check if I use my own phone?
Well, not all vendors allow you to enable Developer Options, so that’s the first thing to check. Also make sure that the installed Android OS version is new enough. And last verify that the device uses one of the newer ARM chipsets (ARMv7 with NEON or ARMv8). Although an end-user can run your Delphi 10.1 Berlin Android apps on Intel-bases tablets with libHoudini, this is less suitable for you as a developer because its harder to debug as its essentially running in an ARM emulator.
Do you need multiple size devices for development?
Well, it doesn’t do any harm, and you can use FireUI Live Preview. But you could also take a look at device metrics and go from there. It is always a good idea to test your app on multiple devices though, either through beta testing or by using one of the test platforms. And don’t forget the Monkey.
Do you need to root the device?
No, unless… Some of the more advanced debugging and tracing features require you to root your device, like disk activity in SysTrace, but most regular debugging tasks don’t need that.
Google has rebranded their Nexus to Pixel, and it looks like their Nexus phones that are expected to be released on October 4th will follow the new Pixel naming. Will the new Pixel phones be the best devices for development? Yes, probably, but they are not available yet, and I haven’t tried them yet.
If you are in the market for a new Delphi Android development device, you may want to wait for one of the new Pixel phones.
[Edited June-2017] Check the support window of the Nexus and Pixel devices here: https://support.google.com/nexus/answer/4457705?hl=en#nexus_devices