我们有一个基本的UI库,其中包含几种字体作为公司范围的设计指南,并且我们仅使用这些字体。
我还已经将build.gradle
配置为我在互联网上知道并搜索过的最大的缩小尺寸配置:
defaultConfig {
resConfigs "en"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
但是当我通过Android Studio分析发布的apk
时,发现未使用的字体仍然存在并且未被删除。
当然,我可以手动将其删除并进行构建,然后将其返回给基础库。但这效率不高,无法进行大规模或团队合作。
有没有一种方法可以配置gradle以删除/删除/摇动/缩小/删除构建中未使用的字体?
答案 0 :(得分:1)
不可能在编译期间知道未使用的资产,因为通常使用context.getAssets().open(fileName);
访问资产,其中fileName
可以是任何String
。
我建议您将字体存储在原始目录中,并将其作为资源进行访问。
您可以从this answer获取帮助,以从资源中加载字体。
一旦从资源中加载字体,则可以轻松地在gradle中使用选项shrinkResources true
来删除未使用的资源。
修改基本UI库可能不是您的选择,我只是提出建议,因为它可能会帮助其他人。