以前我们的build.gradle配置,一般是以下这样的
build.gradle
现在build.gradle
plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
}
而仓库的配置挪到了settings.gradle中
pluginManagement {
repositories {
maven {
url uri('./repos') //指定本地maven的路径,在项目根目录下
}
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
maven {
allowInsecureProtocol = true
url 'http://maven.faceunity.com/repository/maven-public/'
}
}
}
rootProject.name = "ASMTest"
include ':app'
include ':Plugin'
如果是非https的仓库直接写则无法访问报错需要添加allowInsecureProtocol = true
如果你自定义了一些插件该怎么写
buildscript {
dependencies {
classpath 'com.gm.aab:myGradlePlugin:1.0.0'
}
}
plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
buildscript 必须在plugins之前否则
all buildscript {} blocks must appear before any plugins {} blocks in the script
然后是插件的ID从哪里来
ID
就是这个properties的文件名但是我不建议这么使用
建议使用
plugins {
id 'java-gradle-plugin'
}
gradlePlugin {
plugins {
simplePlugin {
//就是ID
id = 'com.gm.aab'
//实际的类
implementationClass = 'com.gm.aab.BPlugin'
}
}
}
此方式虽然两者等价 但是用插件避免不必要的错误 和明确清楚ID和类 节省不必要的代码
网友评论