我有一个包含两个模块的项目。它存在 build.gradle 的默认配置:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
我想为调试编译添加不同的配置(proguard 和 minifying),如下所示:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles 'proguard-rules-debug.pro'
}
}
当我将此代码放入我的项目时,它无法编译。日志显示每次引用另一个模块的消息错误:
Error:(37, 42) error: package com.example does not exist
两个模块的完整 Gradle 配置。
应用模块:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
...
}
}
apply plugin: 'com.android.application'
...
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.3"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
}
repositories {
maven {
...
}
}
repositories{
maven {
url 'http://dl.bintray.com/amulyakhare/maven'
}
}
...
dependencies {
...
}
库模块:
apply plugin: 'com.android.library'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
...
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
...
}
最佳答案
我会尝试以下方法:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-project.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-project.txt'), 'proguard-rules-debug.pro'
}
}
或者,您是否尝试将规则文件放入构建类型文件夹中?您可以将 proguard-rules.pro
文件放入 build-types/release 文件夹,将 proguard-rules-debug.pro
文件放入 build-types/debug 文件夹.
关于android - 添加不同的 proguard 文件进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873804/