自己项目中需要打包一个aar,这个aar含有第三方依赖。生成aar后,导入主项目,结果报错,第三方的类找不到。。。。
aar生成时,包含有第三方依赖,比如第三方的OkGo;aar项目的gradle:
api ('com.lzy.net:okgo:3.0.4'){transitive=true}
项目引用aar时,报错 ClassNotFound异常,OkGo不能用。
解决办法:
需要上传aar,不管上传本地还是maven,就行了。
1、上传本地。在aar库的gradle里面配置下面这样的代码:
apply plugin: 'maven'
uploadArchives{
repositories.mavenDeployer{
// 本地仓库路径D:\WorkSpace
// repository(url: uri('../repository'))
repository(url:"file://D://WorkSpace/myaar/repository/")
// 唯一标识
pom.groupId = "com.my.test"
// 项目名称
pom.artifactId = "myaar"
// 版本号
pom.version = "1.0.0"
}
}
在Terminal里面运行命令:gradlew uploadArchives,成功之后会在相应目录下看到上传的aar文件。
然后再项目的gradle下配置repository,
buildscript {
repositories {
maven{
url 'file://D://WorkSpace/myaar/repository/'
}
}
}
allprojects {
repositories {
maven{
url 'file://D://WorkSpace/myaar/repository/'
}
}
设置好后,在app的gradle下添加依赖
implementation 'com.my.test:myaar:1.0.0'
编译运行,发现第三方OkGo可以在项目中使用了。。。OK
待续。。。