自定义gradle插件踩坑记录

  • 使用Android studio创建本地maven仓库
  • 自定义gradle插件参考教程

踩坑记录:

  1. 按照教程做好了所有配置,但在apply插件的时候去找不到该插件id,认真检查好好久才发现是在创建resources/META-INF/gradle-plugins文件目录时,META-INF的横杆"-“写成了下划线”_"。

  2. 网上有些教程说创建module时,该module名称必须是buildSrc,实际操作发现没有这个限制,但在buildSrc创建的插件可以直接在其他module上apply,其他名字module创建的插件,需要发布到本地或远程maven上才可以。

  3. 在module中可使用Groovy、kotlin、java编写gradle插件,只要在当前module中apply相关的插件即可,比如我用的是kotlin,则可这样apply plugin: ‘kotlin’。

  4. 在配置好插件,发布到本地maven仓库后,在app模块module的build.gradle中apply使用该插件时,报了一个Unable to load class 'XXX.XXX’的错误。排查发现原来是自定义的gradle插件类上面遗漏了导入包名。

  5. 在自定义插件中通过project.extensions.create创建一些扩展参数,但apply时报了Cannot create a proxy class for final class ‘ApkDistExtension’.(ApkDistExtension是我本地一个类)。排查发现,扩展参数对应的类,需要在前面添加open参数。

你可能感兴趣的:(android插件,gradle)