最近导入as的项目出了这样的问题
这个问题困扰了我很长时间,好吧,搜了半天全都是runProguard的,最后在stackoverflow上搜到解决办法了:
http://stackoverflow.com/questions/27735646/android-studio-gradle-dsl-method-not-found-android-error17-0
解决方法:
删掉最外层的build.gradle中的
android {
compileSdkVersion 19
buildToolsVersion '21.1.1'
}
然后重新刷新就ok了
Android:解决Gradle DSL method not found: 'runProguard()' 问题
将Android Studio升级至最新版(1.0 RC 4)之后,运行项目时出现问题:
Gradle DSL method not found: 'runProguard()'
从字面就能看出来,出现这个问题的原因是找不到runProguard()这个方法了(调用这个方法的地方在每个Module对应的build.gradle文件中)。
这是因为,当Android Studio升级时,也自动的将项目下的build.gradle文件(不是Module对应的build.gradle!)下的内容修改成了:
- dependencies {
- classpath 'com.android.tools.build:gradle:1.0.0-rc4'
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:0.12.2'
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
显然,最简单的解决方法是将gradle的版本改回去,此方法可能的确有效。
但是,这种做法显然不是最好的方法。查阅官方文档之后(http://tools.android.com/tech-docs/new-build-system)之后发现,在新版本的gradle中,runProguard这个方法已经废弃了,并且改为新的方法了:minifyEnabled
. 因此,正确的解决方法不是修改gradle的版本号,而是将项目中每个Module对应的build.gradle文件中的runProguard方法名改为minifyEnabled,即:
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
问题完美解决。