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 Sync 메시지 출력:
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**
gradle 플러그인 버전 0.14.0 이상을 사용하는 경우 build.gradle 파일에서 "runProguard"를 "minifyEnabled"로 바꿔야 합니다.
runProguard의 이름이 버전 0.14.0에서 minifyEnabled로 변경되었습니다.자세한 내용은 Android 빌드 시스템 참조
사용.'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'
}
}
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
runProguard를 minimizeEnabled로 변경하면 문제의 일부가 해결됩니다.
그러나 이 수정으로 인해 "라이브러리 프로젝트가 애플리케이션 ID를 설정할 수 없습니다"가 발생할 수 있습니다(안드로이드 스튜디오 1.0 및 "라이브러리 프로젝트가 애플리케이션 ID를 설정할 수 없습니다" 오류가 발생할 수 있습니다).
build.gradle 파일에서 애플리케이션 ID를 제거하면 이동할 수 있습니다.
runProguard의 이름이 Gradle 버전 0.14.0(2014/10/31) 이상에서 활성화를 최소화하도록 변경되었습니다.
이 문제를 해결하려면 프로젝트의 build.gradle 파일에서 runProguard를 minimizeEnabled로 변경해야 합니다.
이것은 Kotlin DSL(build.gradle.kts)용입니다.
buildTypes {
getByName("release") { // or simply release { in newer versions of Android Gradle Plugin (AGP)
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
// "proguard-android-optimize.txt" reduces size more than "proguard-android.txt"
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
signingConfig = signingConfigs.getByName("mySigningConfig")
}
}
최상위 빌드 파일에서 Android Gradle Plugin(AGP) 버전 7을 사용하고 있습니다.
buildscript {
// ...
dependencies {
classpath("com.android.tools.build:gradle:7.0.4")
// ...
}
}
언급URL : https://stackoverflow.com/questions/27078075/gradle-dsl-method-not-found-runproguard
'programing' 카테고리의 다른 글
터미널에서 루비 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.06.01 |
---|---|
단일 RSpec 테스트를 실행하는 방법은 무엇입니까? (0) | 2023.06.01 |
루비로 해시 배열을 정렬하는 방법 (0) | 2023.06.01 |
SDK 위치를 찾을 수 없습니다.local.properties 파일의 sdk.dir 또는 Android_HOME 환경 변수를 사용하여 위치를 정의합니다. (0) | 2023.06.01 |
iOS UITableView 머리글 보기 추가(섹션 머리글이 아님) (0) | 2023.06.01 |