Proguard - 也使用模块中的proguard文件 [英] Proguard - also use proguard files from modules
问题描述
android {
compileSdkVersion 22
buildToolsVersion 22.0.1
defaultConfig {
applicationId...
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName1.0
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
依赖关系{
编译项目(':androKnife')
}
我的 androKnife
模块确实有它自己的proguard文件。如何让我的主项目也使用这个文件?
如果我编译一个项目,有什么方法可以自动合并所有模块的所有proguard文件?是否有另一种方式模块可以指定它的proguard规则和项目可以继承它?
解决方案是添加以下行到库 build.gradle
: consumerProguardFiles'proguard-rules.pro'
所以我的androKnife库如下所示:
apply plugin:'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion22.0.1
defaultConfig {
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName1.0
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'' proguard-rules.pro'
consumerProguardFiles'proguard-rules.pro'
}
}
}
依赖项{
...
}
My projects build.gradle looks like following:
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "..."
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile project(':androKnife')
}
And my androKnife
module does have it's own proguard file. How can I make my main project use this file as well?
Is there some way to auto merge all proguard files of all modules, if I compile a project? Is there another way a module can specify it's proguard rules and a project can inherit it?
The solution is to add following line to the libraries build.gradle
: consumerProguardFiles 'proguard-rules.pro'
So my androKnife library looks like following:
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
consumerProguardFiles 'proguard-rules.pro'
}
}
}
dependencies {
...
}
这篇关于Proguard - 也使用模块中的proguard文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!