Mar*_* B. 19 android android-build android-image android-resources
如何防止Android"构建过程"优化.png图像?
我有一个包含以下res目录的Android项目:
- /res/
- /res/drawable
- /res/drawable-hdpi
- /res/drawable-hdpi-v5
- /res/drawable-ldpi
- /res/drawable-ldpi-v5
- /res/drawable-mdpi
- /res/drawable-mdpi-v5
Run Code Online (Sandbox Code Playgroud)
这些目录包含许多.png文件.我使用PNGOUTWin优化PNG尺寸,整体尺寸减少了20%以上.当我构建.apk文件时,图像由构建过程"优化",整体大小现在比初始大小高10%,或者比我的/ PNGOUTWin优化大小高30%.
我的目标是减小.apk大小,即使它会影响最终性能,内存要求等.如何防止"构建过程"优化.png图像?
我的目标是Android 2.2及更高版本.
PS:我目前正在从Eclipse构建我的Android项目,但我稍后会切换到自动构建(Ant?).
关于JPG图像的注意事项: JPG不起作用,因为它们没有透明度.
Chr*_*isG 33
最后有一种官方的方法来禁用使用Gradle的PNG cruncher,这里还没有提到:
编辑main build.gradle以要求gradle版本1.1.3(或更新版本):
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3'
}
}
Run Code Online (Sandbox Code Playgroud)在各个应用程序的build.gradle中,部分为android {},插入:
aaptOptions {
cruncherEnabled = false
}
Run Code Online (Sandbox Code Playgroud)参考:https: //code.google.com/p/android/issues/detail?id = 65335
pRa*_*NaY 16
指定PNG运算现在是一个BuildType属性,默认情况下在调试版本中被禁用:
android {
…
buildTypes {
release {
crunchPngs false // or true
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意:它可以从Android Studio 3.0 Canary 5获得.
正如 Android 文档中所述:http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables
注意:放置在 res/drawable/ 中的图像资源可能会在构建过程中由 aapt 工具通过无损图像压缩自动优化。例如,不需要超过 256 色的真彩色 PNG 可以通过调色板转换为 8 位 PNG。这将产生同等质量的图像,但需要更少的内存。因此请注意,放置在该目录中的图像二进制文件可能会在构建过程中发生更改。
因此,如果您想减小应用程序的大小,您应该减小 PNG 文件的颜色深度(这很有帮助),或者尽可能切换到 .JPG 文件。
| 归档时间: |
|
| 查看次数: |
17968 次 |
| 最近记录: |