Gradle Метод DSL не найден: 'runProguard'
Я получаю сообщение об ошибке после обновления моего последнего проекта. Не проблема в моем коде, но у меня возникают проблемы с build.gradle. Как я могу это исправить?
build.gradle здесь:
apply plugin: 'android'
android {
compileSdkVersion 21
buildToolsVersion '20.0.0'
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
}
defaultConfig {
applicationId 'com.xxx.axxx'
minSdkVersion 14
targetSdkVersion 19
versionCode 6
versionName '1.0'
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'
compile files('libs/commons-codec-1.8.jar')
compile files('libs/asmack-android-8-4.0.4.jar')
compile 'com.android.support:support-v4:21.0.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.jakewharton:butterknife:5.1.1'
}
Gradle Выход сообщения синхронизации:
Error:(27, 0) Gradle DSL method not found: 'runProguard()'
**Possible causes:
The project 'Atomic4Mobile' may be using a version of Gradle that does not contain the method.
**Gradle settings**
The build file may be missing a Gradle plugin.
**Apply Gradle plugin**
Ответы
Ответ 1
Если вы используете версию 0.14.0 или новее плагина gradle, вы должны заменить "runProguard" на "minifyEnabled" в ваших файлах build.gradle.
runProguard был переименован в minifyEnabled в версии 0.14.0. Для получения дополнительной информации См. Android Build System
Ответ 2
Использование 'minifyEnabled
' вместо 'runProguard
' работает правильно.
Previous code :
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
Current code :
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
Надеюсь, что это поможет.
Ответ 3
Если вы переходите на 1.0.0, вам необходимо изменить следующие свойства.
В файле проекта build.gradle вам нужно заменить minifyEnabled.
Следовательно, ваш новый тип сборки должен быть
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' }
}
Также убедитесь, что gradle версия 1.0.0, например
classpath 'com.android.tools.build:gradle:1.0.0'
в файле build.gradle.
Это должно решить проблему.
Источник:
http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0
Ответ 4
Изменив runProguard на minifyEnabled, часть проблемы будет исправлена.
Но исправление может привести к тому, что "Библиотечные проекты не могут установить идентификатор приложения" (здесь вы можете найти исправление для этого Android Studio 1.0 и ошибки "Библиотечные проекты не могут установить applicationId" ;).
Удалив идентификатор приложения в файле build.gradle, вам должно быть хорошо идти.
Ответ 5
runProguard был переименован в minifyEnabled в версии 0.14.0 (2014/10/31) или более в Gradle.
Чтобы исправить это, вам нужно изменить runProguard на minifyEnabled в файле build.gradle вашего проекта.
![введите описание изображения здесь]()