Oejia 技术栈
首页
分享
微信模块
关于
编辑器
登录
Cordova开发环境搭建与基本使用
on 2014-12-15
###安装cordova(原名phonegap) ``` npm install -g cordova ``` 如果没有npm 先安装Nodejs ###创建项目 ``` cordova create japp cd japp ``` 指定package名和应用名 ``` cordova create app2 com.rensanning.app.cordova CordovaSample ``` 参数说明 - path:也就是项目的目录名称 - ID:项目的ID,用于写入config.xml的widget中,通常格式为 com.example.hello - name:应用程序的显示名称 创建生成的目录结构说明 ``` app2/ |-- config.xml #项目配置文件 |-- hooks/ #存放Cordova 的钩子 |-- node_modules/ |-- res/ #存放一些各平台的icon或者首屏图等资源 |-- www/ #静态网页资源 |-- platforms/ #各平台存放目录 |-- plugins/ #插件目录 |-- package.json ``` ###安装插件 ``` cordova plugin add com.dooble.audiotoggle #添加本地插件 cordova plugin add 'D:\xxx\xxx' ``` ###添加平台 ``` cordova platform add android/ios ``` ###编译 编译指定平台: ``` cordova build android/ios ``` 编译所有平台: ``` cordova build ``` 此步骤会涉及构建平台的搭建和配置(比如Android平台要装好SDK环境),对于一个前端开发者来说,只需要android sdk 就可以了,不一定非要安装android studio ###删除 ``` cordova platform rm android cordova plugin rm com.dooble.audiotoggle ``` ###更新 更新Cordova ``` sudo npm update cordova -g ``` 更新平台 ``` cordova platform update android ``` 查看已添加的平台 ``` cordova platform ls ``` ### Cordova 防止跳转自带浏览器 在config.xml文件中加入以下两行代码 ``` <allow-navigation href="https://*/*" /> <allow-navigation href="http://*/*" /> ``` ### cordova 远程h5页面调用本地js 方法一: 本地先安装好插件,然后将cordova.js plugin等所有js文件(一般在 platforms/andriod/assets/www/或platforms/andriod/platform_www目录下)一起放在服务器上。h5页面只需要引用cordova.js即可 方法二: 直接让h5使用本地cordova.js等文件 ``` <script src="file:///android_asset/www/cordova.js" type="text/javascript" charset="UTF-8"></script> ``` 如果遇到webview安全机制导致http协议下禁止通过`file://`方式访问本地的文件,可以通过拦截webview的请求,实现加载本地js,具体如下: 修改 platforms/andriod/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java 代码 ``` public void clearAuthenticationTokens() { this.authenticationTokens.clear(); } private static final String INJECTION_TOKEN = "http://injection/"; //新增 @TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { //新增内容开始 if(url != null && url.contains(INJECTION_TOKEN)) { String assetPath = url.substring(url.indexOf(INJECTION_TOKEN) + INJECTION_TOKEN.length(), url.length()); try { WebResourceResponse response = new WebResourceResponse( "application/javascript", "UTF8", view.getContext().getAssets().open(assetPath) ); return response; } catch (IOException e) { e.printStackTrace(); // Failed to load asset file return new WebResourceResponse("text/plain", "UTF-8", null); } } //新增内容结束 try { // Check the against the whitelist and lock out access to the WebView directory // Changing this will cause problems for your application if (!parentEngine.pluginManager.shouldAllowRequest(url)) { LOG.w(TAG, "URL blocked by whitelist: " + url); // Results in a 404. return new WebResourceResponse("text/plain", "UTF-8", null); } // ... } catch (IOException e) { //... } } ```
Information
Cordova开发环境搭建与基本使用
http://www.oejia.net/article/72706cfe230b1f3b423ff81b3b4cacf1
http://www.oejia.net/raw/72706cfe230b1f3b423ff81b3b4cacf1
on 2014-12-15
Category
移动开发
Tag
HTML5
Related
2016-03-19 :
从 odoo 源码看 odoo 8.0 到 9.0 的变化
2019-03-25 :
Odoo 基于企业微信实现的自建应用审批流功能的配置及使用说明
2016-06-13 :
DjangoX 的菜单控制与配置
2018-11-19 :
wkhtmltopdf、PDF导出、字体相关
2016-01-17 :
新版开启2016年新篇章
2018-01-23 :
Odoo 视图之 act_window
2018-07-07 :
Odoo 菜单美化的扩展模块
2021-12-27 :
商城——标准版
2021-02-18 :
Git
2021-07-28 :
Odoo 用代码模拟表单视图提交创建记录
分类
(23)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (126)
Python (1)
YouMd (3)
公告说明 (2)
前端 (2)
后端HTTP (7)
异常处理 (1)
桌面UI (1)
移动开发 (4)
官方公众号
关注公众号实时咨询我们
About This Entry
Cordova页面加载的事件
Cordova配置config.xml详解
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
HTML5
审批OA
OE商城
Markdown
DjangoX
oeshop
服系统
解析
Excel
YouPBX
markdown
PyQT
md
Python
示例
最近发布
处理 Error Failed to download metadata for repo ‘appstream‘ Cannot prepare internal mirrorlist
Odoo 16 关键变化 change the term "acquirer" to "provider"
企业微信错误码 81013 的排查与处理
Odoo商城模块 Oejia_weshop v1.1 发布,支持Odoo16及下单子账号特性
微信模块 Oejia_wx v0.6.7 发布,支持 Odoo16 及新的Websocket消息模式
Odoo16 开启客屏时如何实现在POS设备上自动打开到第二屏
Odoo生产环境需要注意或修改的一些关键配置项
Odoo 更灵活的对账、付款及客户余额的介绍
Odoo16 SyntaxError
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子