Meteor 的 Android 支持
在项目里 meteor add-platform android 即可添加 android 支持。如果是第一次做 android 应用,那么要先 meteor install-sdk android 安装 meteor 的 android 支持,相关文件会在 ~/.meteor/android-bundle 里。然后就可以 meteor run android 或 meteor run android-device 了。如果已经布署了服务器,用 --mobile-server https://hostname:port 指定(http可不写schema),否则会在开发机上起一个服务。
USE_GLOBAL_ADK=t
meteor 默认会在 ~/.meteor/android-bundle /android-sdk里放一份android sdk,约1.8G。如果磁盘宽裕,这样环境干净不受干扰,很好。但是像我这样本来就有一份完整的android sdk的,rMBP 的 SSD 磁盘又小还没法扩,能少就省了,这时 USE_GLOBAL_ADK 就立功了。(里边的ant也多冗余,不过比较小不值当折腾的)。
以下是可能碰到的问题:
meteor --verbose run android
Found com.intel.kext.intelhaxm: undefined
重新安装一下android-sdk extras 里的 haxm。
meteor install-sdk
Valid ABIs: default/armeabi-v7a
Error: Invalid --abi x86 for the selected target.
meteor 默认使用 --target 1,这里的1是target id,不是 api level,它自带的android sdk里只有一个 预定义的target,而 USE_GLOBAL_ADK=t 时,由于第一个 target 很可能没有 x86 image,则会出这个问题。
手工处理一下就好,先在命令行上运行:
android-sdk/tools/android list target
找到有x86 abi image的,在我的机器上 25 号 target 是有 x86 image 的。
android-sdk/tools/android create avd --target 25 --name meteor --abi default/x86 --path /Users/pinxue/.android/avd/meteor.avd
再运行 meteor install-sdk android 就好了
meteor --verbose run android-device
无声无息的失败了,--verbose 显示
ERROR: Failed to launch application on device: ERROR: Failed to install apk to device: pkg: /data/local/tmp/CordovaApp-debug.apk
Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]
这是设备上存储空间满了,在机器上删除点文件之后再运行就好了。