您的位置:首页 > 移动开发 > Android开发

Android studio 升级1.0后导入之前的Android studio项目,编译不成功,提示Gradle DSL method not found: 'runProguard()'

2014-12-19 17:00 525 查看
经过1年多,Google终于推出了Android Studio 1.0版本,我之前用的是0.8版本,由于公司还是用eclipse开发,玩了一段时间后发现Google推出了正式版,本人对新版本的东西都比较好奇,所以就下载下来安装起来了。官网下载地址为点击打开链接

安装完后,如果之前使用过eclipse的朋友可以直接用下载好的sdk,更改sdk路径方法如下。依次点击configure——>Project Defaults——>Project Structure,然后就可以指定项目默认sdk位置和jdk位置。

部署完环境后,由于我安装的时候是导入之前Android studio的配置,所以0.8版本的程序也会在欢迎界面打开,点击其中一个项目,发现进去就编译错误,错误提示如下:

从字面就能看出来,出现这个问题的原因是找不到runProguard()这个方法了(调用这个方法的地方在每个Module对应的build.gradle文件中)。这是因为,当Android
Studio升级时,也自动的将项目下的build.gradle文件(我这里的路径就是H:\MEISHU\Workspaces\AndroidStudioProjects\JohnButler下的build.gradle文件,不是app下的build.gradle文件)下的内容修改成了:

dependencies {

classpath 'com.android.tools.build:gradle:1.0.0'

// 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文件(这里就是app下的,与上面改的文件不是同一个)中的runProguard方法名改为
minifyEnabled ,然后rebuild
project下即可使用成功,


而且像导入的import android.support.v7.app.ActionBar;报错问题也会一并解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐