我正在尝试将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下。
Groovy的:
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> {}
爪哇:
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代码。
我看到两种可能的解决方案:
有没有办法在同一模块中的java代码之前编译groovy代码?
答案 0 :(得分:0)
选项二或设置插件以查看java源文件夹是最好的选择。如果你需要进行联合编译,你需要使用groovy编译器来查看java和groovy文件。