如何使用ionic-cli使用Crosswalk lite构建android?

时间:2015-04-11 01:37:36

标签: android cordova ionic crosswalk-runtime

当我使用Crosswalk(ionic browser add crosswalk; ionic build android)编译APK时,大小太大(~20 MB)。我认为使用crosswalk lite会减少编译APK的大小。但我不想破解ionic-cli使用crosswalk lite。

我的问题是: 这会支持人行道精简吗? 2.是否有任何黑客(或临时解决方案)使用人行横道精简版?

感谢。

3 个答案:

答案 0 :(得分:9)

这是实验性的,但它会起作用,但不能保证在您构建应用时不会出现错误,请在继续之前阅读 this

程序(所有步骤均由运行MS-Windows 8.1的计算机完成)

  1. 首先,我搜索了所有可用的crosswalk-lite来下载该版本,看来只有3个可供下载的版本 here ,正如您所看到的最新版本是10.39.234.1我尝试过更高版本,如12.xx,13.xx和14.xx但是徒劳无功,找不到任何版本的后续版本。

  2. 导航到您的npm node-modules文件夹:Windows中的默认值为

  3.   

    C:\用户\ @YOUR_USER_NAME \应用程序数据\漫游\ NPM \ node_modules

    找到离子模块文件夹,然后,开始编辑browser.js文件,可以在里面找到文件:

      

    node_modules \离子\ lib中\离子\ browser.js

    1. 在代码编辑器中找到第169行:
    2. IonicTask.prototype.downloadCrosswalkWebview = function downloadCrosswalkWebview(architecture, version, releaseStatus) {
        .....
      
      }

      此功能负责下载所需的人行横道版本,并采用以下参数:

        

      架构,版本和releaseStatus。

      我们将手动添加我们的Lite版本,以便我们稍后下载。

      我们将暂时更改某些值以下载Lite版本,但是想要稍后将其恢复为原始值:

      第#178行

      变化

       var downloadUrl = 'https://download.01.org/crosswalk/releases/crosswalk/android/' + releaseStatus + '/' +
          version + '/' + architecture + '/crosswalk-webview-' + version + '-' + architecture + '.zip';

      是:

       var downloadUrl = 'https://download.01.org/crosswalk/releases/crosswalk-lite/android/' + releaseStatus + '/' +
          version + '/' + architecture + '/crosswalk-webview-' + version + '-' + architecture + '.zip';

        在第39行
      1. 中有一个对象数组crosswalkVersions,将此对象添加到它:
      2. {
          version: '10.39.234.1',
          publish_date: '2015-03-06 03:06',
          canary: true
        }

        您可以在CLI中测试是否成功添加了运行此命令的对象:

        ionic browser list
        

        正如您所看到的,它已在可用版本中列出: available xwalk versions

        1. 最后一步是通过CLI命令将您的crosswalk-lite项目下载到项目文件夹中:
        2.   ionic browser add crosswalk@10.39.234.1

          这就是你所做的一切。

          <强> P.S:

          我从未尝试过离子来建立我的混合项目。

答案 1 :(得分:2)

忘掉Ionic-cli crosswalk-lite,它依赖于cordova-plugin-crosswalk-webview,但是cordova-plugin-crosswalk-webview目前还不支持crosswalk-lite。如果你想使用crosswalk-lite,你将不得不使用cordova-android 3.0方式与CordovaLib一起提供crosswalk-lite-cordova(https://download.01.org/crosswalk/releases/crosswalk-lite/android/canary/10.39.237.1/arm/crosswalk-cordova-10.39.237.1-arm.zip),因为最新的crosswalk-lite是10.0。好消息是团队正在努力将轻量级精简到14.0。希望ASSP出来。

答案 2 :(得分:0)

Ionic-cli现在有一个lite选项:

ionic browser list

ionic browser add crosswalk-lite

但是,您可能希望看到this post