将android工程中的某些部分打包成aar,提供给第三方使用

版权声明:本文为博主原创文章,未经博主允许不得转载,请尊重知识产权 https://blog.csdn.net/yishichangan1/article/details/78356920

jar包只能打包Java文件,但是如果你的功能模块中含有比较多的资源文件,图片、布局文件等就不能打包成aar的格式了。如果资源文件很少,打成jar包还是比较简便的。


1.无其他依赖的模块打包成单个aar文件

1.新建工程,并且新建一个Module。

这里写图片描述

选择Android Library->Next

这里写图片描述

填写任意名字,选择Finish

这里写图片描述

2.将要打包的文件都按照文件夹的位置放入你的Module中【注意查看你的包名以及引用的类名,导入过程中可能需要重新导入引用类,建议将import和package先删除,之后再Alt+Enter导入】

这里写图片描述

3.查看Manifest等清单文件是否有遗漏,若没有则点击Build->Build APK。此时将会在myLibrary->build->outputs->aar中找到生成的aar文件
这里写图片描述

2.有其他依赖项的Module打包成aar

2.1依赖中只有jar包

这个与一般的工程中导入第三方库的方式一样,导入成功以后,查看你需要打包的modulegradle文件就行了。如果成功导入gradle文件中dependency会出现compile'xxxx.jar'
然后根据上面编译apk的方法形成你的aar文件。

2.2依赖中含有aar包
需要使用一个文件fat-aar.gradle←详情可戳。
1.首先加入fat-aar.gradle文件,并且在Module的gradle的依赖,在与dependency同等级的地方加入

apply from:'fat-aar.gradle'
dependencies{
xxxxxxxxx
//如果是aar文件就用 name中只需要名字不需要后缀.aar
embedded(name:'xxxxx',ext:'aar')
//如果是jar文件就用  jar包所在的文件夹的名字/jar包名
compile 'lib/xxxx.jar'
}

然后build apk就行了

3.是否把jar包或者aar包打到新的aar包中

在module的gradle中的dependencies中 不需要打包的用provided编译,需要打包的用compile编译
有的时候如果把所有的依赖项都打包的话,加到新的工程中会出现重复依赖的错误,所以要对打包的依赖项进行判断

dependencies{
 //原有的aar文件不导入新的aar
 provided (name:'xxxx',ext:'aar')
 //原有的jar文件不导入新的aar
 provided 'lib/xxxx.jar'
}

猜你喜欢

转载自blog.csdn.net/yishichangan1/article/details/78356920