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

时间:2015-08-11 09:44:11

标签: android gradle android-gradle proguard android-proguard

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

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

也许proguard有帮助?

2 个答案:

答案 0 :(得分:1)

如果你正在使用android studio,你可以通过构建版本添加资源你想要的例子,你可以只为调试版本添加字符串资源,为主版本构建添加不同的字符串资源。您只需右键单击添加xml资源,选择资源类型并指定源集。

enter image description here

如果你只为主调版本添加一个布局,而不是在主版本中添加,那么每次签署apk时,这些布局都不会包含在apk中。希望它有所帮助:)

答案 1 :(得分:1)

我们称之为"资源缩减"。 All info about it is here.

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

android {
    ...

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