Cordova开发环境搭建与基本使用 - Oejia 技术栈,企业方案分享、Odoo顾问
Oejia 技术栈
主页
分享
微信模块
索引
关于
订阅
编辑器
登录
Cordova开发环境搭建与基本使用
Oejia
on 2014-12-15 15:24: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文件中加入以下两行代码 ```
``` ### cordova 远程h5页面调用本地js 方法一: 本地先安装好插件,然后将cordova.js plugin等所有js文件(一般在 platforms/andriod/assets/www/或platforms/andriod/platform_www目录下)一起放在服务器上。h5页面只需要引用cordova.js即可 方法二: 直接让h5使用本地cordova.js等文件 ``` ``` 如果遇到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/blog/2014/12/15/cordova_base.html
http://www.oejia.net/raw/2014/12/15/cordova_base.md
Oejia
on 2014-12-15 15:24:15
Category
移动开发
Tag
Cordova
HTML5
Related
2023-01-12 :
Odoo16 SyntaxError: Failed to execute 'querySelectorAll' on 'Element': 'footer:not(field footer)' is not a valid selector
2021-08-31 :
微信模块 Oejia_wx v0.6.5 发布,更灵活强大的自定义回复功能实现各类自助交互查询业务
2020-03-28 :
小程序商城模块 Oejia_weshop v0.2 发布,全面升级为OE商城系统
2019-06-12 :
Odoo 地图位置改为百度地图
2019-03-30 :
Odoo 扫码及授权免密登录通用模块使用说明
2019-03-08 :
Odoo 菜单美化模块 oejia_menu 常见问题处理
2018-07-09 :
在Odoo中使用task_queue实现异步任务队列
2016-12-16 :
Odoo 的静态资源优化方案
2016-09-21 :
如何在 Django 中使用 Tornado 的 WebSocket 并做请求的用户验证识别
2016-02-23 :
YouMd 基本使用说明
March 2023
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
分类
Odoo (123)
DjangoX (13)
后端HTTP (7)
YouMd (4)
移动开发 (4)
Django (3)
前端 (2)
JS (2)
公告说明 (2)
Python (1)
Nginx (1)
桌面UI (1)
异常处理 (1)
官方公众号
关注公众号实时咨询我们
About This Entry
PyQt界面控件常用积累
Cordova配置config.xml详解
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Python
Web
Http
客服系统
OE商城
Cordova
审批OA
HTML5
Markdown
解析
DjangoX
ExtJS
示例
Excel
JS
新年
PyQT
扩展开发
YouPBX
服系统
最近发布
Odoo生产环境需要注意或修改的一些关键配置项
Odoo 更灵活的对账、付款及客户余额的介绍
Odoo16 SyntaxError: Failed to execute 'querySelectorAll' on 'Element': 'footer:not(field footer)' is not a valid selector
企业微信错误码:60020 的处理
在 Odoo 中使用 WebSocket 并兼容Odoo的Session会话识别
Odoo 让 server action 显示到指定的视图上
Odoo 增加树形列表视图的支持
Odoo 16 正式发布时间
Odoo 企业微信之日历、日程的同步
钉钉消息通知及审批功能的使用说明
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子