赞
踩
提供具体的构建功能
提高代码的复用性
二进制插件
脚本插件
在工程项目下的build.gradle文件中
二进制插件
// Top-level build file where you can add configuration options common to all sub-projects/modules.
//声明插件ID与版本号
plugins {
id 'com.android.application' version '7.4.2' apply false
id 'com.android.library' version '7.4.2' apply false
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
id 'org.jetbrains.kotlin.jvm' version '1.8.20' apply false
}
应用插件
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
脚本插件,新建一个gradle脚本文件
在子过程中添加这个插件的关联
标记页面,收集页面,生成文档,注册映射,打开页面
配置
//引用groovy插件,编译插件工程中的代码
apply plugin: 'groovy'
//声明仓库的地址
repositories {
mavenCentral()
}
//声明依赖的包
dependencies{
implementation gradleApi()
implementation localGroovy()
}
手动创建这个目录
配置
app模块中测试一下
正确输出
类似下面这些就是参数配置
android { namespace 'com.qfh.common' compileSdk cfg.android.compileSdk defaultConfig { applicationId cfg.applicationId.app minSdk cfg.android.minSdk targetSdk cfg.android.targetSdk versionCode cfg.android.versionCode versionName cfg.android.versionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } }
定义Extension,注册Extension,使用Extension,获取Extension
新定义一个类
注册Extension,回调.
设置我们的参数,在上面的回调中就会获取到我们用户设置的参数值。
//调用maven插件,用于发布 apply plugin: 'maven-publish' publishing { repositories { maven { //设置发布路径为工程根目录下面的 repo文件夹 url = uri('../repo') } } publications { maven(MavenPublication) { //设置groupId,通常为包名 groupId = 'com.qfh.route' //设置artifactId,为当前插件的名称 artifactId = 'router-gradle-plugin' version = '1.0.0' } } }
copy一份buildSrc重新命名为插件的名称router-gradle-plugin,不能直接在buildSrc中发布插件。
在项目的根目录下注册这个拷贝后的子工程
双击publish就可以发布到本地仓库
最终多了一个文件夹目录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。