在Android开发中有时我们需要开发一些自定义的插件,标准流程网上都有,按照网上开发后发现出现一个问题
结构如下:
build.gradle 如下:
apply plugin: 'groovy'
apply plugin: 'maven'
dependencies {
implementation gradleApi()
implementation localGroovy()
implementation 'com.android.tools.build:gradle:3.4.0'
implementation 'org.javassist:javassist:3.20.0-GA'
}
repositories {
mavenCentral()
jcenter()
}
group='com.test.log'
version='1.0.2'
//打包到本地或者远程Maven库
uploadArchives {
repositories {
mavenDeployer {
repository(url: uri('../repo'))
}
}
}根目录中build.gradle中也已配置路径
app中使用的apply plugin: 'com.test.log',其中‘com.test.log’与plugin中com.test.log.properties里.properties前面部分相同
发现无法使用报上面的错误。
一开始发现plugin中resouces中META-INF.gradle-plugins写成了META_INF.gradle-plugins,修改后发现还是会报错误 Plugin with id 'com.test.log' not found,网上查找后均找不到结果
最后反复测试发现了问题所在,在创建META-INF.gradle-plugins不能直接创建一个directory命名为META-INF.gradle-plugins,如果是直接创建的会当成一个package,需要先创建一个directory为META-INF再创建gradle-plugins,将AndroidStudio中的middle package关闭可看到区别。
可以看到差别如下

现删除repo仓库,重新创建META-INF和gradle-plugins后可以正常使用。
0条评论