Skip to content

Cordova 开发日记 01:环境部署

安装部署

sh
npm install -g cordova
cordova create MyApp
cd MyApp
cordova platform add browser
cordova run browser

上面的 browser 可以是其他平台 (android/ios 等)

我目前使用的是 android 平台,系统是 ubuntu

以下几个问题注意以下:

  1. 编译安卓 app 需要 oracle jdk, 不能用系统自带的 openjdk
  2. 保证 android sdk 已经配置到环境变量
  3. 保证 adb 正确链接设备

adb 的配置可以参考这篇文章:http://www.linuxidc.com/Linux/2013-01/77625.htm

跨域请求

众所周知,浏览器为了安全,默认的请求是没法跨域的,在 cordova 中需要额外设置

这里要用到一个插件:cordova-plugin-whitelist

官方地址:http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/index.html

视图架构

因为 cordova 是单 webview 模式,所以视图架构直接影响 app 的体验。

推荐框架是 react.js, 性能高,jsx 配合 webpack 非常适合单页面应用的开发。(react-native 在这里不做介绍,有兴趣的可以看看,和 cordova 各有优势)

关于 jQuery/zepto, 并不是不能引,某些方法还是超级实用的,但是不要用他们来做 dom 操作,效率非常低。

一些问题

某些手机存在 300ms 点击延迟,这个建议使用 fastclick.js 解决

还有一些坑稍后会补充。..

调试

推荐 ripple

sh
npm install -g ripple-emulator
cd appDir
ripple emulate

真机调试: 我写成了一个 bash 脚本

sh
#!/usr/bin/bash
cd /home/wolfx/project/cordova/roadkeeper

for arg in "$@"
do
  if [ $arg == -b ]; then
    cordova build android
  fi
done

for arg in "$@"
do
  if [ $arg == -i ]; then
    adb install -r /home/wolfx/project/cordova/roadkeeper/platforms/android/build/outputs/apk/android-armv7-debug.apk
  fi
done

也可以直接

sh
cordova run android

Version 4.2 (core-1.3.4)