• Gradle method not found: 'runProguard()'报错解决

    minifyEnabled代替
    服务器君一共花费 127.331 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    将Android Studio升级至1.0之后,运行旧项目时可能会出现以下问题:

    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'
    
    	// 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.13.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'
    	}
    	debug {
    		applicationIdSuffix '.debug'
    	}
    }
    

    问题就可以解决。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [软件工程与项目管理] 浏览器的CSS解析 7 个条目
  2. [计算机算法] 从双端队列引出的卡特兰数 3 个条目
  3. [PHP程序设计] 对输入文件类型的检测 1 个条目
  4. [数据结构] 散列表(哈希表) 13 个条目
  5. [PHP程序设计] PHP里的引用 5 个条目
  6. [移动开发] 从代码角度去认识 Thread 9 个条目
  7. [软件工程与项目管理] 了解一点WebKit 9 个条目
  8. [JavaScript程序设计] jQuery与表单操作 2 个条目
  9. [C语言程序设计] C语言里的全局变量 2 个条目
  10. [Python程序设计] 从PHP到Python 3 个条目
  11. [移动开发] Android抽屉导航NavigationDrawer 5 个条目
  12. [Linux操作系统] 基本 Linux Shell 命令 2 个条目
窗口 -- [八点]