首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Android资源/映像/ PNG优化

禁用Android资源/映像/ PNG优化
EN

Stack Overflow用户
提问于 2012-10-17 08:12:35
回答 6查看 24.3K关注 0票数 22

如何防止Android“构建过程”优化.png映像?

我有一个Android项目,包含以下res目录:

代码语言:javascript
复制
- /res/
- /res/drawable
- /res/drawable-hdpi
- /res/drawable-hdpi-v5
- /res/drawable-ldpi
- /res/drawable-ldpi-v5
- /res/drawable-mdpi
- /res/drawable-mdpi-v5

这些目录包含许多.png文件。我使用PNGOUTWin优化了PNG的大小,总的尺寸减少了20%以上。当我构建.apk文件时,映像是由构建过程“优化”的,总体大小现在比初始大小高10%,或者比我/PNGOUTWin优化的大小高30%。

我的目标是减少.apk大小,即使它会影响最终的性能、内存需求等。如何防止“构建过程”优化.png映像?

我的目标是Android2.2及以上版本。

P.S.:我目前正在从Eclipse构建我的Android项目,但是稍后我会切换到自动构建(Ant?)。

关于JPG图片的注释: JPG将无法工作,因为它们没有透明度。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-17 09:12:08

正如Android文档中所提到的:http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables

备注:在构建过程中,可以使用aapt工具使用无损图像压缩自动优化放置在res/ Image /中的图像资源。例如,不需要超过256种颜色的真彩色PNG可以转换为带有调色板的8位PNG。这将导致同等质量的图像,但这需要较少的内存。因此,请注意,放置在此目录中的图像二进制文件可以在build.期间更改

因此,如果您想缩小应用程序的大小,您应该减少PNG文件的颜色深度(这非常有帮助),或者尽可能切换到.JPG文件。

票数 2
EN

Stack Overflow用户

发布于 2015-04-23 20:16:04

最后,有一种用Gradle禁用PNG cruncher的官方方法,这里还没有提到这一点:

  1. 编辑主build.gradle以要求分级版本1.1.3 (或更高版本): buildscript { mavenCentral() }依赖{ classpath 'com.android.tools.build:gradle:1.1.3‘}
  2. 在各个应用程序的build.gradle ( android {}部分)中插入: aaptOptions { cruncherEnabled = false }

参考资料:https://code.google.com/p/android/issues/detail?id=65335

票数 39
EN

Stack Overflow用户

发布于 2017-07-01 04:56:15

指定PNG解密现在是一个BuildType属性,默认情况下在调试版本中禁用:

代码语言:javascript
复制
android {
    …
    buildTypes {
        release {
            crunchPngs false // or true
        }
    }
}

注意:,它可以从Android Studio 3.0金丝雀5获得。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12929884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档