【问题标题】:Problems when building an android app with gradle使用 gradle 构建 android 应用时的问题
【发布时间】:2019-03-30 17:21:32
【问题描述】:

我正在尝试了解如何在不使用 IDE 的情况下构建 Android 应用程序,因此基本上是从头开始。我发现构建 Android 应用的一个好方法是使用 Gradle。

所以从命令行,在我的项目的根目录中,我键入“gradle wrapper”,以便它创建所有必要的文件以使用 gradle,然后我键入“gradle init”并创建 build.gradle 文本文件,其中我必须放置所有设置来构建项目(我想)。这是我在互联网上搜索的内容。

// 1
buildscript {
    // 2
    repositories {
        google()
        jcenter()
    }
    // 3
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51'
    }
}

// 4
allprojects {
    repositories {
        google()
        jcenter()
    }
}

所以我在命令行上写“./gradle AssembleDebug”来执行构建,但它给了我这些错误。

FAILURE: Build failed with an exception.

* Where:
Build file '/home/michelangelo/Documents/HelloAndroid/build.gradle' line: 5

* What went wrong:
A problem occurred evaluating root project 'HelloAndroid'.
> Could not find method google() for arguments [] on repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

我以前从来没有做过这样的事情,所以我不知道该怎么办。

【问题讨论】:

  • 尝试将 classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51' 从项目 build.gradle 移动到(希望)app build.gradle
  • 您使用的是哪个 Android SDK 版本? developer.android.com/studio/releases/… 尝试使用 Gradle 版本 3.3.2。
  • MDNaseemAshraf 我试过了,但问题还是一样。 Onik 我真的不明白我必须把那行代码放在哪里。您认为我还必须修改 settings.gradle 文件吗?我应该放什么?

标签: java android gradle


【解决方案1】:

试试./gradlew AssembleDebug。 Gradle 包装器 (gradlew) 本身应该获取您的属性并将其传递给 gradle 工具以运行。

你应该使用 gradlew 工具而不是直接使用 gradle。

参见Build your app from the command line,谷歌官方指南,声明;

您可以执行 Android 项目可用的所有构建任务 使用 Gradle 包装器命令行工具。它可以批量提供 适用于 Windows 的文件 (gradlew.bat) 和适用于 Linux 和 Mac 的 shell 脚本 (gradlew.sh),它可以从每个项目的根目录访问 使用 Android Studio 创建。

要使用包装器运行任务,请使用以下命令之一 终端窗口(从 Android Studio 中,选择 View > Tool Windows > 终端):

在 Windows 上:gradlew task-name

在 Mac 或 Linux 上:./gradlew task-name

您可以在 Gradle 的 official documentation 中阅读有关 Gradle Wrapper 的信息。另请阅读此博客文章; Understanding the Gradle Wrapper.

您还可以通过this yml 文件中的命令行说明在 CircleCI 系统上查看我如何仅从项目源文件、一些 gradle 属性和依赖文件构建 Android 应用程序。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多