如何从头开始设置允许我使用groovy的Android Studio项目

如何从头开始设置允许我使用groovy的Android Studio项目,android,groovy,android-studio,Android,Groovy,Android Studio,Groovy的2.4版本附带了对android应用程序开发的官方支持 以前使用eclipse进行Android开发,在Android Studio和Gradle方面都没有任何经验,现有的关于使用Android Studio(例如,or)设置groovy Android项目的说明太模糊,对我来说不适用,而且它们使用的版本号的差异令人困惑 我希望看到适用于Linux的Android Studio 1.2.1.1的详细分步说明,并解释如何确定版本号。编辑:2019年,在问题和答案提出近4年后,下面描述

Groovy的2.4版本附带了对android应用程序开发的官方支持

以前使用eclipse进行Android开发,在Android Studio和Gradle方面都没有任何经验,现有的关于使用Android Studio(例如,or)设置groovy Android项目的说明太模糊,对我来说不适用,而且它们使用的版本号的差异令人困惑


我希望看到适用于Linux的Android Studio 1.2.1.1的详细分步说明,并解释如何确定版本号。

编辑:2019年,在问题和答案提出近4年后,下面描述的方法不再适用于当前的Android Studio版本(3.3.2)。我找不到仍然有效的依赖项版本,Gradle抱怨无法下载某些依赖项

事实上,4年后Groovy维护人员仍然没有可复制的安装指南,这只是Groovy for Android没有未来的一个指标。很久以前,我们就应该看到关于Groovy的动态功能如何简化Android开发的模式讨论,但这并没有发生。接下来我将尝试Kotlin,它乍一看似乎与Groovy非常相似,除了必需的类型注释之外,但最重要的是:使用它不必与Android Studio进行如此激烈的斗争

最初的答案如下,它是针对一个非常特定的androidstudio版本,通过猜测如何在未来的androidstudio版本中调整依赖项的版本来扩展。根据评论,这一直有效到Android Studio 3.0.1


在我自己学习了如何做之后,这是我开始时希望阅读的一步一步的描述。我使用了许多来源的信息。这些源代码都不适合我,它们在版本号和在构建脚本中插入内容的位置上也不同。这些说明是尝试各种组合和填充一些空格的结果

从欢迎屏幕中,选择“启动新的Android Studio项目”

填写应用程序名称和“公司域”

本页无需更改

此示例使用空白活动。

本例使用名称GroovyActivity作为android主屏幕。现在创建新项目。android studio完成项目创建后,将显示以下两个打开的文件:

暂时忽略“渲染问题”。它将在稍后的编译过程中自行解决。通过单击两个打开的文件选项卡的十字来关闭它们

打开此build.gradle(模块:app)文件:

在第一行之前插入以下代码:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
            classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6'
        }
    }

让我们停下来思考一下版本号。台词

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

包含版本号。您如何知道在此处插入哪个版本号?在阅读这些说明时,可能已经有了新的版本,除非您有特定的版本要求,否则您将希望使用gradle脚本中使用的最新版本

您如何了解最新的可用版本?这取决于:

请注意,编辑器用黄色背景色突出显示了com.android.tools.build:gradle:1.1.0。将鼠标指针悬停在此文本上时,将显示工具提示:

因此,android studio似乎知道最新版本,并建议您使用它。请注意建议,并将此版本号更新为您的android studio版本所指示的版本号

然而,对于GradleGroovyAndroid插件,并没有出现这样的工具提示

这里到底发生了什么?按照我的理解,这些名称和版本号标识了用于应用程序或构建应用程序的二进制组件的名称,但它们既不是android studio的一部分,也不希望您自己查找、安装或编译它们。相反,这个构建脚本指定了一个存储库位置,这些二进制组件有望从该位置下载。函数jcenter()似乎返回存储库的位置。目前,该存储库是bintray.com

要了解此gradle groovy android插件的最新版本,请使用webbrowser访问bintray.com并使用其搜索功能。搜索groovy android插件。在我写这篇文章时,结果的开头是这样的:

仅列出的结果数量就有点令人沮丧。我希望他们在那里有一些相关性。搜索第一页,我只看到2个相关匹配项,最新版本号是0.3.6

了解了最新版本号(在撰写本文时),gradle脚本的正确开头是以下代码:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.2.3'
            classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6'
        }
    }
回到修改gradle脚本,在“apply plugin:'com.android.application'”行之后插入以下代码:

最后,在gradle脚本的末尾插入一行

    compile 'org.codehaus.groovy:groovy:2.4.1:grooid'
所以它看起来像这样:

同样,这里有一个版本号,您可以通过搜索*grooid.jar(是的,第一个字符是星号)在bintray上找到最新版本。结果列表跨越两页,在第二页我发现2.4.3是最新版本:

更改gradle文件后,gradle需要“同步”。如果您完全退出android studio并重新启动它,gradle将同步,所以这就是我现在所做的。此图显示重新启动后的同步:

后来我在工具栏上发现了这个图标

触发同步

同步完成后,使用下拉菜单将左侧窗格从“Android”视图更改为“Project”视图:

现在构建并执行您的
    apply plugin: 'groovyx.grooid.groovy-android'
    compile 'org.codehaus.groovy:groovy:2.4.1:grooid'