我设法将 grooid
集成到我的普通 android 项目中,因此它可以编译,使用所有这些 lint、multidex 魔法(是的,我修复了 65k 限制问题),并在设备上成功运行
然后我创建了一个 src/main/groovy
文件夹,将我的一个 java Activity 移到其中并将它变成一个 groovy 类:
package com.mypackage
@CompileStatic
class SplashActivity extends Activity {
void onCreate( Bundle savedInstanceState ) {
super.onCreate savedInstanceState
contentView = R.layout.splash
}
}
在编译时,我得到如下编译错误:
:app:compileDebugJavaWithJavac
AuthHelper.java:25: error: cannot find symbol
import com.mypackage.SplashActivity;
^
symbol: class SplashActivity
因此,groovy 文件必须在 compile*JavaWithJavac
之前以某种方式编译。
如何做到这一点?
最佳答案
如果将 java 文件放在 groovy 文件夹中,groovy 编译器将有助于联合编译。
您还可以使用 skipJavacflags进行联合编译,参见 https://github.com/groovy/groovy-android-gradle-plugin#only-use-groovyc获取更多信息。
关于android - Propper java-groovy 互操作性 : how?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35086766/