So today’s post was going to be about how I built a MeteorJS/Angular 2 app to Android and released it on the play store. Instead I write a reminder/warning to all who like to develop in experimental technologies.
What Happened to My App?
The day started brightly. I was working away, being more productive than I had in a while. Getting things done. Cleaned up some code, got some things working that had not been and decided to try building my app for an Android device.
I plugged in an old android phone to my computer and ran:
meteor add-platform android
meteor run android-device
No errors showed up in the compile but the only thing showing on the phone was a blank white screen.
Investigating
Googling the issue brought me to this post. I am not the first to run into this issue. After reading through the thread, it seemed as if the issue might be fixed in a newer version of some of the packages that I was using.
So I ran meteor update
and saw that indeed there were new versions of some of the core Angular 2 packages that I was using. Some of them I could only update by removing them first and then reinstalling them by the specific version.
Alas, this did not fix my problem.
In the course of research, I found another issue posting that is only 19 days old and is still open (as of this writing).
There are a few more experimental things to try but if they don’t work, looks like a few more days of work rewriting this to something more stable and tested.
Moral of the Story
If you are planning on releasing something to the wild, you should probably not use a technology that is in beta unless you are the one developing it and can fix your own issues.
Since the main purpose of this particular game was to learn a bit about releasing an app to the Android/Google Play Store, I will probably rewrite it into either basic javascript using Meteor or figure out how to write it into Angular 1 with Meteor.
Make games, have fun, and try not to cut yourself on the bleeding edge.
Update
I finally got the game to build to Android properly (around 1:00 A.M. after undoing all the other experiments I had tried then removing the login packages that were being used. Technically it can be played without logging in currently, but there is some additional functionality that tracks some statistics and scoring based on the user meaning I still need to figure out how to handle users. But it builds. Huzzah!