國內(nèi)的安卓手機(jī)品牌眾多,安卓操作系統(tǒng)碎片化也很嚴(yán)重,我們使用sencha touch 開發(fā)的應(yīng)用不可避免的出現(xiàn)了各種無解的兼容性問題。
有時(shí)候我就在想,有沒有既能支持cordova,又能讓我們把Chromium內(nèi)核打包到應(yīng)用里面的平臺(tái)呢?這樣就不用擔(dān)心兼容性了。
最近阿賽向我推薦了Crosswalk,滿足了我的愿望,不過可惜的是,Crosswalk僅支持Android4.0+。并且這個(gè)是將Chromium內(nèi)核打包到了應(yīng)用中,所以安裝包略大一些。
Crosswalk是基于Chromium內(nèi)核打造的一個(gè)跨平臺(tái)HTML5運(yùn)行平臺(tái),具有良好的HTML5特性支持和性能優(yōu)勢,目前主要Android和Tizen兩個(gè)平臺(tái)。
Crosswalk可以與cordova集成使用,
Crosswalk的官方網(wǎng)站是:https://crosswalk-project.org/
在線幫助文檔:https://crosswalk-project.org/#documentation
在這里我們講crosswalk-cordova的使用,crosswalk-cordova顧名思義就是crosswalk集成了cordova
1.環(huán)境搭建(win環(huán)境)
a.Python
先下載Python,下載地址: http://www.python.org/downloads/
安裝到指定路徑,例如F:\Python
打開計(jì)算機(jī)屬性——高級(jí)系統(tǒng)設(shè)置——環(huán)境變量
配置環(huán)境變量
變量: Path 添加值:F:\Python
配置完成,接下來驗(yàn)證配置是否成功。
雙擊運(yùn)行——輸入cmd——回車——輸入Python——回車,如果出現(xiàn)一堆英文,如下圖所示,即表示配置成功。
b.java
先下載JAVA,下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝到指定路徑,例如F:\Java
打開計(jì)算機(jī)屬性——高級(jí)系統(tǒng)設(shè)置——環(huán)境變量(如上文)
配置環(huán)境變量
變量: 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
配置完成,接下來驗(yàn)證配置是否成功。
雙擊運(yùn)行——輸入cmd——回車——輸入javac——回車,如果出現(xiàn)一堆英文,如下圖所示,即表示配置成功。
c.Apache Ant
下載Apache ant,地址: http://ant.apache.org/bindownload.cgi
解壓到指定路徑,例如F:\apache-ant
打開計(jì)算機(jī)屬性——高級(jí)系統(tǒng)設(shè)置——環(huán)境變量(如上文)
配置環(huán)境變量
變量: ANT_HOME 值: 你剛解壓到的路徑:F:\apache-ant
變量: Path 添加值:%ANT_HOME%\bin
配置完成,接下來驗(yàn)證配置是否成功。
雙擊運(yùn)行——輸入cmd——回車——輸入ant——回車。
如果沒有指定build.xml就會(huì)輸出:
Buildfile: build.xml does not exist! Build failed
有指定會(huì)輸出:
BUILD SUCCESSFUL
d.adt-eclipse
下載adt-eclipse,地址http://developer.android.com/sdk/index.html(注:可能需要掛代理)
解壓到指定路徑,例如F:\adt-eclipse,運(yùn)行SDK Manager.exe
安裝下圖所示文件即可滿足我們的需求,其他的隨意
因?yàn)楣雀栌袝r(shí)候會(huì)被墻,所以在不能訪問谷歌服務(wù)器時(shí)請修改hosts文件,參考:http://blog.csdn.net/chinaeran/article/details/10565055
打開計(jì)算機(jī)屬性——高級(jí)系統(tǒng)設(shè)置——環(huán)境變量(如上文)
配置環(huán)境變量
變量: ANDROID_HOME 值:F:\adt-eclipse\sdk(以你安裝目錄為準(zhǔn),確認(rèn)里面有tools和add-ons等多個(gè)文件夾)
變量: Path 添加值:F:\adt-eclipse\sdk\tools
用戶變量: PATH 值:%ANDROID_HOME%\platform-tools
配置完成,接下來驗(yàn)證配置是否成功。
雙擊運(yùn)行——輸入cmd——回車——輸入adb——回車,如果出現(xiàn)一堆英文,如下圖所示,即表示配置成功。
e.node.js
下載,地址http://nodejs.org/
直接安裝即可
f.git
安裝node.js后,雙擊運(yùn)行——輸入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.創(chuàng)建項(xiàng)目
a.雙擊運(yùn)行——輸入cmd——回車進(jìn)入命令行工具中,
輸入:cd /d D:\ASPX\crosswalk-cordova\bin(D:\ASPX\crosswalk-cordova就是之前我解壓的目錄)
注意:途中可能會(huì)報(bào)一個(gè)關(guān)于git的錯(cuò)誤,翻譯過來的意思是某個(gè)文件找不到,根據(jù)路徑把對應(yīng)的文件夾創(chuàng)建了就可以了。
b.創(chuàng)建項(xiàng)目:
輸入:create D:\ASPX\HelloWorld org.crosswalkproject.sample HelloWorld (D:\ASPX\HelloWorld是項(xiàng)目路徑 org.crosswalkproject.sample是包名 HelloWorld是項(xiàng)目名稱)
c.添加cordova插件:
輸入:cd /d D:\ASPX\HelloWorld\cordova (D:\ASPX\HelloWorld就是項(xiàng)目路徑,在此輸入version命令可以查看cordova版本號(hào))
在這里我們需要用 plugman install --platform android --project . \ --plugin 插件地址 這個(gè)命令來添加插件,如添加攝像機(jī)插件
plugman install --platform android --project . \ --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git#r0.2.5
具體插件對照表請?jiān)?a style="margin: 0px; padding: 0px; color: rgb(100, 102, 179);">https://crosswalk-project.org/#wiki/Plugins-list-@-3.3.0-supported-by-crosswalk-cordova-android中查看
在sencha touch中,插件的使用和直接使用 cordova 一樣
3.項(xiàng)目打包
通過上述過程生成的項(xiàng)目就是一個(gè)完整的安卓項(xiàng)目了,直接用adt-eclipse導(dǎo)入即可。
整個(gè)導(dǎo)入打包過程可以參考http://www.cnblogs.com/mlzs/p/3437445.html,基本沒有什么變化,唯一的區(qū)別就是導(dǎo)入的項(xiàng)目中多了一個(gè)xwalk_core_library,如圖所示
聯(lián)系客服