是否可以使用build.xml将未压缩的特定文件添加到Android APK?

是否可以使用build.xml将未压缩的特定文件添加到Android APK?,android,Android,有人知道在ANT构建过程中是否可以使用build.xml将未压缩的特定文件添加到Android APK文件中吗?我的所有文件都位于assets文件夹中,并使用相同的扩展名。我确实意识到,对于我不想添加压缩的文件,我可以使用不同的扩展名,并指定,例如: <nocompress extension="NoCompress" /> 但我现在没有这个选择 我尝试在build.xml中的package resource部分的appt package步骤之后添加我自己的aapt add步骤

有人知道在ANT构建过程中是否可以使用build.xml将未压缩的特定文件添加到Android APK文件中吗?我的所有文件都位于assets文件夹中,并使用相同的扩展名。我确实意识到,对于我不想添加压缩的文件,我可以使用不同的扩展名,并指定,例如:

<nocompress extension="NoCompress" />

但我现在没有这个选择

我尝试在build.xml中的package resource部分的appt package步骤之后添加我自己的aapt add步骤:


它确实将文件添加到APK中,但已被压缩。:)

这是可能的还是唯一的方法是使用不同的扩展

谢谢

看一看

(我在撰写本文时发现的)控制 此行为是通过在命令上使用-0(零)标志来实现的 线路。此标志在未附带任何参数的情况下传递,将显示 aapt禁用所有类型资产的压缩。通常你 将不希望使用此确切选项,因为对于大多数资产, 压缩是一件令人向往的事情。然而,有时候,你会有一个 您不想使用的特定类型的资产(如数据库) 将压缩应用于。在这种情况下,您有两种选择

首先,您可以在上面的列表中为资产文件提供扩展名。 虽然这不一定有意义,但它可能是一个简单的问题 如果您不想在命令行上处理aapt,请选择变通方法。 另一个选项是将特定扩展传递给-0标志,例如 as-0 db,用于禁用具有该扩展的资产的压缩。你 可以多次传递-0标志,每次使用单独的 扩展,如果需要解压缩多个类型

目前,无法在以下情况下将这些额外标志传递给aapt: 在Eclipse中使用ADT,因此如果您不想牺牲 GUI工具的易用性,您必须首先使用 选项,并重命名文件的扩展名


只是为了结束这一次

我认为不可能将单个文件标记为未压缩添加到APK

能够将单个文件标记为未压缩到aapt可能很有用。添加nocompress文件标记也一样,例如:



:)

如果使用gradle构建,那么您似乎可以提供如下aapt标志:

android {
    aaptOptions {
        noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }
}
android{
A选项{
不按“foo”、“bar”
ignoreAssetsPattern“!.svn:!.git:!.ds_存储:!*.scc:!:!CVS:!thumbs.db:!picasa.ini:!*~”
}
}

感谢瓦萨特的回复。您发布的链接讨论了通过文件扩展名控制压缩,这是我能够做到的,但是,正如我在问题中提到的,这种方法目前对我不可用。-0选项对于aapt add命令不可用。再次感谢。为了其他来到这里的Android Gradle开发者的利益:
Android{aaptOptions{noCompress'foo',bar'}
<nocompress file="FileNoCompress.abc" />
android {
    aaptOptions {
        noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }
}