解决在Android Studio中Lombok不起作用的问题

21 篇文章 3 订阅
21 篇文章 0 订阅

笔者报错时的运行环境:

  • Android Studio Flamingo | 2022.2.1 RC 1

  • Gradle 8.0.1

  • Lombok 1.18.26

  • JDK 17

  • Lombok 插件 0.34-2020.2

笔者在刚安装完的 Android Studio 中使用 Lombok 时,发现 Lombok 不起作用。具体遇到的问题有两个:

  1. Lombok 的注解在 Android Studio 中报红。

  2. 本来应该由 Lombok 生成的方法在 Android Studio 中报红。

在 Gradle 中使用 Lombok 的注意事项

  1. Lombok 的这两个依赖关键字 implementation、annotationProcessor 同时不能少。

    • 如果缺少 implementation,则在 IDE 中会直接报红,编译和运行也会直接失败。

    • 如果缺少 annotationProcessor,则编译和运行会直接失败。

  2. Lombok 依赖不具有传递性,在每个使用它的模块都要注明对它的依赖(在依赖模块中对 Lombok 使用关键字 api 也没用)。

解决 Lombok 的注解在 Android Studio 中报红问题

先解决第一个问题。第一个问题是因为没有引入 Lombok 依赖。为此,需要在子项目的 build.gradle 文件中引入如下依赖:

  • build.gradle
dependencies {
    // Others...

    compileOnly 'org.projectlombok:lombok:1.18.26'
    annotationProcessor 'org.projectlombok:lombok:1.18.26'
}

这样就解决了注解报红的问题。


Lombok 官方解释:


解决本来应该由 Lombok 生成的方法在 Android Studio 中报红的问题

  解决完第一个问题之后,实际上 Lombok 就起作用了。例如,在 Android Studio 中使用 rebuild,就可以在子项目的 build 文件夹(子项目\build\intermediates\javac\debug\classes\)下看到 Lombok 生成的方法。

  但问题是,Android Studio 仍然对本来应该由 Lombok 生成的方法报红,这说明这是 IDE 自身的问题。实际上,在 IDE 中使用 Lombok 需要 Lombok 插件的支持。

  可以印证这一点。在 IntelliJ IDEA (IntelliJ IDEA 2022.3.1 (Ultimate Edition))中实际上已经内置了 Lombok 的插件。

在这里插入图片描述

  但 Android Studio 却把这个插件给移除了,且无法在 Android Studio 插件商店中搜索到这个插件。

在这里插入图片描述

  因此,需要自行安装 Lombok 的插件。Lombok 的插件地址:https://plugins.jetbrains.com/plugin/6317-lombok/versions

在这里插入图片描述

方法 1:手动调整 Lombok 压缩包的支持版本

  通常,最好下载一个插件的最新稳定版,但很遗憾,Lombok 的这个插件已经很久没有更新了。这带来的问题是,这个插件就算是下载下来,但由于 Android Studio 版本过高的原因,也无法在 Android Studio 中安装。但实际上这个插件是可以使用的。因此,需要手动更改下载下来的 Lombok 的这个插件所注明支持的版本。

  现在主流的压缩软件基本已经支持压缩包内替换了,所以不用担心解压之后再打包的问题。不过,这个插件的压缩包内还有压缩包,所以需要解压二次,替换二次。

在这里插入图片描述

在这里插入图片描述

  现在,经过两次解压,找到名为 plugin.xml 的文件。打开它,找到第 9 行 <idea-version../> 的位置。

在这里插入图片描述

  然后再根据自己 Android Studio 的版本号作相应修改。

在这里插入图片描述

  如图,需要同时修改 since-builduntil-build 属性。

在这里插入图片描述

  然后,经过两次替换即可制成符合 Android Studio 版本要求的 Lombok 插件。然后就可以在 Android Studio 中安装了。

在这里插入图片描述

在这里插入图片描述

方法 2:直接解压到 Android Studio 插件安装目录

  方法 1 的弊端就是每次安装新的 Android Studio 就要手动去 Lombok 压缩包内更改一次支持版本。这很麻烦,实际上,可以 Android Studio 的插件可以免在 Android Studio 运行界面中安装的。

  Android Studio 的插件目录实际上位于 Android Studio 安装目录\plugins 中。因此,可以直接解压 Lombok 的压缩包,然后将其直接拷贝到 Android Studio 插件目录中(不需要对压缩包内的文件作任何改动)。

  Lombok 压缩包解压之后会生成一个名为 lombok-plugin 的文件夹。直接把这个文件夹拷贝进 Android Studio 插件目录中即可。

  如下图所示。

在这里插入图片描述

  当然,如果觉得这个文件夹 lombok-plugin 的名称不好听,可以改成其它名称(如 lombok ),这不影响安装。

  这样做了之后,再启动 Android Studio,就可以发现该插件已经安装了。

在这里插入图片描述

  Lombok 插件安装完之后,重启 Android Studio,可以发现方法报错已经消失了。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值