I have the same issue. My app working is working with XDE and when I build:android and install it on a device I get a spinning flywheel. I am not using Closure or anything else I just want the .apk to work.
Check that your lein prod-build actually produced a main.js file. I am assuming here that in Dev, this application had no problems running on either platform - IOS/Android.
WHen you run the exp publish if it fails before creating either the IOS bundle or Android bundle, usually you have a missing dependency. Eg. I once go this error about a module that could not be found ‘websocket’
So you just run ‘yarn install ->modulename<-’ (no arrows of course) and then clear all caches on the packager before attempting your publish again.
Watch the build process carefully to see if any warnings or errors come up.
If you see the ‘Waiting for Figwheel message’ it means you tried to publish a build that was put together prior using the lein figwheel command. You need to stop the repl, run ‘lein clean’, run lein prod-build, then run your exp publish (maybe add the -o switch to see what it is doing )
Make sure your app.json file has icon and notification set. There was a point where i could not publish without those entries pointing to perfectly square images/icon files.
eg. here is a snippet