Building for different Android architectures


I can get my app onto an Android device now, but the process feels more like a sequence of superstitious rituals than a methodical sequence of comprehensible steps.

When doing a build, I use the following command:

meteor build <dir> --mobile-settings <settings> --server <url>

This produces a bunch of build output in <dir>. Of specific interest is the file android/release-unsigned.apk. I’m confused about what this file actually is, because as a result of the same build command, I get other files created in .meteor/local/cordova-build/platforms/android/build/outputs/apk called android-armv7-release-unsigned.apk and android-x86-release-unsigned.apk. Both of these are an order of magnitude larger than the generically named one in <dir>.

So far I’ve managed to get a signed, zipaligned version of the armv7 apk file in the .meteor directory to install on my Android phone. Given that, my question is, what on earth is the generic one generated in the build output directory? Which files am I supposed to be using?

Also, I had to install the crosswalk package in order to generate the apk files for distinct CPU architectures. I’m not sure why that is, I just copied what I found in the example todos app. Is this the only way to generate arch-specific apk files? There seems to be very little documentation about this. Any guidance, background, explanation, or links to clarifying documentation would be much appreciated.