Android 构建 apk 更改原始 png 文件

Posted

技术标签:

【中文标题】Android 构建 apk 更改原始 png 文件【英文标题】:Android build apk changes raw png files 【发布时间】:2012-01-19 18:14:10 【问题描述】:

在我从 SDK Tools r11 升级到 SDK Tools r16 后,我最近遇到了一些设备问题。

我发现它与纹理相关,现在回顾我使用 SDK Tools r11 创建的 APK 文件包含原始文件中纹理的精确副本。但是使用 SDK Tools r16 创建的 APK 文件在字节级别上存在一些差异,我看不出任何差异,颜色深度也没有差异,但是无论它们发生什么都会导致 PowerVR GPU 设备上的加载问题。

JPG 和 BMP 文件不会被更改。

有谁知道这可能是什么原因以及如何让原始文件保持原始状态?

编辑: 查看 Notepad++ 中的文件,我看到“iCCPPhotoshop ICC 配置文件”已从标题中删除。可能还有其他变化。

Edit2:查看 Windows 资源管理器中的属性,原始属性显示“属性 A”,APK 显示“属性 N”。这绝对是在剥离/改变信息。

Edit3:我的意思是 SDK Tools Revision XX 而不是 API XX

【问题讨论】:

【参考方案1】:

我不知道为什么有人认为这是个好主意,但 android 会对 PNG 进行某种压缩。请参阅here 了解一个人的经验。我不确定 API 16 是否与 API 11 有所不同,但这种行为在 11 之前就已经存在。至于如何解决这种行为,我怀疑重命名您的资源可能会有所帮助。尝试将其命名为whatever.mp3 而不是.png,看看是否可以解决问题。

【讨论】:

非常感谢,我听从了您的建议,但重命名为 bmp,这样我仍然可以在 windows 中预览。该文件在构建过程中不会被更改,并且在 PowerVR 设备上一切正常。调查了一下,“功能”被称为“png粉碎”顺便说一句。我认为更改原始文件夹中的文件很可笑。 我觉得奇怪的是 PNG 压缩不应该是有损的,所以 PNG Crush (pmt.sourceforge.net/pngcrush) 不应该按照博客文章降低视觉质量。如果 PNG 不会产生视觉差异,我可以接受预处理,尽管我同意它不应该发生在原始文件夹中。无论如何,很高兴能提供帮助。 foundry376.com/wordpress/?p=79 没有可用的文章你能提供一些指导吗? @kabuko

以上是关于Android 构建 apk 更改原始 png 文件的主要内容,如果未能解决你的问题,请参考以下文章

在构建 gradle 和提交中更改版本代码后,不使用 devops Pipeline 生成 Android APK 版本明智

Android Gradle 构建:重命名 apk

React Expo 更改目标 Android API

Settings.Secure.ANDROID_ID在构建APK和签名APK中为何不同?

如何在 Android 中更改警报对话框的文本行

Android APK反编译问题