Key*_*ari 19 android android-appcompat apk android-support-library android-gradle-plugin
我正在AppCompatAndroid项目中使用支持库.AppCompat有大量的drawables和资源,我不在我的应用程序中使用.那些不必要的文件将我的900K应用程序增加到2M以上,这是我不喜欢的.
有没有办法在创建APK文件时排除这些文件?或者我应该在我的代码中混淆库而不是依赖?我在Android Studio中使用Gradle.
谢谢
编辑1我已经使用了proguard.但是proguard不知道我不想拥有drawable-xxxhdpi或者values-it例如.
编辑2我也使用Android Lint,它无法帮助我,因为我不直接访问lib的代码,并且android在构建APK文件时添加它们.
从版本24.2.0开始,v4支持库已拆分为几个较小的模块.
因此,除了使用shrinkResources和proguardFiles,也确保您只使用特定的模块,你的应用需求.例如
如果您的应用程序仅使用Compat utils,如NotificationCompat,ContextCompat或ResourcesCompat等,请仅使用compat模块:
compile 'com.android.support:support-compat:24.2.0'
Run Code Online (Sandbox Code Playgroud)
从Android Gradle Build System开始,自0.7.0版本开始:
产品Flavor(和defaultConfig)的新选项允许通过-c选项过滤资源aapt
您可以通过DSL 传递单个值(resConfig)或多个值(resConfigs).默认配置和flavor中的所有值都被合并并传递给aapt.请参阅"基本"示例.在"基本"样本中:
defaultConfig {
...
resConfig "en"
resConfigs "nodpi", "hdpi"
}
Run Code Online (Sandbox Code Playgroud)
因此,请尝试以下方法来实现您的要求:
productFlavors {
...
frOnly {
resConfig "fr"
}
...
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可能还需要包括*dpi,port,land,等为好.
答案来自:Android Studio将字符串从支持库导出到APK,这要归功于Primoz990
| 归档时间: |
|
| 查看次数: |
6617 次 |
| 最近记录: |