Android 注释 + APT 的多条路径

Android Annotations + multiple paths to APT

想象一些像 this one 这样使用 android-注释的项目,对于这项工作,我必须把它放在 build.gradle

apt {
    arguments {
        resourcePackageName "com.pandaos.smartconfig"
        androidManifestFile variant.outputs[0].processResources.manifestFile
    }
}

其中:资源包名称"com.pandaos.smartconfig"

它是代码注释的路径...插件的配置 android-apt

apply plugin: 'com.neenbedankt.android-apt'

我想,那个插件 "invoke" 有一些任务来生成 android-注释在幕后创建的代码,但是...

是否可以定义多个"packages in the app"?

resourcePackageName 来自 AndroidAnnotations as mentioned here 的配置选项:

By default, AndroidAnnotations try to find the R class by extracting application package from AndroidManifest.xml file. But in some cases you may want to specify a custom package to look for the R class. This is why we added resourcePackageName option.

有两点需要注意:

  1. 选项指的是Android包名,不一定要和你的java包名一样.

  2. 如果您在 R 中使用 applicationId 选项,则 R 包名称可以与您在 AndroidManifest.xml 中设置的 Android 包名称不同Gradle 构建文件。

在您的代码中使用不同的 java 包名称完全没问题。据我所知,这不会以任何方式影响 Android 注释。

apt 块由 android-apt 插件提供,允许您为项目中的注释处理器配置 any 参数。在这种情况下,它配置 AndroidAnnotations 完成其工作所需的参数。在这种情况下,android-apt 插件有两个用途:它为 AndroidAnnotations 处理器配置参数,并且它将确保您可以引用 AA 在 Android Studio 中生成的源.