zoukankan      html  css  js  c++  java
  • Android Studio:Gradle DSL method not found: 'runProguard()'

    Android Studio发布了新的1.0版,更新之后却发现原来在0.8下面正常的项目编译失败了,从报错上来看是卡在gradle上面。

    Gradle DSL method not found: 'runProguard()'

    找不到 runProguard() 这个方法

    最终的原因很让人无语,原来gradle的工程师跟谷歌负责安卓这一块的是一个尿性!!根本就不管上下版本的开发兼容性!!

    Android Studio 1.0 默认采用了新版本的gradle,升级时,也会自动的将项目下的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
    
    }


    而升级之前用的gradle版本应该是0.12.2,所以之前应该是这样的:

    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在的话,把版本号改回去就能跟原来一样正常编译了,但是这种做法显然不是最好的方法。

    这个问题的最终解是,在新版本的gradle中,runProguard() 这个方法已经废弃并且改为了新的方法: minifyEnabled()。因此,正确的解决方法不是修改gradle的版本号,而是将项目中每个Module对应的build.gradle文件中的runProguard方法名改为 minifyEnabled(),即:  

        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
  • 相关阅读:
    BEC listen and translation exercise 44
    中译英12
    BEC listen and translation exercise 43
    中译英11
    BEC listen and translation exercise 42
    中译英10
    BEC listen and translation exercise 41
    中译英9
    BEC listen and translation exercise 40
    中译英8
  • 原文地址:https://www.cnblogs.com/jcf94/p/gradle.html
Copyright © 2011-2022 走看看