【问题标题】:The output of intel XDK (.apk) is too large ! (android)intel XDK (.apk) 的输出太大了! (安卓)
【发布时间】:2014-03-07 09:28:57
【问题描述】:

我想用英特尔 XDK 构建一个基于网络的 android 应用程序! 我试过了,但是输出的 apk 文件太大了,我的文件总共有 2.4MB 但输出是 15.6Mb ! 我该怎么办?

【问题讨论】:

标签: android apk output intel-xdk


【解决方案1】:

正如@HoseinBL 所指出的,15.6MB 对于典型的 APK 来说并没有那么大。

您使用的是哪个 Android 版本?当前的 XDK 构建系统中实际上有三个可用。如果您使用的是仅标记为“Android”的那个,则上面来自@Brad Hill 和@Tangocoder 的cmets 适用。如果您需要使用 Canvas API(又名 AGI)或 Cordova API,您需要使用“Gold”选项进行构建。如果您只使用英特尔 XDK API(intel.xdk 和 appmobi 命名空间),您可以使用“精益”选项来获得稍小的 APK。

Crosswalk for Android 构建将创建至少 15MB 的包,因为此选项包括需要大量空间的替换 webview。

我们正在完成一个 100% 与 Cordova 兼容的构建(当前称为“Cordova for Android”),它将生成更小的 APK,但它还没有为黄金时段做好准备(因此“ Beta”标签)。

【讨论】:

  • 更新:截至 2014 年底,除了适用于 iOS 的 Cordova 和适用于 Windows 8 的 Cordova(还没有 Win8 Phone)之外,我们现在支持适用于 Android 版本的标准 Cordova(基于 Cordova 3.x)。我们正在实施一个 Cordova 4.x 构建系统,该系统将于 2015 年初推出。
  • 更新:截至 2015 年底,我们已迁移到 Cordova CLI 5.x 构建系统,这将为 Crosswalk 构建提供更大的灵活性。关注 2016 年 3 月/4 月时间范围内的发布,这将为您构建的 Crosswalk 版本提供更多灵活性。此外,届时将完全支持 Windows 通用版本。
【解决方案2】:

目前,Crosswalk build 是英特尔 XDK 的 Android 应用程序的最佳解决方案,但文件非常大。我有游戏所有资产和代码 ~4 mb,其中使用 Crosswalk 编译的 apk 是 22mb,安装在设备上是 50mb!这太大了,但是使用 Crosswalk 一切正常。声音、事件、全屏、方向等功能。

如果您需要更小的文件,请使用 Cordoba 构建。使用相同的游戏文件,我的 apk 只有 ~4.7mb,这是不同的。坏消息,Cordoba 构建是测试版,而不是 alpha。使用此版本可能会在较旧的 android 版本和某些设备上出现声音问题。例如,在我的 android 4.0.4 设备上,我没有声音,而最新版本的声音大部分都在工作。

【讨论】:

    【解决方案3】:

    在构建应用程序时,您使用的是哪个代码库? “黄金”是最坚固的,但这也意味着它是最大的(包含更多的内含物)。您的应用程序仍然可以使用更轻的“精益”代码库吗?

    【讨论】:

      【解决方案4】:

      这是与您的应用打包在一起的英特尔 XDK 容器,如果您想使用 DirectCanvas(例如开发游戏),您有义务使用“黄金”代码库,即使您是不使用它们。好难过啊!

      此外,由于所有这些 API 都是由您的应用构建的,因此该应用在安装时将需要设备上的大量权限,而对此没有什么可做的(据我所知)。

      【讨论】:

        【解决方案5】:

        通常图像是应用程序中最大的内容,您可以使用 gulp 任务运行器和 gulp min 对其进行压缩

        https://github.com/sindresorhus/gulp-imagemin

        样本:

        const gulp = require('gulp');
        const imagemin = require('gulp-imagemin');
        
        gulp.task('default', () =>
            gulp.src('src/images/*')
                .pipe(imagemin())
                .pipe(gulp.dest('dist/images'))
        );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-12-01
          • 2017-03-02
          • 1970-01-01
          • 2014-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多