使用Gradle构建Android应用程序时出现问题

时间:2019-03-30 17:21:32

标签: java android gradle

我试图了解如何在不使用和不使用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.

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

1 个答案:

答案 0 :(得分:0)

尝试./gradlew AssembleDebug。 Gradle包装器(gradlew)本身应该能够拾取属性并将其传递到gradle工具上运行。

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

请参阅Google官方指南Build your app from the command line

  

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

     

要使用包装器运行任务,请使用以下命令之一   终端窗口(在Android Studio中,选择视图>工具窗口>   终端):

     

在Windows上:gradlew task-name

     

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

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

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

希望这对您有所帮助。