生成、导出aar
-
在项目中File-New-New Module-Android Library-Next,如下图 -
到此会在你的项目中,生成一个Library,如下图 -
在生成的Library的项目中开发,开完完成,运行assamble,生成aar,如下图 -
到此生成了aar包,导出即可
工程引用aar
-
把上一步导出的aar引入到需要引用的项目中,一般放在app/libs文件夹中,在app/build.gradle中配置参数,如下图 -
在app的build.gradle文件添加如下内容 apply plugin: 'com.android.application'
android {
xxxx
}
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
dependencies {
implementation(name: 'mylibrary-release', ext: 'aar')
}
-
Rebuild运行成功,直接引用即可,到此完成aar的生成、导出、引用。
引用aar时找不到arr的远程依赖库问题
问题描述:
如上述,在library中引入第三方依赖(如下图), 编译生成aar,但是在引入的项目中编译运行时报错: Caused by: java.lang.ClassNotFoundException:(如下图)
解决办法:
-
在引入aar的项目中的app/build.gradle添加找不到的第三方依赖,重新编译成功。 -
需要上传aar,不管上传本地还是maven
- 生成aar目录, 具体参考在GitHub发布项目供依赖引用 - 简书,详细描述。
- 在需要的引入的项目的根build.gradle和app/build.gradle添加配置参数,重新编译成功。
根build.gradle buildscript {
repositories {
maven{
url 'xxxx'//本地路径或者远程仓库路径
//file://D://WorkSpace/myaar/repository/
}
}
}
allprojects {
repositories {
maven{
url 'xxxx'//本地路径或者远程仓库路径
//file://D://WorkSpace/myaar/repository/
}
}
}
app/build.gradle android {
xxxx......
}
dependencies {
implementation 'xxx'//远程依赖名称和版本号
//com.my.test:myaar:1.0.0
}
|