如何在 Gradle 中使用自定义 Java 注释处理器?

2024-01-10

我一直在研究一个简单的java注释处理器,它扩展了AbstractProcessor.

我已经能够成功地测试这个使用javac -Processor MyProcessor mySource.java

问题是使用 Android Studio 将其集成到一个简单的 Hello World Android 应用程序中。

我首先创建一个新的 Android 项目,然后添加一个单独的模块,在其中放置所有注释处理器代码(MyProcessor 类及其使用的自定义注释)。

然后我添加了这个新模块作为 HelloWorld android 项目的依赖项。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':MyProcessorModule')
}

然后,如何使用处理器根据 HelloWorld 应用程序中的所有源文件生成代码?


有一个插件可以让它工作。它与 Maven 上的模块完美配合,不确定本地 .jar 文件,但你一定要尝试一下:

这里是插件页面:https://bitbucket.org/hvisser/android-apt https://bitbucket.org/hvisser/android-apt

这是我的 build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        ... add this classpath to your buildscript dependencies
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt' << apply the plugin after the android plugin

dependencies {
    // in dependencies you call it
    apt 'com.company.myAnnotation:plugin:1.0-SNAPSHOT'
    compile 'com.company.myAnnotation:api:1.0-SNAPSHOT'

它应该有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Gradle 中使用自定义 Java 注释处理器? 的相关文章

随机推荐