Android 打包apk后,资产从.tar.gz重命名为.tar

Android 打包apk后,资产从.tar.gz重命名为.tar,android,assets,aapt,Android,Assets,Aapt,我的android应用程序有一个tar.gz资产,但每当我构建apk时,该资产就会被重命名为tar扩展名。我从两个方面证实了这一“问题”: 我编写了列出所有资产的代码,并实现了资产扩展改为tar,而不是我期望的tar.gzcontext.getAssets().list(“my_tar_gz_文件”) 编译完apk后,我将其解包并查看资产/my_tar\u gz_文件文件夹。实际上,我的tar.gz文件现在被命名为tar 我如何构建我的apk,使它能够找到原始的tar.gz,而不是tar 我

我的android应用程序有一个
tar.gz
资产,但每当我构建apk时,该资产就会被重命名为
tar
扩展名。我从两个方面证实了这一“问题”:

  • 我编写了列出所有资产的代码,并实现了资产扩展改为
    tar
    ,而不是我期望的
    tar.gz
    <代码>context.getAssets().list(“my_tar_gz_文件”)

  • 编译完apk后,我将其解包并查看资产/my_tar\u gz_文件文件夹。实际上,我的
    tar.gz
    文件现在被命名为
    tar

我如何构建我的apk,使它能够找到原始的
tar.gz
,而不是
tar

我可以通过它来查找
tar
文件,而不是
tar.gz
,但对于可维护性来说,这确实很糟糕


同时使用Eclipse/ADT或ant的构建呈现相同的行为。请不要让我再次检查我要打包到apk中的文件名。

您需要维护gzip的原因是什么?我想,当apk与zip对齐时,可能会删除资产的zip压缩,或者可能只是截断命名并使资产无法读取,就会出现不兼容性。不管是哪种方式,如果您允许使用稍大一点的文件,我都会将资产作为tar存档,而不会同时gzip该文件。@ChrisM我的应用程序正在从第三方合作伙伴接收这些gzip文件。此外,这些文件还将被用作已投入生产的更大系统的输入,它需要一个tar.gz作为输入。现在,只需更改为
tar
也不是一个选项。我解决这个问题的方法可能是将gzip放入res/raw。