从编译中排除 xml 个文件 android [资源缩减]

Exclude xml files from compilation android [resource shrinking]

我想使用一些 xml 文件作为模型来预览布局的不同状态,但我不想将其包含在 apk 中,因为这些 xml 文件只是专用的预览目的。我想告诉 gradle 要忽略哪个 files/directories 资源。

通过使用产品风格来轻松减小低内存设备的 apk 大小也很有用,方法与 this excellent article 解释的类似。

也许 proguard 能帮上忙?

如果您使用的是 android 工作室,您可以根据需要的构建风格添加资源 例如,您可以为调试构建添加字符串资源,为主要发布构建添加不同的字符串资源。您只需右键单击添加 xml 资源选择资源类型并指定源集。

如果您添加的布局仅用于调试风格,而不是在主版本中,那么每次您签署 apk 时,这些布局将不会包含在 apk 中。希望对您有所帮助:)

我们称之为"Resource shrinking"。 All info about it is here.

看看shrinkResources true。构建系统将尝试使用此标志查找未使用的资源文件,并将它们从构建中删除。您可以将它添加到您的调试 buildType,以及任何构建风格。

android {
    ...

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}