我们有一个基础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以忽略/删除/摇动/缩小/删除构建中未使用的字体?
最佳答案
在编译期间不可能知道未使用的 Assets ,因为通常使用context.getAssets().open(fileName);
访问 Assets ,其中fileName
可以是任何String
。
我建议您将字体存储在原始目录中,并将其作为资源进行访问。
您可以从this answer获取帮助以从资源中加载字体。
从资源加载字体后,就可以轻松地在gradle中使用shrinkResources true
选项删除未使用的资源。
修改基本UI库可能不是您的选择,我只是提出我的建议,因为它可能会帮助其他人。
关于android - 如何配置gradle从 Assets 目录中删除未使用的字体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51916857/