先安装nodejs 和ant。ant文件解压配置环境变量:添加ANT_NAME就是解压存放的路径,在path后面添加;%ANT_HOME%\bin;node
校验 cmd:node -v v6.11.0android
校验 cmd :ant -v v1.9.9 (JDK1.8)git
node和ant安装完成后,在path后面添加上;C:\Users\Administrator\AppData\Roaming\npm;github
cmd输入 npm install -g cordova@版本号 (npm install -g cordova@5.4.1) 等待安装完成。npm
校验 cmd:cordova -v 5.4.1浏览器
cordova help createapp
建立一个项目:ide
使用命令行导航至但愿建立项目的目录,输入 cordova create [ID [NAME [CONFIG] ] ] [options] {PLATFORM...] (cordova create com.shangqing.android app) demo是工程名 app是项目名ui
添加一个平台:url
导航至工程目录下:cd demo
demo>cordova platforms add (cordova platforms add android)
校验添加的平台:demo>cordova platform
运行app: demo>cordova run
删除一个平台:
demo>cordova platform remove android (cordova platform rm android)
添加插件
输入:cordova plugin add cordova-plugin-file (cordova plugin add <插件官方名称>)
输入:cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git//这个是扫描二维码插件 (github项目地址)
github地址:https://github.com/
删除插件
输入:cordova plugin rm cordova-plugin-file(使用rm和remove均可以)
插件列表
输入:cordova plugin list(查看当前安装了哪些插件)
cordova install android //将编译好的应用程序安装到模拟器上。
cordova emulate android //在模拟器上运行(前提是建立好AVD)
cordova serve android //在浏览器运行
cordova build android //打包cordova项目到android平台。
cordova run android //经过USB直接安装到真机(该语句已经包括了build命令)
在CordovaWebViewImpl.class中发现:
@Override
public boolean onNavigationAttempt(String url) {
// Give plugins the chance to handle the url
if (pluginManager.onOverrideUrlLoading(url)) {
return true;
} else if (pluginManager.shouldAllowNavigation(url)) {
return false;
} else if (pluginManager.shouldOpenExternalUrl(url)) {
showWebPage(url, true, false, null);
return true;
}
LOG.w(TAG, "Blocked (possibly sub-frame) navigation to non-allowed URL: " + url);
return true;
}
return true就是在外部浏览器中打开。
其中,shouldAllowNavigation是循环插件,有一个插件返回true或false就返回了。
第一个就是白名单插件,呵呵
看文档,只要在config.xml中添加:
便可容许全部http请求。
添加后,shouldAllowNavigation方法返回true,onNavigationAttempt返回false,
从而在app 内部打开。