Getting Started with Mobile Meteor
Today I'm skipping ahead to the Running your app on Android or iOS page of the Meteor tutorial. The vast bulk of time required to perform these steps is taken up by downloading the various SDKs that are needed. For this reason, I limited myself to just the Android version, and left the iOS version for another day. Other than that, a couple of very simple commands are all it takes to get our simple-todo Meteor app to run either in an emulator, or directly on a mobile device. And you are not limited to your local server, either - your mobile device app can immediately start talking to the remote server deployed on page 6 of the tutorial. It is quite exhilarating to see your fully functional mobile app launched so quickly!
I encountered a couple of gotchas while running the add-platform android and the run android commands, due to environment variables not being set properly during the installation of the SDKs. My platform is OS X Yosemite (10.10), and the Java environment I installed is the SE Development Kit 8 (jdk-8u-25). This page automatically opened up when I ran the meteor install-sdk android command, and it contained the installation instructions. I was also prompted to install the HAXM emulator acceleration, which I did.
> meteor add-platform android
Error: ERROR : executing command 'ant', make sure you have ant installed and added to your path.
I located ant in /Users/yourname/.meteor/android_bundle/apache-ant-1.9.4, however setting the ANT_HOME variable was not sufficient. The JAVA_HOME environment variable also needed fixing:
Error: JAVA_HOME is not defined correctly.
We cannot execute /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/bin/java
Some googling led me to the solution, which is to set the following two environment variables:
After this, I could run ant properly:
Buildfile: build.xml does not exist!
This spells success!
With that, all the commands for mobile apps run, and I could enjoy the tutorial app on my Android phone.