国内的安卓手机品牌众多,安卓操作系统碎片化也很严重,我们使用sencha touch 开发的应用不可避免的出现了各种无解的兼容性问题。

有时候我就在想,有没有既能支持cordova,又能让我们把Chromium内核打包到应用里面的平台呢?这样就不用担心兼容性了。

最近阿赛向我推荐了Crosswalk,满足了我的愿望,不过可惜的是,Crosswalk仅支持Android4.0+。并且这个是将Chromium内核打包到了应用中,所以安装包略大一些。

Crosswalk是基于Chromium内核打造的一个跨平台HTML5运行平台,具有良好的HTML5特性支持和性能优势,目前主要Android和Tizen两个平台。

Crosswalk可以与cordova集成使用,

Crosswalk的官方网站是:https://crosswalk-project.org/

在线帮助文档:https://crosswalk-project.org/#documentation

在这里我们讲crosswalk-cordova的使用,crosswalk-cordova顾名思义就是crosswalk集成了cordova

1.环境搭建(win环境)

  a.Python

    先下载Python,下载地址: http://www.python.org/downloads/

    安装到指定路径,例如F:\Python

    打开计算机属性——高级系统设置——环境变量

    配置环境变量

      变量: Path                添加值:F:\Python

    配置完成,接下来验证配置是否成功。

    双击运行——输入cmd——回车——输入Python——回车,如果出现一堆英文,如下图所示,即表示配置成功。

 

  b.java

    先下载JAVA,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    安装到指定路径,例如F:\Java

    打开计算机属性——高级系统设置——环境变量(如上文)

    配置环境变量

      变量: JAVA_HOME          值: 安装路径:F:\Java\jdk1.6.0_10

      变量: Path                添加值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

      变量: CLASSPATH     添加值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

    配置完成,接下来验证配置是否成功。

    双击运行——输入cmd——回车——输入javac——回车,如果出现一堆英文,如下图所示,即表示配置成功。

 

  c.Apache Ant

    下载Apache ant,地址: http://ant.apache.org/bindownload.cgi

    解压到指定路径,例如F:\apache-ant

    打开计算机属性——高级系统设置——环境变量(如上文)

    配置环境变量

      变量: ANT_HOME          值: 你刚解压到的路径:F:\apache-ant

      变量: Path              添加值:%ANT_HOME%\bin

    配置完成,接下来验证配置是否成功。

    双击运行——输入cmd——回车——输入ant——回车。

如果没有指定build.xml就会输出:

         Buildfile: build.xml does not exist!         Build failed

       有指定会输出:

         BUILD SUCCESSFUL

  d.adt-eclipse

    下载adt-eclipse,地址http://developer.android.com/sdk/index.html(注:可能需要挂代理)

解压到指定路径,例如F:\adt-eclipse,运行SDK Manager.exe

安装下图所示文件即可满足我们的需求,其他的随意

因为谷歌有时候会被墙,所以在不能访问谷歌服务器时请修改hosts文件,参考:http://blog.csdn.net/chinaeran/article/details/10565055

    

    打开计算机属性——高级系统设置——环境变量(如上文)

    配置环境变量

      变量:       ANDROID_HOME          值:F:\adt-eclipse\sdk(以你安装目录为准,确认里面有tools和add-ons等多个文件夹)

      变量:       Path                      添加值:F:\adt-eclipse\sdk\tools

      用户变量: PATH                           值:%ANDROID_HOME%\platform-tools

    配置完成,接下来验证配置是否成功。

    双击运行——输入cmd——回车——输入adb——回车,如果出现一堆英文,如下图所示,即表示配置成功。

  e.node.js

    下载,地址http://nodejs.org/

直接安装即可

  f.git

安装node.js后,双击运行——输入cmd——回车——输入

           npm install -g git 即可安装,也可以参考http://blog.chinaunix.net/uid-25806493-id-3319781.html安装

  g.crosswalk-cordova

    下载,地址https://crosswalk-project.org/#documentation/downloads

选择Cordova Android (ARM) 7.36.154.13下载,如图

任意解压即可,如D:\ASPX\crosswalk-cordova

2.创建项目

  

a.双击运行——输入cmd——回车进入命令行工具中,

输入:cd /d D:\ASPX\crosswalk-cordova\bin(D:\ASPX\crosswalk-cordova就是之前我解压的目录)

注意:途中可能会报一个关于git的错误,翻译过来的意思是某个文件找不到,根据路径把对应的文件夹创建了就可以了。

b.创建项目:

输入:create D:\ASPX\HelloWorld org.crosswalkproject.sample HelloWorld (D:\ASPX\HelloWorld是项目路径 org.crosswalkproject.sample是包名  HelloWorld是项目名称)

c.添加cordova插件:

输入:cd /d D:\ASPX\HelloWorld\cordova (D:\ASPX\HelloWorld就是项目路径,在此输入version命令可以查看cordova版本号)

在这里我们需要用 plugman install --platform android --project . \ --plugin 插件地址 这个命令来添加插件,如添加摄像机插件

plugman install --platform android --project . \ --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git#r0.2.5

具体插件对照表请在https://crosswalk-project.org/#wiki/Plugins-list-@-3.3.0-supported-by-crosswalk-cordova-android中查看

在sencha touch中,插件的使用和直接使用 cordova 一样

3.项目打包

    通过上述过程生成的项目就是一个完整的安卓项目了,直接用adt-eclipse导入即可。

     整个导入打包过程可以参考http://www.cnblogs.com/mlzs/p/3437445.html,基本没有什么变化,唯一的区别就是导入的项目中多了一个xwalk_core_library,如图所示

使用 crosswalk-cordova 打包sencha touch 项目,再也不用担心安卓兼容问题!的更多相关文章

  1. 性能测试loadrunner11工具再也不用担心浏览器兼容的问题了(目前试过的各版本浏览器都是成功的)

    工具:Loadrunner 11.0+Fiddler+浏览器(谷歌.火狐.IE等) 步骤一:查看抓包工具Fiddler对应的端口 1.打开Fiddler------工具------选项-----连接, ...

  2. 第四步 使用 adt-eclipse 打包 Cordova (3.0及其以上版本) + sencha touch 项目

    cordova最新中文api http://cordova.apache.org/docs/zh/3.1.0/ 1.将Cordova 生成的项目导入到adt-eclipse中,如下: 项目结构如下: ...

  3. sencha touch 入门系列 扩展篇之sencha touch 项目打包压缩

    经常有新手同学抱怨说sencha touch的项目加载速度为什么这么慢,经常要10秒左右的时间甚至更多, 大家都知道,sencha touch开发的项目中引用了大量的js文件,当我们打开项目时,st的 ...

  4. sencha touch 入门系列 (三)sencha touch 项目创建

    通过上一章节的学习,我们的开发环境已经配置好了,接下来我们开始创建第一个sencha touch的项目,网络上很多sencha touch的教程都是手动搭建项目的, 不过手动搭建的项目缺少一些senc ...

  5. 保姆级神器 Maven,再也不用担心项目构建搞崩了

    今天来给大家介绍一款项目构建神器--Maven,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现:它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的.流行的构建工具,从此以后,再 ...

  6. 教会舍友玩 Git (再也不用担心他的学习)

    舍友长大想当程序员,我和他爷爷奶奶都可高兴了,写他最喜欢的喜之郎牌Git文章,学完以后,再也不用担心舍友的学习了(狗头)哪里不会写哪里 ~~~ 一 先来聊一聊 太多东西属于,总在用,但是一直都没整理的 ...

  7. 妈妈再也不用担心我使用git了

    妈妈再也不用担心我使用git了 Dec 29, 2014 git git由于其灵活,速度快,离线工作等特点而倍受青睐,下面一步步来总结下git的基本命令和常用操作. 安装msysgit 下载地址:ms ...

  8. 妈妈再也不用担心别人问我是否真正用过redis了

    1. Memcache与Redis的区别 1.1. 存储方式不同 1.2. 数据支持类型 1.3. 使用底层模型不同 2. Redis支持的数据类型 3. Redis的回收策略 4. Redis小命令 ...

  9. 锋利的js之妈妈再也不用担心我找错钱了

    用js实现收银功能. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <hea ...

随机推荐

  1. why add \n to http response.responseText

    这是今天我们公司线上出现的问题,http response 的信息,都添加了一个\n换行,我找了好久呢 才发现,我把php页面的结束符?>去掉之后,一切正常,这个?>,我平时也是很少加上的 ...

  2. 如果下次做模板,我就使用Nvelocity

    普通Replace模板做法 很多人在做邮件模板.短信模板的时候,都是使用特殊标识的字符串进行占位,然后在后台代码中进行Replace字符串,如果遇到表格形式的内容,则需要在后台进行遍历数据集合,进行字 ...

  3. Nutz Dao实体中索引注解的使用(@TableIndexes@Index)

    Nutz是一组轻便小型的框架的集合, 各个部分可以被独立使用,把SSH的精华封装在一个1M左右的jar包中,Nutz不对其他任何第三方库产生依赖,如果不考虑数据库链接和日志的话,创建完美的Web应用只 ...

  4. php性能分析工具 - xhprof的安装使用

    一.前言 有用的东西还是记录下来吧,也方便以后的查询:这次记录一下xhprof的安装使用: xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低, ...

  5. H5常用代码:页面框架

    万变不离其宗,道法自然! 虽然H5的小项目一波又一波,但有一个东东基本没什么变化,那就是整个页面的框架结构. 我所常用的H5常用页面框架如下: <!DOCTYPE html> <ht ...

  6. atitit.架构设计---方法调用结果使用异常还是返回值

    atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...

  7. atitit.导航的实现最佳实践and声明式编程

    atitit.导航的实现最佳实践and声明式编程 1. 顶部水平栏导航 1 2. 竖直/侧边栏导航 1 3. 选项卡导航 1 4. 面包屑导航 1 5. 标签导航 1 6. 搜索导航 2 7. 分面/ ...

  8. paip.不同目录结构哈的文件批量比较

    paip.不同目录结构哈的文件批量比较 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...

  9. iOS开发——运行时OC篇&使用运行时获取系统的属性:使用自己的手势修改系统自带的手势

    使用运行时获取系统的属性:使用自己的手势修改系统自带的手势 有的时候我需要实现一个功能,但是没有想到很好的方法或者想到了方法只是那个方法实现起来太麻烦,一或者确实为了装逼,我们就会想到iOS开发中最牛 ...

  10. log4qt的使用

    Log4Qt替换成新版本使其支持Qt5:https://github.com/devbean/log4qt/tree/master/src/log4qt 1. 解压log4qt到目标文件夹,如D:\Q ...