gpt4 book ai didi

java - 如何首先使用 Groovy Android Gradle 插件编译 groovy 代码

转载 作者:太空狗 更新时间:2023-10-29 14:59:10 33 4
gpt4 key购买 nike

我正在尝试使用 https://github.com/groovy/groovy-android-gradle-plugin使用 Android Studio 1.1.0:

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

./gradlew -v

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time: 2014-11-24 09:45:35 UTC
Build number: none
Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy: 2.3.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.7.0_65 (Oracle Corporation 24.65-b04)
OS: Linux 3.13.0-24-generic amd64

apply plugin: 'groovyx.grooid.groovy-android'
...
dependencies {
compile 'org.codehaus.groovy:groovy:2.4.0:grooid'
compile 'com.android.support:multidex:1.0.0'
}

我有一些从 Android SDK 类扩展的 Groovy 类和从 Groovy 类扩展的应用程序 Java 类。 Groovy 类在 src/main/groovy 下,Java 类在 src/main/java 下。

常规:

package com.yavezu.client.android.fragment.models.object;
import android.support.v4.app.Fragment;

public abstract class ObjectFragment2<E extends Base> extends Fragment {}
public abstract class ExistingObjectFragment2 <E extends Base> extends ObjectFragment2<E> {}

Java:

package com.yavezu.client.android.fragment.models.object;
public abstract class ObjectViewFragment<E extends Base> extends ExistingObjectFragment2<E> {}

当我构建我的项目时,出现以下错误:

Error:(13, 66) error: cannot find symbol class ExistingObjectFragment2

好像gradle先编译java代码,再编译groovy代码。但是这里我需要先编译groovy代码,再编译java代码,因为java代码依赖于groovy代码。

我看到了两种可能的解决方案:

  1. 将 groovy 代码放在一个单独的模块中并明确依赖它,但它看起来像是解决方法,因为我真的不需要额外的模块
  2. 将 java 代码放在 src/main/groovy 下。这可能会使 java 代码用 groovyc 编译(如果我错了请纠正我),但我更喜欢用 javac 编译纯 java 代码(出于兼容性和性能原因)

有没有办法让同一个模块中的 groovy 代码先于 java 代码编译?

最佳答案

选项二或设置插件以查看 java 源文件夹是最好的选择。如果您需要进行联合编译(看起来就像您所做的那样),则需要 groovy 编译器来查看 java 和 groovy 文件。

关于java - 如何首先使用 Groovy Android Gradle 插件编译 groovy 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28661643/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com