Oejia 技术栈
首页
应用市场
方案
OE学院
分享
关于
编辑器
登录
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-07-18 :
话题评论 RPC 服务存储结构
2017-10-31 :
前端相关
2019-03-25 :
Odoo 基于企业微信实现的自建应用审批流功能的配置及使用说明
2016-12-29 :
Odoo 开发中 wizard 向导页的使用方法
2016-01-19 :
Odoo 新 API 的使用说明
2019-09-30 :
小程序商城模块 Oejia_weshop v0.1.5 发布,新版的UI及系列后端优化
2016-01-19 :
Odoo 的重要对象 Environment (env) 简析
2018-01-31 :
Odoo 微信模块文档
2017-05-30 :
VOIP & PBX
2018-11-14 :
Odoo 基于企业微信的多功能微信客服系统,多终端回复,无需专人值守电脑
官方订阅号
关注订阅实时了解我们更多分享
分类
(20)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (134)
Python (1)
YouMd (3)
公告说明 (2)
前端 (2)
后端HTTP (7)
异常处理 (1)
桌面UI (1)
移动开发 (4)
About This Entry
Cordova配置config.xml详解
开篇感言
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
OE商城
审批OA
HTML5
Markdown
DjangoX
markdown
PyQT
Python
示例
md
YouPBX
oeshop
服系统
Excel
解析
最近发布
OSError [Errno 5] Input/output error 异常处理
Odoo context 的常见使用示例
Odoo 符合国人菜单导航习惯的后台主题,支持最新的Odoo17、16等版本,支持企业版!
Odoo 官方应用市场开启 Odoo17 应用的发布!增加了行业应用专栏
Odoo商城模块 Oejia_weshop v1.2 发布,多商户、分销增强,增加商家端!
处理 Error Failed to download metadata for repo ‘appstream‘ Cannot prepare internal mirrorlist
Odoo 16 关键变化 change the term "acquirer" to "provider"
企业微信错误码 81013 的排查与处理
微信模块 Oejia_wx v0.6.7 发布,支持 Odoo16 及新的Websocket消息模式
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子