使用 crosswalk-cordova 打包sencha touch 項目,再也不用擔心安卓兼容問題!


國內的安卓手機品牌眾多,安卓操作系統碎片化也很嚴重,我們使用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,如圖所示

            


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM