I do not know of any on-device ZPL rendering engines. But here are a couple ideas:
Most of our network enabled printers have a built-in viewer, including mobile printers. But in order to use it, you need a TCPIP connection to the Zebra printer to access the ZPL rendering page. But it will render 100% of the ZPL it can support. To play with it, access the printer via its IP address + "/index.html",(http://111.222.333.444/index.html), select 'directory listing', then click 'create new script', then click 'edit' and you will get an ZPL input box, paste your valid ZPL code then click 'preview label'.
I have found an online viewer that does something similar, but it is third party, not Zebra owned, so use at your own risk: http://labelary.com/viewer.html , if your Android app has access to the web, you could push your ZPL to the page some how. And it seems to handle about 90% of ZPL code.