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

经过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;报错问题也会一并解决。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值