Ant Build AAPT Crunch正在从Library资源图像中删除draw9信息

 拍友2502908871 发布于 2023-02-12 14:31

我有一个使用库项目的项目.图书馆计划有draw9(9.png)文件,当通过Ant构建apk时,它正在剥离可缩放和可填充区域的draw9信息.结果是应用程序只是在不使用draw9信息的情况下拉伸图像.在Android的build.xml中

 

这是调用crunch,它更新预处理的PNG缓存(任何人都知道这个缓存的位置?).

-crunch在aapt中运行一个叫做crunch的任务.但我无法找到有关这些论点的任何信息.它似乎从Res文件夹中取出文件并将其放在out res文件夹中(默认为bin/res).

所以我甚至清除了任务,因此它不会运行紧缩,仍然没有正确拉伸图像.然后我用png文件直接复制到out res文件夹替换它,仍然是同样的问题.我甚至在这些任务之间尝试了干净,我遇到了同样的问题.这让我相信缓存是在项目区域之外进行的,但在哪里?

注意当我用Eclipse构建它时一切都很好.

另一个适合我的解决方案是将这些图像从库中复制到主项目中,但它不是理想的解决方案.

其他人似乎遇到了这种紧缩/资源打包的问题,其中aapt in ant build使用来自其他项目的缓存

在这个错误报告中,他们只提到了缓存,只使用时间戳来检查是否更新缓存.

这似乎是aapt的源代码,但我无法通过阅读来查找此缓存的位置.

找出问题所在

对我来说导致问题的原因是我在Ant中使用不同的文件夹(故意)为我的res,src和bin.有一个引用project.library.res.folder.path,它填充了依赖宏.它指向项目的默认res和bin文件夹.所以我做的是将它们更改为指向我的新文件夹.但在这样做的过程中,我改变了他们被列出的旧版本.它开始将资源文件混合到我正在运行aapt时使用的不同库项目中.当我修改订单时,它编译得很好.我也是为project.library.bin.r.file.path做的.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有