半年前,曾经有过要改进一下腾讯的多渠道打包插件的计划,后来实在是杂事繁忙,就搁下了。不过今天想起来一个相关的问题,那就是,即便我把它的代码改掉,又如何生效使用?寄希望于他们把我的代码合并后发新版,这个比较缥缈,最好是本地我能自己先用起来。How to? Cursor 说:
在 Android Studio 中使用本地 Gradle 插件有几种方法,我列出从简单到复杂的几种方案:
- 最简单的方式 – 在项目根目录下创建 buildSrc 目录:
|
// buildSrc/build.gradle plugins { id 'groovy' } repositories { mavenCentral() google() } dependencies { implementation gradleApi() implementation localGroovy() // 其他依赖... } |
然后将插件源码放在 buildSrc/src/main/groovy 目录下,Android Studio 会自动编译并使其可用。
-
创建本地 Maven 仓库:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// 在插件项目的 build.gradle 中 apply plugin: 'maven-publish' publishing { publications { maven(MavenPublication) { groupId = 'com.example' artifactId = 'your-plugin' version = '1.0.0' from components.java } } repositories { maven { url = uri("$rootProject.projectDir/repo") } } } // 在主项目的 build.gradle 中 buildscript { repositories { maven { url uri('./repo') } } dependencies { classpath 'com.example:your-plugin:1.0.0' } } |
-
直接包含插件项目:
|
// settings.gradle include ':app' include ':your-plugin' // build.gradle buildscript { dependencies { classpath project(':your-plugin') } } |
推荐使用第一种方式(buildSrc),因为:
- 设置最简单
- 自动编译
- 支持调试
- 与项目紧密集成
注意事项:
- buildSrc 目录需要遵循特定的目录结构
- 修改后需要重新同步项目
- 记得将原来的插件依赖移除
- 建议将修改的内容记录下来,以便将来合并官方更新
看了 Cursor 以上所说,其实老夫本人喜欢第二种。