从编译中排除 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'
}
}
}
我想使用一些 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'
}
}
}