android 工作室中 gradle 的错误

errors with gradle in android studio

我正在尝试构建项目并 运行 它在我的 google 玻璃杯中,但是当我尝试构建它时它显示

错误:(20, 0) Gradle 未找到 DSL 方法:'runProguard()' 可能的原因:

  • 项目 'gdk-stopwatch-sample' 可能正在使用不包含该方法的 Gradle 版本。 Gradle 设置
  • 构建文件可能缺少 Gradle 插件。 应用 Gradle 插件
  • 但我已经安装了最新的 gradle 插件,即 2.13,将 build.gradle 中的类路径更改为 'com.android.tools.build:gradle:2.1.3',gradle-wrapper 属性更改为 (distributionUrl=https://services.gradle.org/distributions/gradle-2.13-all.zip),删除了用户中的 .gradle 文件,但它一次又一次地出现,而且在我标记为离线工作的设置中,服务目录路径仍然出现

    更新清单

    <?xml version="1.0" encoding="utf-8"?>
    

    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
    
    <application>
        <uses-library android:name="android.test.runner" />
    </application>
    
    <instrumentation android:name="android.test.InstrumentationTestRunner"
                     android:targetPackage="com.google.android.glass.sample.stopwatch"
                     android:handleProfiling="false"
                     android:functionalTest="false"
                     android:label="Tests for com.google.android.glass.sample.stopwatch"/>
    

    使用minifyEnabled()代替runProguard()

    所以代码看起来像

    buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    

    这是因为 Android 2.1.3 的 gradle 插件不存在 .
    不要混淆 gradle 版本与 gradle 插件。

    使用

    buildscript {
    
        repositories {
            jcenter()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:2.1.0'
        }
    }
    

    关于 runProguard 将您的脚本更改为:

    release {
        minifyEnabled true 
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    

    gradle 插件未更新的问题已解决 - 如果您遇到此错误,您应该将插件版本更新到 2.1.2 或 2.3.1(注意它是 2.1.2 而不是2.12).这是解决我的错误的示例项目级别 build.gradle-

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.1'
        }
    }
    allprojects {
        repositories {
            jcenter()
        }
    }