先安装nodejs 和ant。ant文件解压配置环境变量:添加ANT_NAME就是解压存放的路径,在path后面添加;%ANT_HOME%\bin;
校验 cmd:node -v v6.11.0
校验 cmd :ant -v v1.9.9 (JDK1.8)
node和ant安装完成后,在path后面添加上;C:\Users\Administrator\AppData\Roaming\npm;
cmd输入 npm install -g cordova@版本号 (npm install -g cordova@5.4.1) 等待安装完成。
校验 cmd:cordova -v 5.4.1
cordova help create
创建一个项目:
使用命令行导航至希望创建项目的目录,输入 cordova create [ID [NAME [CONFIG] ] ] [options] {PLATFORM...] (cordova create com.shangqing.android app) demo是工程名 app是项目名
添加一个平台:
导航至工程目录下: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 内部打开。