【问题标题】:android method not found in gradle在gradle中找不到android方法
【发布时间】:2017-01-16 12:39:20
【问题描述】:

我有一个名为 global flow 的 android 项目,在 debian linux 上使用 android studio 2.2.3 打开后,我看到了这个错误:

错误:(22, 0) 无法在 org.gradle.api.Project 类型的根项目“GlobalFlow”上找到参数 [build_5ijv6qsqmd3lnd1fe6nzaworu$_run_closure3@1c8251f] 的方法 android()。 打开文件

当我在这个论坛could not find method android 尝试解决方案时,我不知道在哪里可以找到所有的 android 模块。

我更新了 home/alex/GlobalFlow 中的 build.gradle 文件,但我不确定这是 home/alex/GlobalFlow/app 中的一个还是另一个。但我知道根项目的构建 gradle 位于第一个名为的路径中。

我的 build.gradel 是:

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

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
 }
}

allprojects {
  repositories {
    jcenter()
 }
}
task clean(type: Delete) {
delete rootProject.buildDir
}

android {
  compileSdkVersion 23
  buildToolsVersion '23.0.1'
}

dependencies {
compile files('app/libs/junit-4-12-JavaDoc.jar')
}

apply plugin: 'maven'

所有的 android 模块在哪里?

谢谢。

【问题讨论】:

  • 你需要apply plugin: 'com.android.application'home/alex/GlobalFlow/app/build.gradle的顶部。
  • 感谢您的回答。我输入了你告诉我的内容,但由于项目没有完全构建,android 清单不存在,现在错误是:无法从 /home/alex/GlobalFlow/src/main/AndroidManifest.xml 读取 packageName。我该如何解决这个错误?谢谢
  • 你为什么不使用向导开始一个新项目,研究输出结构并相应地修改你的?
  • 感谢您的回答。我修复了重新安装 Android Studio 的问题,并按照stackoverflow.com/questions/38663495/… 中的步骤操作
  • 但您并没有更深入地理解这个问题。祝你在未来应用同样的原则好运。

标签: android android-studio android-gradle-plugin


【解决方案1】:

这是项目/build.gradle:

buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
  }
}

allprojects {
  repositories {
    jcenter()
  }
}

它包含构建脚本说明。并且可以选择将闭包应用于所有模块。

下面这行允许你apply com.android.application插件:

classpath 'com.android.tools.build:gradle:2.2.3'

还请仔细阅读NOTE


这是项目/模块/build.gradle:

apply plugin: 'com.android.application'

android {
  compileSdkVersion 23
  buildToolsVersion '23.0.1'
}

dependencies {
  // We're in GlobalFlow/app now, adjust the relative path!
  compile files('libs/junit-4-12-JavaDoc.jar')
}

apply plugin: 'maven'

当您 apply plugin: 'com.android.application' 时,您可以使用 android { ... } 闭包来设置 Android 应用构建过程。请注意,它们都在 module build.gradle 中。

如果您正在构建一个 Adnroid 库,您将使用 apply plugin: 'com.android.library',它还为您提供 android { ... } 闭包。


这是自 2017 年 1 月起推荐的默认结构。

【讨论】:

    【解决方案2】:

    不能顶级文件中使用android块。

    你必须将它添加到 home/alex/GlobalFlow/app/build.gradle

    apply plugin: 'com.android.application'
    
    
    android {
        compileSdkVersion 23
        buildToolsVersion '23.0.1'
    }
    
    dependencies {
        //.....
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      相关资源
      最近更新 更多