Is it possible to run it on a VPS somewhere and make Android points its DNS setting to it? There are lots of stupid ad in the apps that can use some blocking.
The general recommendation is setting up OpenVPN (or similar) and make Pi-hole listen on the tunnel interface.
Luckily, the Pi-hole project is publishing a guide for this: https://github.com/pi-hole/pi-hole/wiki/OpenVPN-server:-Setu...
I've used a hosts file for a while (MoAB) but it was a pain whitelisting because you have to edit the package. reboot your phone and reinstall with adb. However, when using mobile data my phone totally ignored the hosts file.