android - Propper java-groovy 互操作性 : how?

标签 android android-studio groovy grooid

我设法将 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/

相关文章:

android - React Native - 共享和重用组件

java - Android 应用程序教程 content.xml 和 activity.xml 文件与教程有不同的代码

Android Studio : Failed to load dx. jar

session - 将 session 值从 Controller 传递到src/groovy类

android - 如何在 10 秒后取消警报?

android - 使用 achartengine 的动态图表

android - 无法运行 android/sdk/build-tools/23.0.2/aapt

java - 如何获取单选按钮的 ID 并转换为字符串?

groovy - 使用 gmaven 插件获取 org.codehaus.groovy.control.MultipleCompilationErrorsException

grails - 在grails中安装elasticsearch插件时出现NoNodeAvailableException