gradle创建工程

之前对gradle脚本不熟悉,最近因为工作需要才学一点点基础知识,不过也踩了一些坑,记录一下,网上其实很多文章写的很好,有时候我们根据某一篇文章然后实战的时候,还是会出现问题,这个时候就需要看怎么去解决了。

坑一

Unable to load class
这个问题找的时间最久,字面意思就是,我们在其他module使用我们的gradle工程时候,找不到我们自定义的groovy类。
可能出错的地方有:
1.包名要手动添加
没写对包名

2.properties文件里面的路径也要写对
在这里插入图片描述
3.我们的包名必须要写在groovy里面,我最开始就没这么写,结果就一直加载不到类
在这里插入图片描述
4.groovy文件直接调用java类
在这里插入图片描述
在这里插入图片描述
5.其他的就是正常创建了

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
}


apply plugin:'groovy'
apply plugin:'maven'


dependencies {
    implementation gradleApi() //必须
    implementation localGroovy() //必须
    //如果要使用android的API,需要引用这个,实现Transform的时候会用到
    implementation "com.android.tools.build:gradle:4.1.0"
}

repositories {
    google()
    jcenter()
    mavenCentral() //必须
}

def group='com.fred.asm' //组
def version='1.0.0' //版本
def artifactId='gradleDemo' //唯一标示


//将插件打包上传到本地maven仓库
uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = group
            pom.artifactId = artifactId
            pom.version = version
            //指定本地maven的路径,在项目根目录下
            repository(url: uri('../repos'))
        }
    }
}
//引入本地仓库
        maven {
            url uri('F:\\文件夹\\文件夹\\repos') //指定本地maven的路径,在项目根目录下,这里用的是绝对路径,也可以改成相对路径,参考文章里面有
        }
        //引入本地仓库中的插件依赖
        classpath 'com.fred.asm:gradleDemo:1.0.0'
// 其他模块使用
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'com.fred.asm'
}
// 这样引用
implementation 'com.fred.asm:gradleDemo:1.0.0'

参考链接

Gradle如何创建插件
Gradle自定义插件
Android自定义Gradle插件的3种方式
gradle创建插件遇到的坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值