国内的安卓手机品牌众多,安卓操作系统碎片化也很严重,我们使用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. JsRender for index 循环索引使用说明

    循环是模版引擎必不可少的一部分,而说起循环,会引出一个至关重要的因素:索引. 所谓索引,即循环次数,通过索引,可以获取当前循环是第几次. 如果读者阅读过官方文档,会见到如下获取索引的方式: data: ...

  2. DOS与Linux的换行字符

    一.vim打开window下的文件出现 ^M 首先理解,dos(windows)下建立的文件的换行是  ^M\$ (CRLF) ,而在Linux下面,仅仅是以 \$ (LF) 来做断行符号: (^M\ ...

  3. 【原】对频率论(Frequentist)方法和贝叶斯方法(Bayesian Methods)的一个总结

    注: 本文是对<IPython Interactive Computing and Visualization Cookbook>一书中第七章[Introduction to statis ...

  4. MySQL group_concat 1024 大小

    1. GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,你可以通过下面的语句获得: SELECT @@global.group_concat_max_len; show varia ...

  5. 转 CSS hack:针对IE6,IE7,firefox显示不同效果

    CSS hack:针对IE6,IE7,firefox显示不同效果 做网站时经常会用到,衡量一个DIV+CSS架构师的水平时,这个也很重要. 区别不同浏览器的CSS hack写法: 区别IE6与FF:  ...

  6. atitit.避免NullPointerException 总结and 最佳实践 o99

    atitit.避免NullPointerException 对于返回集合的方法很简单,只需要返回空的集合就可以了,而不是null. 1 一种可选办法就是不使用空返回值,而是空对象模式: 1 直接抛出e ...

  7. atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug

    atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug 1. core.setProperty(o, "materialId&qu ...

  8. ssh sftp scp命令

    scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:r ...

  9. Objective-c中定义成员变量

    ios定义成员变量的方法: 如果只是内部访问,完全可以直接用_xxx(下划线),无需自己定义,编译器会自动生成 如果需要外部访问这个变量,可以用 @property xxx ; @synthesize ...

  10. ThinkCMF 解决xss攻击问题

    最近使用ThinkCMF给某政府开发的一个平台,因为他们需要通过国家二级信息安全等级测试 所以自己先使用Appscan测试了一下,结果扫描出一个xss安全问题 测试的网址:http://www.xxx ...