【问题标题】:errors with gradle in android studioandroid studio中的gradle错误
【发布时间】:2016-05-17 13:38:07
【问题描述】:

我正在尝试构建该项目并在我的谷歌眼镜中运行它,但是当我尝试构建它时显示它

错误:(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"/>
    

    【问题讨论】:

    • 发布你的 gradle 文件
    • 我已经上传了 build.gradle 图片
    • 你能发布整个代码(gradle)

    标签: android-studio android-gradle-plugin build.gradle google-glass android-studio-2.1


    【解决方案1】:

    这是因为 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'
    }
    

    【讨论】:

      【解决方案2】:

      使用minifyEnabled() 代替runProguard()

      所以代码看起来像

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

      【讨论】:

      • 在 gradle wrapper 属性中我应该使用 2.10 还是 2.13,因为现在构建成功,但是在尝试在 glass 中运行时,它说找不到默认活动
      • 尝试 2.1.0,因为 @Gabriele 说 2.1.3 不存在
      • 构建成功,但在运行该示例时显示 - 无法识别启动活动:未找到默认活动 启动活动时出错。因此,我尝试通过使用相同的设置并将 runproguard 更改为 minifyEnabled 来运行另一个示例,但它显示“错误:已应用 'java' 插件,但它与 Android 插件不兼容。”
      • @komy029 文件 -> 使缓存无效/重新启动。然后也同步它
      • 是的,但第一个示例显示的结果仍然相同:无法识别启动活动;第二个=Error:The 'java' plugin has been applied, but it is not compatible with the Android plugins.
      【解决方案3】:

      解决了 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()
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多