我在我的
Android项目中使用AppCompat支持库. AppCompat有很多可用的和资源,我不在我的应用程序中使用.不必要的文件将我的900K应用程序增加到2M以上,我不喜欢.
创建APK文件时是否有办法排除这些文件?或者我应该在我的代码中混淆库,而不是依赖?
我在Android Studio中使用了Gradle.
创建APK文件时是否有办法排除这些文件?或者我应该在我的代码中混淆库,而不是依赖?
我在Android Studio中使用了Gradle.
谢谢
编辑1我已经使用了proguard.但是proguard不知道我不想要drawable-xxxhdpi或值 – 例如.
编辑2我也使用Android Lint,这不能帮助我,beacuse我不直接访问lib的代码,而android在构建APK文件时添加它们.
解决方法
来自Android Gradle Build System,自版本0.7.0开始:
产品Flavor(和defaultConfig)上的新选项允许通过aapt的-c选项过滤资源
您可以通过DSL传递单个值(resConfig)或多个值(resConfigs).
来自默认配置和风格的所有值将组合并传递给aapt.
见“基本”样本.
在“基本”样本中:
defaultConfig { ... resConfig "en" resConfigs "nodpi","hdpi" }
所以,尝试以下来实现你所要求的:
productFlavors { ... frOnly { resConfig "fr" } ... }
请注意,您可能还需要包括* dpi,端口,土地等.
答案来自:Android Studio exports strings from support library to APK,感谢Primoz990